Extreme Programming User Stories
Various software development methodologies use various means to set goals of their projects and formulate clear vision of products they need to create. Traditional software development methods usually use strict documentation to achieve this goal. In Agile methodologies this issue is solved through user stories. In this article we will tell you about Extreme Programming user stories.
As we know, Extreme Programming is an Agile methodology. That is why it uses user stories instead of strict documentation of the customer’s demands. But what a user story actually is? There is no unified answer to this question in software development. The definition of user stories may differ significantly from one methodology to another.
In Extreme Programming user stories are initial demands of the customer. Sometimes the client may write them himself. In other cases he just gathers the opinions of final users. Regardless of their origin, user stories always have similar form. Many web resources publish extreme programming user stories examples and templates, so you can find them on the Internet.
A typical XP user story is a short description (usually in two or three sentences) of a certain function of the future product. These stories do not provide enough information to turn them into project tasks. In Extreme Programming they are used to create release plans.
A release plan is a document that contains user stories and defines the amounts of time required to add the necessary functions to the product. For example, the developers can estimate the time needed to add the functionality of one user story as one week. It means that a typical iteration is enough to provide the product the function from the user story. Additionally, the release plan contains the approximate terms when certain user stories will be run into work. Most Extreme Programming developers say that a good release plan must contain about 80 user stories.
As the user story is ready to processing, it should be detailed. The team conducts a meeting with the customer to get detailed explanation on the functionality described in the user story.
After that the XP team formulates a new task and begins to perform it. In Extreme Programming it is very important to subdivide all tasks in user stories and technical aspects of the future software. The users and the customer are not professional software developers, so they cannot describe technical features of the future product. It means that the programmers should pay great attention to them while writing the code.
Extreme Programming uses user stories as criteria of product acceptance. That is why XP developers often write tests based on them. Extreme Programming stories are perfect basics for tests, because they are brief and characterize the most important features of the final product. In XP the tests are usually written before the creation of the product’s code begins. Such approach to software development is aimed at saving time and meeting the terms of the project.