Extreme Programming 101: XP Project Stages
Extreme Programming methodology is one of the Agile software development methods. Currently, it is very popular among large and small companies all over the world. This article will tell you about the main features of XP methodology.
Before describing the Extreme Programming methodology phases we should give the general definition for this popular Agile method of software development.
Generally, Extreme Programming can be described as a method of software development that is designed to deliver high-quality products to customers within the shortest amount of time. All principles, practices, and phases of XP were invented to achieve this goal.
Unlike other Agile methods of software development, Extreme Programming is focused on the implementation of new engineering techniques in its working process. That is because of the time limits that usually take place in XP projects.
Extreme Programming is also a customer-oriented methodology. Like in other Agile methods of software development, in XP the client is the main person who estimates the work of the team. However, the range of customer involvement in the Extreme Programming projects is even greater than in other Agile methodologies. That is because of the need to meet the strict terms of the project.
An XP team usually has no time to fix bugs after the final product is ready. That is why it should fix or prevent them during the workflow. Close communication with the customer is the best means to achieve this goal. In Extreme Programming, there are no intermediaries between the client and the team. All stakeholders take part in project planning and discussing meetings to avoid failures in its realization.
Every XP project has a number of phases that lead it from the beginning till its completion:
1. The initial stage
At this stage, the customer formulates his requirements to the final product. He must gather the user stories and prioritize them to know exactly what he needs. After that, he must set the term of project performance. Usually, all XP projects have quite short terms. That is one of the reasons for the name of this software development method.
2. The stage of planning
The process of planning in Extreme Programming projects is usually conducted during a special Planning Game. It is actually a meeting where the customer announces all his requirements to the final product and prioritizes them. After that, the XP team estimates them in accordance with the time and cost criteria.
3. The stage of performing
After the plan of the project is ready, the team starts to perform it. Usually, teams of Extreme Programming developers work in short iterative cycles. Each cycle is dedicated to a certain part of the final product. Such distances may last from 1 to 2 weeks. The intermediate result is provided to the customer after each cycle. The plan of the cycle may be changed according to the customer’s wishes.
4. The final stage
After all the cycles are finished and all the parts of the product are tested, it is provided to the customer. If he is satisfied, the XP project comes to its end.