Author Box
Articles Categories
All Categories
Articles Resources

User Stories in Agile Software Development

April 13, 2012 | Comments: 0 | Views: 88

Agile is a software development methodology in which the process of development occurs through short increments. The phases of development occur continuously in iterative cycles involving creating requirements, design and implementation, testing and reporting. After each iteration, the team members meet to discuss the past iteration and the next phase of the project. The product owner, customers and the development team create requirements for the end product through the use of user stories. User stories are short descriptions of application functionality from the perspective of the user. A collection of user requirements are stored in the product backlog, to be developed as the project continues. The product owner or the business analyst determines which requirements from the product backlog the team will work on during each iteration. Those stories are then moved to the Sprint Backlog, to be used for that sprint. The user stories follow the general pattern of:

I, role, want to be able to, functionality, so I can, reason.

An example would be, "I, as a student, want to be able to pay tuition online so I can register for classes." In traditional development methodologies, a requirements document is usually developed first and lists all requirements the team will work on until the project is complete. In Agile development, there is no large requirements document because the specifications of the project can change easily as the technology changes or new ideas are presented.

The user stories are very simple so that designers can develop portions of the project in short iterations. During the meetings, before an iteration begins, the team can discuss in more detail the specifications of the story and expand on the original idea. The team does not need to develop every user story presented, but they are a starting point of understanding what the customer needs.

Once user stories are written, the team, including the product owner, assigns a priority and approximate develop time. If one story will take more time than a single iteration, it can be broken down into multiple requirements. As with all agile projects, if the team decides later on that a requirement is not needed, it does not have to be turned into functionality in the system. Also, the team can write new requirements as they become apparent.

There are many benefits to using user stories over a more traditional requirements document, including:

1. User stories are easy and fast to write. Not a lot of time or money is invested in writing them; therefore, if they are changed or never used, the team has not lost a lot in developing them.

2. User stories are ideally written by the "user" and therefore allow the product owner and development team to spend time with the user and better understand the functionality that they want; not just at the beginning of the project, but throughout. Also, the development team and product owner can write them and they are forced to but themselves in the customer's position, enabling a better understanding of what the end product needs to accomplish.

3. The user stories are simple enough that an outsourced team would easily be able to understand the end functionality. Even with language barriers and miscommunications, an outsourced development team can still understand the basic functionality the system requires.

4. The user story allows for the development team to be creative in designing the product. It gives a very basic outline of a needed functionality of the system but does not force the development team into specifics that may not work with all parts of the system.

The user story is a very useful tool in agile software development. It is a starting point for discussing requirements; however, they can cause disagreements among team members about how to fill in the gaps of the story. It is important to have a product owner, customer or business analyst to clarify and resolve specific issues that may arise with the ambiguous nature of the stories.

Overall though, user stories offer a fast and efficient way to develop requirements in agile software development methodology.

Source: EzineArticles
Was this Helpful ?

Rate this Article

Article Tags:

User Stories


Software Development


Agile Software Development


Agile Software





Teenage rebellion is easier to tolerate in book or film form. Take a look back at some of the most well known and loved "coming of age" stories set in boarding schools.

By: Harvey McEwan l Arts & Entertainment l July 10, 2012 lViews: 445

An important thing you have to consider before working out is having a pair of great training shoes. You cannot immediately undergo any physical training wearing inappropriate footwear. If you do so,

By: Steve Hill l Recreation & Sports l July 10, 2012 lViews: 349

Granite is one natural stone that is used for several purposes from dimension stone to countertops to sculptures. The use of granite for building the temples and monuments was initiated millions

By: Steve L Patterson l Arts & Entertainment l July 10, 2012 lViews: 298

Up to 65,000 H-1B visas for new employment may be issued each fiscal year (FY) for professional workers, including medical providers. In general, a person who already has an H-1B and applies for

By: Ann Badmus l Arts & Entertainment l July 10, 2012 lViews: 309

Beside coin shooting, gold detecting or the many other things you can do with your metal detector. There is a large group of people who take their metal detector out looking for old stuff. Not just

By: Candy L Lindsey l Recreation & Sports l July 07, 2012 lViews: 293

Many people want to be writers and you may be one of them. In order to make your dream occupation a reality, you need to have a plan. You also need to work on this plan constantly. These tips from a

By: Harriet Hodgson l Writing & Speaking l July 06, 2012 lViews: 440

Have you ever needed portable power in a hurry? Temporary rental generators can help produce the power you need.

By: Todd Deall Computers & Technologyl June 06, 2012 lViews: 139

Technological expertise and talent are extremely valuable to many areas of modern industry. Hiring for this kind of skill often requires a special agency to match applicants with the right companies.

By: Jessica Lanel Computers & Technologyl June 06, 2012 lViews: 129

Computer issues can be tricky. Sometimes they can just happen without any warning. Issues may arise due to a power surge, a hardware failure, a virus, etc.

By: Daniel C Zical Computers & Technologyl June 05, 2012 lViews: 138

Information Technology is indeed one of the most fascinating and promising industries across the world. The rapid growth of this field is as a result of the roles played by the software development

By: Walt Generes Soltl Computers & Technologyl June 03, 2012 lViews: 155

CRM Customer Relationship Management plays an important part of any business and organization. With automation of every aspect of a business organization CRM is being automated too.

By: Neetu Jawlel Computers & Technologyl June 03, 2012 lViews: 163

Payroll Software is the most efficient and effective means of managing the financial accounts of an organization. The Payroll Software is basically a tool which handles, salary, bonuses, rewards,

By: Neetu Jawlel Computers & Technologyl June 03, 2012 lViews: 143

Discuss this Article

comments powered by Disqus