BT
x Your opinion matters! Please fill in the InfoQ Survey about your reading habits!

How To Split User Stories

by Dan Puckett on Apr 18, 2011 |

Many new Agile teams have difficulty splitting their user stories small enough to work well with Agile techniques. In several articles, members of the Agile community provide guidance on how to split user stories effectively.

Are there general guidelines we can follow when trying to split larger user stories into smaller ones? Rachel Davies recommends slicing each user story so as to produce software that:

  1. works
  2. delivers value
  3. can potentially generate user feedback

Richard Lawrence provides these techniques he has found useful for splitting large user stories:

  1. Divide a story into the workflow steps involved—perhaps putting a simple end-to-end case as one story, then having other steps in the workflow as their own separate stories.
  2. Divide a story so each variation in business rules is its own story.
  3. Divide a story into "implement the first [X]" and "implement the rest of the [X]s". This can be applied when the effort involved in implementing the first [X] will be much larger than the effort of implementing any of the subsequent [X]s.
  4. When faced with a complex story, split off the simplest version of the story as a separate story.
  5. Divide a story by the types of data it manipulates.
  6. Divide a story by differentiating between a simple data entry method and a more complex one.
  7. Shift performance considerations out of the current story into one or more new stories.
  8. Divide a story along create-read-update-delete (CRUD) boundaries.
  9. As a last resort, create a spike story to figure out how to implement the feature.

Rachel Davies provides more detail around how to split stories with regards to input/output data:

  • You can make a story per input screen.
  • You can make a story per enabled elements of an input screen.
  • You can make a simple (not pretty) UI.
  • You can make a command line interface.

In addition, Bob Hartman provides these techniques for splitting stories:

  • In a story that involves multiple personas, divide it by persona.
  • Divide a story so that the more-risky parts are separated from the less-risky parts.
  • Divide a story to maximize the number of developers that can work on each story.
  • Divide a story to help with testing.

What ways of splitting user stories have you found to be most useful?

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Does this get too fragmented? by Tormod Varhaugvik

My worry is that requirements are long lasting. The development itsef is often less than 10% of the lifetime costs.
What about maintenance for the last 90%?
My comment at : tormodv.blogspot.com/2011/04/requirements-are-l...

The simplest way to split user stories by George Dinwiddie

blog.gdinwiddie.com/2011/05/01/splitting-user-s...

Also listed there are some pointers to a few of the classic articles on splitting stories.

Acronyms supporting splitting by Thomas Karlsson

Good post, it's interesting to get a collection of techniques on this challenging topic!
On top of what's already been mentioned I recommend Bill Wake's INVEST acronym:
xp123.com/articles/invest-in-good-stories-and-s...

That is really helpful for slicing functionality. For situations when this is not enough I have created an additional acronym which might be helpful, Splitting User Stories using SOUND advice:
agile-management.com/wordpress/splitting-user-s...

Re: Acronyms supporting splitting by paulo caroli

Great post!
Here I give a sample and links on splitting CRUD stories
agiletips.blogspot.com/2010/11/splitting-crud-s...

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

6 Discuss

Educational Content

General Feedback
Bugs
Advertising
Editorial
InfoQ.com and all content copyright © 2006-2014 C4Media Inc. InfoQ.com hosted at Contegix, the best ISP we've ever worked with.
Privacy policy
BT