What is Extreme Programming ?

<b>Extreme Programming</b> <blockquote> Ensure customer satisfaction with Development model Extreme Programming</blockquote>

Extreme Programming (XP) 

A software development methodology which helps improve software quality and responsiveness to changing customer requirements.

Being a part of agile software development, it promotes frequent releases .Development cycles which are very short, sometimes 2 weeks, intends to improve productivity and customer satisfaction at the same time.

 Pair Programming 

Work items are produced by pairs of individuals working together. Pairs change frequently whilst the responsibility stays with the owner.Programming in pairs or doing extensive code review, unit testing of all code.

A flat management structure, simplicity and clarity in code, expecting changes in the customer's requirements as time passes and the problem is better understood, and frequent communication with the customer, programmers and testers leads to a value for money to the customer.

Test Driven Development 

TDD marks this methodology in a way that, test cases and test cases are written before the coding begins.

Continuous Integration is an integral part of this methodology. The whole system is built and tested end-to-end several times a day. While new tests are made should pass, no previously passing tests are allowed to break. System must be in a deployable state all times.