In this model, requirements are progressively exposed throughout the project and small releases of fully tested software are made iteratively. New features are handled through progressive refactoring (improving the design of existing code) and continuous integration.
xP teams are formed around a "Customer" member, who is a business representative that sits and works with the team daily (ideally this member is also the end user of the software product). The "Customer" is essential at specifying the business values at each iteration as well as defining automated acceptance tests that would show a feature is working.
xP "obsesses" at keeping the design simple and keeping tests updated to (literally) a 100% coverage. To facilitate continuous integration, high coding standards are observed through pair programming, frequent code reviews, and collective ownership.
Contrary to FDD, this model is designed to accommodate last-minute changes in requirements and environment. However, unlike FDD, it is vulnerable to running into a change that would require major revamping of the development. Thus the importance to continuously make sure the design is at its best (easy to revamp), tests coverage is at its best (100%), code standards followed, and so on.
The following is a picture showing the core practices utilized in xPmainpic1 they are commonly known and grouped:
Go back to SDLC Process