Life Cycle of Extreme Programming
Each software development methodology has its own life cycle. In some methods it is more complex; others contain just a few stages. However, it is impossible to understand a software development methodology without learning its life cycle. In this article we will tell you about the life cycle of Extreme Programming, but before doing that it is necessary to give the proper definition for XP.
Extreme programming is a popular Agile methodology of software development. It was designed especially to deliver the largest amounts of code within the shortest amounts of time. Extreme Programming developers are always placed in strict time frames. That is why this methodology has the highest degree of customer involvement among other Agile methods. The customer participates at all stages of work of the XP team personally. He is not just a stakeholder, but a part of the team. Extreme Programming also has the shortest iterative cycles compared to other Agile methodologies. That is why XP developers should use lots of effective practices to raise the productivity of their work and deliver the final product in time.
Extreme Programming life cycle is the time required to perform a typical XP project. It begins at the stage of planning and ends when the final product is delivered to the customer. As we have already mentioned, XP is an Agile methodology. It means that it is based on the principle of iterative cycles. Hence, Extreme Programming life cycle model is also iterative. It repeats several times during a project until the final product is done.
Most specialists define five stages of XP software development life cycle. Let’s look at them in greater detail.
This is the first stage of the Extreme Programming development life cycle. Its main task is to set goals of the entire project and certain iterative cycles. At this stage the team meets with the customer and asks him on all aspects of the future software. The customer formulates his vision of the product is user stories. The developers estimate and prioritize them in the release plan. After that the work on turning them into tasks begins.
At this stage of the project the team must define the main features of the future code. The main thing is to create a simple design, because simplicity is one of the main principles of XP methodology. Extreme Programming developers often share responsibilities at the stage of designing. Each developer is responsible for the design of a certain part of the code.
Extreme Programming developers believe that a good code must be simple. That is why they refactor it constantly. The procedure of refactoring allows them to simplify the code or its parts without affecting the functionality of the final product.
In Extreme Programming the procedure of testing is usually conducted not after the final or intermediate product is done, but along with the procedure of code writing.
At the final stage of the life cycle the XP team must get a feedback from the customer. He is the only person who estimates the final and intermediate products.