Professional Documents
Culture Documents
Story Writing
Story Writing
sta
non-functional requirement? business rules? (e.g. is there a domain
You’re done. Continue. You
rt
term in the story like "flexible dates"
he
need to split it. Try another pattern.
re
Does the story get much of its that suggests several variations?) You probably have waste
complexity from satisfying 2 in each of your stories.
non-functional requirements like
performance? APPLY THE VARIATIONS
Is there an obvious story
to start with that gets you
SPLITTING Does the story do the same IN DATA early value, learning, risk
mitigation, etc.?
Could you split the story to Does the story have a simple
PATTERNS thing to different kinds of data? Can you split the story to
process one kind of data Try another pattern to
core that provides most of the first and enhance with the see if you can get this.
do that simple core first and last
value and/or learning? reso other kinds later? You’re done, though you
enhance it with later stories? rt could try another pattern
to see if it works better.
SIMPLE/COMPLEX When you apply the obvious
Does the story have a
complex interface?
split, is whichever story you do
first the most difficult?
Could you group the later BREAK OUT A SPIKE
stories and defer the decision Are you still baffled about
Does the story get the same
about which story comes first? how to split the story?
kind of data via multiple interfaces?
INVEST -
* INVEST - Stories should be:
Independent MAJOR EFFORT Is there a simple version
Stories should
Negotiable
Valuable
be: you could do first? Can you find a small
Can you split the story to piece you understand
*Independent
Estimable handle data from one INTERFACE well enough to start?
Small
*Negotiable
Testable
interface first and enhance VARIATIONS Can you define the 1-3
with the others later? questions most holding
*Valuable Write that story first,
you back?
Take a break
and try again.
*Estimable build it, and start again
at the top of this process. Write a spike with those
*Small questions, do the minimum
to answer them, and start
*Testable again at the top of this process