XP stands for Extreme Programming. Extreme Programming is a software process based of the agile process. There is a lot of information to be found on XP. All the success stories and a lot forums discussing the problems with XP. Within the blog we discuss a book that takes the complete XP process under the looking glass. Extreme programming refactored shows the good parts of XP as well as the bad parts. On this page I do not intend to give a thorough discussion about XP, I want to give you a short introduction and point you to other resources for more readings.
A lot of resources are taken from the mentioned book Extreme programming refactored by Matt Stevens and Doug Rosenberg and the websites http://www.extremeprogramming.org and http://www.xprogramming.com/.
The father of XP, Kent Beck, tells us that there is no wright process for them all. XP is a process based on the agile methods, and consists of a number of Rules and Practices. It is up to you to customize these for your own project.
The following is from the website xprogramming:
- In Extreme Programming, every contributor to the project is an integral part of the "Whole Team". The team forms around a business representative called "the Customer", who sits with the team and works with them daily. (Core Practices: Whole Team)
- Extreme Programming teams use a simple form of planning and tracking to decide what should be done next and to predict when the project will be done. Focused on business value, the team produces the software in a series of small fully-integrated releases that pass all the tests the Customer has defined.(Core Practices: Planning Game, Small Releases, Customer Tests)
- Extreme Programmers work together in pairs and as a group, with simple design and obsessively tested code, improving the design continually to keep it always just right for the current needs.(Core Practices: Simple Design, Pair Programming, Test-Driven Development, Design Improvement)
- The Extreme Programming team keeps the system integrated and running all the time. The programmers write all production code in pairs, and all work together all the time. They code in a consistent style so that everyone can understand and improve all the code as needed.(Core Practices: Continuous Integration, Collective Code Ownership, Coding Standard)
- The Extreme Programming team shares a common and simple picture of what the system looks like. Everyone works at a pace that can be sustained indefinitely.(Core Practices: Metaphor, Sustainable Pace)
In the remainder of this page I will use the mentioned book and some webresources to discuss these Core Practices.
One of the important parts of Extreme porgramming is the PlanningExtremeProgramming.