An Agile software development methodology that emphasizes customer involvement, transparency, testing, and frequent delivery of working software.
The Extreme Programming canon includes a Customer Bill of Rights and a Developer Bill of Rights. Its core values are communication, simplicity, feedback, courage, and respect. XP is a developer-centric methodology. Unlike scrum, it prescribes specific coding practices like pair programming in which two developers work side by side at a single machine, automated unit testing, and frequent integration. Another key practice in XP is refactoring, or the continual internally-visible improvement of design and code.
The basic advantage of XP is that the whole process is visible and accountable. The developers make concrete commitments about what they will accomplish, show concrete progress in the form of deployable software, and when a milestone is reached they will describe exactly what they did and how and why that differed from the plan. This allows business-oriented people to make their own business commitments with confidence, to take advantage of opportunities as they arise, and to eliminate dead-ends quickly and cheaply. — Kent Beck
Background of the term
In 1996, Chrysler’s visionary CIO, Sue Unger, gave Kent Beck free rein to form a team to tackle the Chrysler Comprehensive Compensation payroll project. During this project Beck along with Ron Jeffries, Ward Cunningham, and Martin Fowler promoted and further developed the practices of what Beck called extreme programming.
Agile Alliance | Glossary | Extreme Programming (XP)
Extreme Programming for Beginners made Easy – Roles & Practices
Extreme Programming Explained: Embrace Change, 2nd edition. Kent Beck & Cynthia Andres.