XP is the acronym for Extreme Programming, an approach to software engineering that is based on the idea of short iteration cycles. Iterations are based on use cases (stories that describe the way in which a software system will be used). At the end of each iteration, the system should be in a working state. Subsequent iterations add more functionality, but, in theory, the software is deliverable to the customer at the end of any iteration.

Other tenents of XP include pair programming, unit testing, and a high level of customer feedback.