How To Split User Stories

| by Dan Puckett Follow 1 Followers on Apr 18, 2011. Estimated reading time: 1 minute |

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?

Rate this Article

Adoption Stage

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

Vertical Slices by Theron James

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 :

The simplest way to split user stories by George Dinwiddie

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

More Story Splitting articles by Mark Levison

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:

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:

Re: Acronyms supporting splitting by paulo caroli

Great post!
Here I give a sample and links on splitting CRUD stories

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

Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you