Extreme Programming

Extreme Programming, usually abbreviated XP, is an agile software development framework. The Agile Alliance glossary describes it as a framework that “aims to produce higher quality software and higher quality of life for the development team.” It was created by Kent Beck, who brought the approach into focus in the mid-1990s on the Chrysler Comprehensive Compensation project.

The name reflects the core idea: take practices that are known to be good and apply them to an extreme degree. If code review is good, review continuously through pair programming. If testing is good, test constantly and write the tests first. If integration is good, integrate many times a day rather than once at the end.

XP bundles a set of mutually reinforcing practices, including test-first development, pair programming, continuous integration, small frequent releases, and ongoing refactoring. These practices are held together by short feedback loops and close, day-to-day involvement from the customer who decides what is built next.

The methodology was central to the broader agile movement, and Kent Beck, who codified XP in “Extreme Programming Explained,” was among the authors of the Agile Manifesto. Several XP practices, such as continuous integration and test-driven development, have since spread well beyond teams that call themselves “XP.”