This document provides 10 tips for breaking up user stories that are too difficult, complex, expensive, or have too many dependencies. The tips recommend splitting stories by focusing on a thin slice of workflow, separating operations, doing the simplest version first, handling a single user, just making it work initially, using a subset of rules, handling one data source, and doing necessary research before taking action. References to additional resources on splitting user stories are also provided.
29. Break Up Tip #1
This story is ... Difficulty
too Complex
Does the story describe a Consideration
workflow?
Take a thin slice through the Opportunity
workflow and enhance it later
34. Break Up Tip #2
This story is ... Difficulty
too Complex
Does the story include Consideration
multiple operations?
Separate the operations into Opportunity
separate stories
37. Break Up Tip #3
This story is ... Difficulty
too Complex
Does this story have a simple
core that provides most of Consideration
the value?
Split the story to do the Opportunity
simplest option first
and enhance it later
41. Break Up Tip #4
This story is ... Difficulty
too Complex
Does this story have a Consideration
Complex User Interface?
Split the story to do a simple Opportunity
UI first and enhance later
47. Key Takeaways...
Break Up Tip
#1
Break Up Tip
Take a thin slice #2
through the
workflow and Separate the
enhance it later operations into
separate stories
48. Key Takeaways... Break Up Tip
#3
Do the simple
version first and
enhance it later
Break Up Tip
#1
Break Up Tip
Take a thin slice #2
through the
workflow and Separate the
enhance it later operations into
separate stories
49. Key Takeaways... Break Up Tip
#3
Do the simple
version first and
enhance it later
Break Up Tip
#1
Break Up Tip
Take a thin slice #2
through the
workflow and Separate the Break Up Tip
enhance it later operations into #4
separate stories
Do a simple UI
first and enhance
later
50. Break Up Tip #5
This story is ... Difficulty
too Expensive
Does this story refer to
multiple users doing similar Consideration
things at the same time?
Split the story to handle Opportunity
single user first and
enhance it later
53. Break Up Tip #6
This story is ... Difficulty
too Expensive
Does this story become
expensive due to non- Consideration
functional requirements?
Split the story to just make it Opportunity
work first and enhance it
later
54. If you can’t fly, Run.
If you can’t run, Walk.
If you can’t walk, Crawl.
But, by all means keep moving.
- Dr. Martin Luther King, Jr.
56. Break Up Tip #7
This story is ... Difficulty
too Expensive
Does this story have a major
effort regardless of how it is Consideration
split?
Split the story so that most of Opportunity
the value comes from the
first split
63. Key Takeaways...
Break Up Tip
#5
Break Up Tip
Handle single user #6
first and enhance
it later Just make
it work first and
enhance it later
64. Key Takeaways...
Break Up Tip
#5 Break Up Tip
Break Up Tip #7
Handle single user #6
first and enhance Split the story so
it later Just make that most of the
it work first and value comes from
enhance it later the first split
65. Break Up Tip #8
This story has ... Difficulty
too many dependencies
Does this story have a variety Consideration
of business logic?
Split the story to do a subset Opportunity
of rules first, and enhance it
later
69. Break Up Tip #9
This story has ... Difficulty
too many dependencies
Does this story refer to data Consideration
from multiple sources?
Split the story to handle data Opportunity
from one source first
and enhance later
73. Break Up Tip #10
This story has ... Difficulty
too many dependencies
Does this story need any
investigation prior to being Consideration
started?
Split the story so that the Opportunity
research is done first,
with action later
77. Key Takeaways...
Break Up Tip
#8
Break Up Tip
Do a subset of #9
rules first, and
enhance it later Handle data from
one interface first
and enhance later
78. Key Takeaways...
Break Up Tip
#8 Break Up Tip
Break Up Tip #10
Do a subset of #9
rules first, and Do the research
enhance it later Handle data from first, with action
one interface first later
and enhance later
79. References
• http://www.richardlawrence.info/2009/10/28/patterns-for-splitting-user-
stories
• http://www.mountaingoatsoftware.com/topics/user-stories
• http://www.agileforall.com/2010/05/03/new-to-agile-remember-a-user-
story-is-more-than-a-card
• http://xprogramming.com/articles/expcardconversationconfirmation
• http://xp123.com/articles/invest-in-good-stories-and-smart-tasks
• Cohn, Mike. 2004. User Stories Applied: For Agile Software Development.
Boston, MA: Addison-Wesley.
• Jeffries, Ron. 2001, August. “Essential XP: Card, Conversation, and
Confirmation.” XP Magazine.
• All images collected through Google