More Related Content
Similar to How to Split a Large User Story into Smaller Ones
Similar to How to Split a Large User Story into Smaller Ones (20)
How to Split a Large User Story into Smaller Ones
- 1. Last updated 2/21/2018
Visit http://www.richardlawrence.info/splitting-user-stories/ for more info on the story splitting patterns
Copyright © 2011-2018 Agile For All. All rights reserved.
www.agileforall.com
HOW TO SPLIT A USER STORY
PREPARE THE
INPUT STORY
APPLY THE
SPLITTING
PATTERNS
WORKFLOW STEPS
OPERATIONS
BUSINESS RULE
VARIATIONS
INTERFACE
VARIATIONS
VARIATIONS
IN DATA
SIMPLE/COMPLEX
DEFER
PERFORMANCE
BREAK OUT A SPIKE
MAJOR EFFORT
EVALUATE
THE SPLIT
Does the big story satisfy
INVEST* (except, perhaps, small)?
Are the new stories
roughly equal in size?
Does the story describe
a workflow?
Can you split the story so you do
the beginning and end of the work-
flow first and enhance with stories
from the middle of the workflow?
Can you take a thin slice
through the workflow first and
enhance it with more stories later?
Does the story include multiple
operations? (e.g. is it about "managing"
or "configuring" something?)
Can you split the operations
into separate stories?
Does the story have a variety of
business rules? (e.g. is there a domain
term in the story like "flexible dates"
that suggests several variations?)
Can you split the story so you
do a subset of the rules first and
enhance with additional rules later?
Does the story do the same
thing to different kinds of data? Can you split the story to
process one kind of data
first and enhance with the
other kinds later?
Can you split the story to
handle data from one
interface first and enhance
with the others later?
Does the story get the same
kind of data via multiple interfaces?
When you apply the obvious
split, is whichever story you do
first the most difficult?
Could you group the later
stories and defer the decision
about which story comes first?
Does the story have a simple
core that provides most of the
value and/or learning?
Could you split the story to
do that simple core first and
enhance it with later stories?
Does the story get much of its
complexity from satisfying
non-functional requirements like
performance?
Could you split the story
to just make it work first and
then enhance it to satisfy the
non-functional requirement?
Are you still baffled about
how to split the story?
Can you find a small
piece you understand
well enough to start?
Can you define the 1-3
questions most holding
you back?
Take a break
and try again.
Write a spike with those
questions, do the minimum
to answer them, and start
again at the top of this process
Write that story first,
build it, and start again
at the top of this process.
Does the story have a
complex interface?
Is there a simple version
you could do first?
Try another pattern on the
original story or the larger
post-split stories.
Try another pattern.
You probably have waste
in each of your stories.
Try another pattern.
Are there stories you
can deprioritze or delete?
Is there an obvious story
to start with that gets you
early value, learning, risk
mitigation, etc.?
Combine it with another story
or otherwise reformulate it to get
a good, if large, starting story.
Is the story size 1⁄10 to
1⁄6 of your velocity?
Is each story about
1⁄10 to 1⁄6 of your velocity?
Do each of the
stories satisfy INVEST?
Continue. You
need to split it.
You’re done.
Try another pattern to
see if you can get this.
You’re done, though you
could try another pattern
to see if it works better.
YES
NO
s
t
a
r
t
h
e
r
e
* INVEST - Stories should be:
1
2
3
Independent
Negotiable
Valuable
Estimable
Small
Testable
last resort
YES
NO
www.agileforall.com