Home > Ask the Software Quality Experts > Software Process Models and Methodologies Questions & Answers > The role of user stories in agile software development
Ask The Software Quality Expert: Questions & Answers
EMAIL THIS

The role of user stories in agile software development

David Christiansen EXPERT RESPONSE FROM: David Christiansen

Pose a Question
Other Software Quality Categories
Meet all Software Quality Experts
Become an Expert for this site


Software quality news and advice
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


>
QUESTION POSED ON: 18 November 2008
When using agile software development, how are the software requirements, user stories, and product backlogs linked to maintain traceability, considering the product management, client as the stakeholders, and development team responsible for the deliverable?

>
More about agile requirements gathering:
Agile aims to bridge software requirements communications gap

Agile development and software requirements documentation

Approaches to defining requirements within Agile teams
Let me first say I believe the value of traceability in determining coverage or application quality is widely overstated. It's only one facet of a difficult problem, figuring out how much testing needs to be done to make sure an application is good enough. I'm also not very interested in traceability as a tool for facilitating the "blame game" after a failed effort. I've seen too many people use it as a way of avoiding fixing problems by making the argument that a defect is a "missed requirement," not a real defect. I hate that game and don't like to see it played.

Anyway, on to your question: I'm a little confused by your inclusion of "requirements" in your list of agile artifacts because, in essence, all the other stuff you listed are the software requirements. So, it's not a situation where you have requirements and all that other stuff. You just have all that other stuff (for the most part). Occasionally, you might have a need to attach a detailed document to a user story, but that is the exception, not the rule. Getting rid of detailed requirements documents and the confusion, overhead, and hand-offs that go with them is one of the points of using user stories.

Traceability from the work backlog to user stories is usually pretty easy to do. A work backlog is a list of features/capabilities that will be built, and user stories are almost always tied to one of the items in the backlog. Generally speaking, you shouldn't write user stories that don't tie back to an item in the backlog. The main exception might be if you decide to use user stories to track things such as performance testing.

It's also important to understand that user acceptance tests are an important part of user stories. Every story should have an appropriate number of acceptance tests. This captures not only some of the details left out of the story, but also details of how to verify the feature is developed correctly. Since these acceptance tests are part of the user story, it's pretty easy to trace in both directions -- from the product backlog to the acceptance tests and from the acceptance tests to the backlog.

There's one last point I'd like to make. One of the most important agile values is "Working software over comprehensive documentation". The user-story approach is based on this value -- it's not trying to deliver a perfectly documented software project. If you find the user story approach too "loosey goosey" for your tastes, I suggest you spend some time thinking about this value and how it plays out in your practices.

For more information about user stories, I recommend the book "User Stories Applied: For Agile Development" by Mike Cohn and Kent Beck.


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google



RELATED CONTENT
Software Process Models and Methodologies
Differentiating between Functional and Nonfunctional Requirements
Where does quality assurance fit in agile development?
Agile software development: Proving the benefits
Agile development across continents
How long should an iteration be?
Is iterative development a new process?

Agile software development
Agility and automation mark new application development and QA tools
Free tools for Agile testers
How to deal with iteration issues in Agile
Flexibility and teamwork proven traits of Agile team maturity
How to stop developer vs. tester, quality-killing blame game
Using Agile, scaling back helps software projects in recession
How to improve software user acceptance testing practices
How testers can handle switching to Agile's short iterations
Testers debate differences between waterfall, Agile test automation
Tasktop brings task management into the application lifecycle

Software requirements techniques (Prototyping, Storyboards, Modeling, State transitions)
Requirements practices evolving, but organizations still struggle
Why business analysts are application development key players today
Defining report requirements with use cases
When it comes to requirements, what is 'just enough'?
How requirements use cases facilitate the SDLC
GatherSpace beefs up cloud-based requirements management
Software development life cycle phases, iterations, explained step by step
How to deliver, implement testable software requirements
Excelling in the art and science of requirements elicitation
Software requirements: Moving beyond use cases

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
acceptance test  (SearchSoftwareQuality.com)
iteration  (SearchSoftwareQuality.com)
planning board  (SearchSoftwareQuality.com)
planning game  (SearchSoftwareQuality.com)
release  (SearchSoftwareQuality.com)
release plan  (SearchSoftwareQuality.com)
spike  (SearchSoftwareQuality.com)
stand-up  (SearchSoftwareQuality.com)
story  (SearchSoftwareQuality.com)
timebox  (SearchSoftwareQuality.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary



Search and Browse the Expert Answer Center
Search and browse more than 25,000 question and answer pairs from more than 250 TechTarget industry experts.
Browse our Expert Advice



Software Quality - Software Maintenance, Software Requirements, Software Standards
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2006 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts