SlideShare a Scribd company logo
21 Story Splitting Patterns
Kent McDonald
kent@kbp.media
Why Split User Stories?
Submit a
session
proposal
Add
session
proposal
Edit
session
proposal
View
session
proposal
Delete
session
proposal
E
a
s
i
e
r
t
o
u
n
d
e
r
s
t
a
n
d
Some parts
aren’t needed
Smaller stories provide
faster feedback
Small stories
increase progress
Split Conditions
What This Is
If a story has multiple items listed
in “what” make each a separate
story
When to Use it
Words such as “and” or “or”
appear
Helpful questions
Are all of these conditions
necessary (right now)?
As a Customer, I
want to create an
order and pay for
the order using a
credit card so that
I can get something
to eat
As a
Customer, I
want to
create an
order
As a customer
I want to pay
for my order
using a credit
card
Workflow
What This Is
Identify the specific steps in a workflow.
Implement the workflow in stages,
creating multiple stories for the
incremental implementation
When to Use it
The initial story describes a workflow or
process.
Helpful questions
What steps does a user perform?
Are all steps necessary (right now)?
Can steps be simplified (for now)?
As a Customer, I
want to create an
order so that I can
get something to
eat
As a customer
I can view the
items on the
menu
As a customer
I can select
the items I
want in my
order
As a customer
I can review
my order. As a customer
I can submit
my order
Use Case Scenarios
What This Is
Similar to the Workflow pattern, one
story represents the happy path,
different stories for alternate paths.
When to Use it
The initial story refers to an interaction
described by a use case
Helpful questions
What does the happy/alternate flow
look like?
Are all the alternate flows necessary
(right now)?
Can the alternate flows be simplified
(right now)?
As a Customer, I
want to create an
order so that I can
get something to
eat
As a customer
I want to
order one
item.
As a customer
I want to
cancel my
order.
As a customer
I want to
order
multiple
items.
Operations
What This Is
Splitting a story based on the different
operations done on an entity (Create,
Read, Update, Delete).
When to Use it
The story is about managing or
configuring something
Helpful questions
What operations does the story entail?
Are all the operations necessary (right
now)?
As a restaurant
owner I want to
manage my
restaurant profile
so that people can
order from my
restaurant
As a
restaurant
owner I can
create a
restaurant
profile
As a
restaurant
owner I can
view a
restaurant
profile
As a
restaurant
owner I can
delete a
restaurant
profile
As a
restaurant
owner I can
update a
restaurant
profile
Zero > One > Many
What This Is
Splitting a story that deals with multiple
instances of an entity into stories that
deal with one instance, and then
multiple instances.
When to Use it
You are working with an entity where
multiple instances are allowed.
Helpful questions
Do we need to be able to handle
multiple instances, or is one instance
sufficient?
As a restaurant
owner, I want to
view a customer’s
order.
As a
restaurant
owner, I want
to view an
order with no
menu items.
As a
restaurant
owner I want
to view an
order with
multiple
items
As a
restaurant
owner I want
to view an
order with 1
menu item.
Core & Enhance
What This Is
Splitting a story to deal with the simple
core conditions and then enhancing the
functionality with additional user
stories.
When to Use it
When the story has a simple core that
provides most of the learning.
Helpful questions
What’s the simplest version of this?
What data types are supported?
What parameters are relevant?
As a customer I
want to see my past
orders so that I can
see what I have
eaten before.
As a customer
I can see all
of my orders.
As a customer
I can see all
orders in the
past 3 months.
As a customer
I can see
orders for a
given
location.
As a customer
I can see
orders in
reverse date
order.
Major Effort
What This Is
Splitting a story in a way that requires
substantial effort for the first story and
less effort for all subsequent stories.
When to Use it
When you apply the most obvious split,
any story you do first is the most
difficult.
Helpful questions
Can we create the necessary
infrastructure and deliver value at the
same time?
Does it make a difference which option
we do first?
As a customer I can
pay for my order
with Amex, MC, Visa,
or DC so that I
don’t have to deal
with cash..
As a customer
I can pay with
one credit
card type
(Amex, MC,
Visa, DC)
As a customer
I can pay with
all credit
card types,
given one card
type already
done.
As a customer
I want to
create an
order with an
item not in
stock
Acceptance Criteria
What This Is
Split a user story into multiple stories to
handle different scenarios in the
Acceptance Criteria.
When to Use it
When the team identifies multiple
scenarios for a story, or accurate, but not
entirely relevant acceptance criteria
identified.
Helpful questions
What tests are used to verify this story?
What acceptance criteria apply?
What scenarios are relevant?
Are all test scenarios necessary (right now?)
As a customer I
want to create an
order so that I can
have something to
eat.
As a customer
I want to
create an
order with an
approved
credit card.
As a customer
I want to
create an
order with a
declined
credit card.
As a customer
I want to
create an
order with an
in stock item.
As a customer
I want to
view the menu
in Swahili
Variations in Data
What This Is
The story does the same thing to different
types of data. Create a story for each
option.
When to Use it
When a solution has to support multiple
options.
Helpful questions
Are these options necessary right now?
What is the most common option we need
to care for right away?
As a customer I
want to view the
menu in my native
language so I can
decide what I want
to eat.
As a customer
I want to
view the menu
in English.
As a customer
I want to
view the menu
in French.
As a customer
I want to
view the menu
in Spanish.
As a customer
I want to
view pictures
of dish.
Data Boundaries
What This Is
Splitting a story dealing with several
attributes of the same entity.
Support a few key elements first and
introduce remaining data elements later via
additional stories.
When to Use it
When a story is dealing with several
different pieces of data.
Helpful questions
What are the essential data elements we
need to have?
What data elements are not necessary
right now?
As a customer I
want to view menu
item information so
I can decide what I
want to eat.
As a customer
I want to
view dish
name &
description
As a customer
I want to
view dish
ingredients
As a customer
I want to
view
nutritional
information
Interface Variations
What This Is
Splitting a story dealing with a complex
interface with addition stories to
incrementally add in complexity.
When to Use it
When the user story deals with a complex
user interface where a simpler one will
work in the meantime
Helpful questions
What is the simplest user interface we can
use?
As a customer I can
view the menu so I
can select what I
want to eat.
As a customer
I can view the
menu as a PDF
As a customer
I can view the
menu as a
searchable
web page.
As a customer
I can view the
menu native in
a browser
Platform Options
What This Is
Split a story adding a new user interface by
the various platforms that are applicable.
When to Use it
When adding a new user interface that may
be accessed by multiple different platforms.
Helpful questions
Which platforms are supported?
Are all platforms required (right now)?
Are some platforms more difficult to
support than others?
As a customer I
want to create an
order so that I can
get something to
eat.
As a customer
I want to
create an
order on my
iPad
As a customer
I want to
create an
order on my
iPhone
As a customer
I want to
create an
order on my
android device
Business Rules
What This Is
Split a user story so that complex business
rules are handled by separate business
rules.
A special case of this is deferring input
validation to a later story.
When to Use it
When a story has a variety of business
rules, often identified by a large number of
examples.
Helpful questions
What rules apply to this story?
Are all of those rules necessary (right now)?
Can simpler rules suffice (for now)?
As a customer I can
use a credit card to
pay for my order.
As a customer
I want to
know when I
didn’t provide
a proper
expiration
date
As a customer
I want to
know when I
didn’t provide
a card
holder’s name.
As a customer
I want to
know when I
didn’t provide
a properly
formatted CC
number
Role
What This Is
Split a story so that the functionality is
implemented at different times for different
roles.
When to Use it
When a story impacts multiple roles and
the impact is different for each role.
Helpful questions
What roles are involved in this story?
Are any roles necessary now?
As a customer I
want to create an
order so I can get
something to eat.
As a
restaurant
owner, I want
to create an
order for a
customer
As a customer
I want to
create an
order.
Defer System Qualities
What This Is
Split the story to deliver the necessary
functionality first, then add additional
stories to improve performance, scalability,
usability or precision
When to Use it
When the base functionality does not exist
at all, initial implementation is not that
difficult, the team can learn a lot from it,
and the hard work is in making it better.
Helpful questions
Is it necessary for this to have optimal
performance (right now)?
As a customer I
want to know that
the restaurant
received my order so
that I’m sure I’ll
get some food.
As a customer
I want to
know that the
restaurant
received my
order within 5
seconds.
As a customer
I want to
know that the
restaurant
received my
order.
Spikes
What This Is
Split the story to allow for some research
and investigation on functionality before
implementing it.
When to Use it
When the team finds they are uncertain
about the implementation of a story and
they need to do some research.
Helpful questions
What are the 1 – 3 questions you have
about the story?
As a customer I
want to see the
menu in the
language of my
choice so that I can
pick something I
want.
Spike:
investigate
translation
functionality.
Low Fidelity/High Fidelity
What This Is
Split the story into a gradual increase of
quality.
When to Use it
When getting to the optimal level of quality
or usability is too expensive to deliver a
solution immediately.
Helpful questions
What is good enough for this
functionality?
As a customer I
would like a
recommendation of
what food to order
so that I can know
I’m getting a good
dish.
As a customer
I want to see
a numeric
rank of top
selling menu
items.
As a customer
I want to see
the aggregate
rankings of
other
customers
Transient then Persistent
What This Is
Split stories based on actions to pass data
along and those necessary to save data.
When to Use it
When the story deals with functionality
that includes storing data, but does not
require storing data.
Helpful questions
Do we have to store this data (right now)?
As a customer I
want to use a credit
card to pay for my
order so that I
don’t have to carry
cash.
Collect credit
card info and
use it to gain
authorization,
but not store
it.
As a customer,
I want to save
my credit card
information
to my profile.
Dummy then Dynamic Data
What This Is
Split stories to first use static data and then
add stories to make the data dynamic.
When to Use it
When the story covers parameters where
the values differ depending on conditions.
Helpful questions
Does the data need to be dynamic (right
now)?
As a customer I
want to search for
menu items.
As a customer
I want to
search for
menu items.
As a customer
I want to
search for
menu items
less than $5
or over $5.
As a customer
I want to
search for
menu items by
food type.
Manual then Automated
What This Is
Split stories that utilize an existing manual
process. Implement the functionality that
does not exist.
When to Use it
When functionality you are developing
interacts with an existing manual process,
develop the functionality but in the short
term, do not automate the manual process.
Helpful questions
Is it necessary to automate the manual
process right now?
As a customer I
want to use
multiple credit
cards to pay for my
order.
As a customer
I want to use
a credit card
to pay for my
order.*
*Use manual process to
deal with multiple cards
Defer Error Handling or Logging
What This Is
Split story so that you focus on functionality
first, then go back and provide functionality
to log errors and handle them.
When to Use it
When you need to gain feedback on
functionality quickly to determine whether
to keep it.
Helpful questions
Is it necessary to deal with exceptions for
this functionality (right now)?
As a restaurant
owner I want to
authorize the
customer’s credit
card payment..
As a restaurant
owner I want
to know when
the
authorization
process
encountered
errors
As a restaurant
owner I want
to know what
errors the
authorization
process
encountered.
Which Pattern to Use
Since there are multiple patterns that can be used
to split the same story, here are three rules of
thumb to guide your selection:
1. Choose the split that lets you deprioritize or
throw away a story.
2. Chose the split that eliminates or at least
reduces dependencies
3. Choose the split that gets you more equally
sized small stories.
http://www.agileforall.com/2009/10/patterns-for-
splitting-user-stories/
Additional References
• Splitting User Stories Presentation http://www.slideshare.net/arsenalist/splitting-
userstories
• Splitting User Stories Cheat sheet
https://twitter.com/chrisverwijs/status/335109871802384385
• Breaking Down Larger Stories
http://agileinaflash.blogspot.com/2009/02/breaking-down-larger-stories.html
• Ways to Split User Stories: http://lassekoskela.com/thoughts/7/ways-to-split-user-
stories/
• User Story Hamburger technique http://gojko.net/2012/01/23/splitting-user-
stories-the-hamburger-method/
• Features to User Stories http://idiacomputing.com/pub/UserStories.pdf
• Patterns for Splitting User Stories http://www.agileforall.com/2009/10/patterns-
for-splitting-user-stories/
• Twenty Ways to Split Stories http://xp123.com/articles/twenty-ways-to-split-
stories/

More Related Content

What's hot

How to Break the Requirements into User Stories
How to Break the Requirements into User StoriesHow to Break the Requirements into User Stories
How to Break the Requirements into User StoriesShriKant Vashishtha
 
User Story Workshop
User Story WorkshopUser Story Workshop
User Story Workshop
Peter Antman
 
Invest In Good User Stories
Invest In Good User StoriesInvest In Good User Stories
Invest In Good User Stories
Craig Brown
 
Slicing user stories
Slicing user storiesSlicing user stories
Slicing user stories
David Michel
 
Story of user story
Story of user storyStory of user story
Story of user story
Balaji Sathram
 
Writing User Stories (04/2012)
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)
Mai Quay
 
User Stories Fundamentals
User Stories FundamentalsUser Stories Fundamentals
User Stories Fundamentals
Moisés Armani Ramírez
 
User Story Smells & Anti-patterns
User Story Smells & Anti-patternsUser Story Smells & Anti-patterns
User Story Smells & Anti-patterns
Fadi Stephan
 
Techniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh JainTechniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh Jain
Naresh Jain
 
Effective user stories for your agile or Scrum team
Effective user stories for your agile or Scrum teamEffective user stories for your agile or Scrum team
Effective user stories for your agile or Scrum team
DigitalCatapultDevelopmentPractices
 
Agile and user story workshop Peter Saddington
Agile and user story workshop   Peter SaddingtonAgile and user story workshop   Peter Saddington
Agile and user story workshop Peter Saddington
Peter Saddington
 
Vertical Slicing
Vertical SlicingVertical Slicing
Splitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step ProcessSplitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step Process
Stephen Tucker
 
Cheat Sheet: 8 ways to split your user stories
Cheat Sheet:  8 ways to split your user storiesCheat Sheet:  8 ways to split your user stories
Cheat Sheet: 8 ways to split your user stories
Payton Consulting
 
Mke agile 032014 Slicing the cake: User Story Decomposition
Mke agile 032014   Slicing the cake: User Story DecompositionMke agile 032014   Slicing the cake: User Story Decomposition
Mke agile 032014 Slicing the cake: User Story DecompositionDave Neuman
 
User Stories
User StoriesUser Stories
User Stories
Tathagat Varma
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
Manik Choudhary
 
Introduction to User Stories
Introduction to User StoriesIntroduction to User Stories
Introduction to User StoriesMike Cohn
 
User Story
User StoryUser Story
User Story
Sunil Jakkaraju
 
User stories in agile software development
User stories in agile software developmentUser stories in agile software development
User stories in agile software development
Sandra Svanidzaitė, PhD, CBAP
 

What's hot (20)

How to Break the Requirements into User Stories
How to Break the Requirements into User StoriesHow to Break the Requirements into User Stories
How to Break the Requirements into User Stories
 
User Story Workshop
User Story WorkshopUser Story Workshop
User Story Workshop
 
Invest In Good User Stories
Invest In Good User StoriesInvest In Good User Stories
Invest In Good User Stories
 
Slicing user stories
Slicing user storiesSlicing user stories
Slicing user stories
 
Story of user story
Story of user storyStory of user story
Story of user story
 
Writing User Stories (04/2012)
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)
 
User Stories Fundamentals
User Stories FundamentalsUser Stories Fundamentals
User Stories Fundamentals
 
User Story Smells & Anti-patterns
User Story Smells & Anti-patternsUser Story Smells & Anti-patterns
User Story Smells & Anti-patterns
 
Techniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh JainTechniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh Jain
 
Effective user stories for your agile or Scrum team
Effective user stories for your agile or Scrum teamEffective user stories for your agile or Scrum team
Effective user stories for your agile or Scrum team
 
Agile and user story workshop Peter Saddington
Agile and user story workshop   Peter SaddingtonAgile and user story workshop   Peter Saddington
Agile and user story workshop Peter Saddington
 
Vertical Slicing
Vertical SlicingVertical Slicing
Vertical Slicing
 
Splitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step ProcessSplitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step Process
 
Cheat Sheet: 8 ways to split your user stories
Cheat Sheet:  8 ways to split your user storiesCheat Sheet:  8 ways to split your user stories
Cheat Sheet: 8 ways to split your user stories
 
Mke agile 032014 Slicing the cake: User Story Decomposition
Mke agile 032014   Slicing the cake: User Story DecompositionMke agile 032014   Slicing the cake: User Story Decomposition
Mke agile 032014 Slicing the cake: User Story Decomposition
 
User Stories
User StoriesUser Stories
User Stories
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
Introduction to User Stories
Introduction to User StoriesIntroduction to User Stories
Introduction to User Stories
 
User Story
User StoryUser Story
User Story
 
User stories in agile software development
User stories in agile software developmentUser stories in agile software development
User stories in agile software development
 

Similar to 21 Story Splitting Patterns

Jason-Phillip Park on Creating User Stories that get your Developers Excited
Jason-Phillip Park on Creating User Stories that get your Developers ExcitedJason-Phillip Park on Creating User Stories that get your Developers Excited
Jason-Phillip Park on Creating User Stories that get your Developers Excited
Carlos González de Villaumbrosia
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
Paul Boos
 
User story tune up
User story tune upUser story tune up
User story tune up
nhoreillys
 
Kirkwood e commerce class - 03.22.2011
Kirkwood e commerce class - 03.22.2011Kirkwood e commerce class - 03.22.2011
Kirkwood e commerce class - 03.22.2011
tom altman
 
User Stories Training
User Stories TrainingUser Stories Training
User Stories Training
Clarion Marketing
 
I tried to do this assignment but I didn’t pass – here is the prof
I tried to do this assignment but I didn’t pass – here is the profI tried to do this assignment but I didn’t pass – here is the prof
I tried to do this assignment but I didn’t pass – here is the prof
NarcisaBrandenburg70
 
User stories session - Agile Jordan
User stories session - Agile JordanUser stories session - Agile Jordan
User stories session - Agile Jordan
Dima Azazi
 
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazXp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Laz Allen
 
How to Define Tech Product Pricing Strategy by Salesforce Sr. PM
How to Define Tech Product Pricing Strategy by Salesforce Sr. PMHow to Define Tech Product Pricing Strategy by Salesforce Sr. PM
How to Define Tech Product Pricing Strategy by Salesforce Sr. PM
Product School
 
Omni Channel Strategies for Walmart
Omni Channel Strategies for Walmart Omni Channel Strategies for Walmart
Omni Channel Strategies for Walmart
Utsav Parashar
 
Look at UI/UX Design Process
Look at UI/UX Design ProcessLook at UI/UX Design Process
Look at UI/UX Design Process
Elumalai Jayaraman
 
How to Write Great User Stories Today.pptx
How to Write Great User Stories Today.pptxHow to Write Great User Stories Today.pptx
How to Write Great User Stories Today.pptx
AlanJamisonMBASPC
 
Usability: whats the use? Presented by We are Sigma and PRWD
Usability: whats the use? Presented by We are Sigma and PRWDUsability: whats the use? Presented by We are Sigma and PRWD
Usability: whats the use? Presented by We are Sigma and PRWD
Nexer Digital
 
Applied Techniques for Conversion Rate Optimisation - Paul Rouke from PRWD
Applied Techniques for Conversion Rate Optimisation - Paul Rouke from PRWDApplied Techniques for Conversion Rate Optimisation - Paul Rouke from PRWD
Applied Techniques for Conversion Rate Optimisation - Paul Rouke from PRWD
Become Customer-Centric
 
Meg Pasha Presentation.pptx
Meg Pasha Presentation.pptxMeg Pasha Presentation.pptx
Meg Pasha Presentation.pptx
megirpasha
 
Increase sales with e commerce chat on your commercial website
Increase sales with e commerce chat on your commercial websiteIncrease sales with e commerce chat on your commercial website
Increase sales with e commerce chat on your commercial website
Andolasoft Inc
 
trji projectCpart2
trji projectCpart2trji projectCpart2
trji projectCpart2
陶然 纪
 
Advanced Business Model Design - Pirate Summit 2013
Advanced Business Model Design - Pirate Summit 2013Advanced Business Model Design - Pirate Summit 2013
Advanced Business Model Design - Pirate Summit 2013
Founder-Centric
 
9 afi1 soler pitch presentation template
9 afi1 soler  pitch presentation template9 afi1 soler  pitch presentation template
9 afi1 soler pitch presentation templateCardinalwisemanICT2
 
Amazon Prime Now - Talk Shop Feature
Amazon Prime Now - Talk Shop FeatureAmazon Prime Now - Talk Shop Feature
Amazon Prime Now - Talk Shop Feature
Karen Kim
 

Similar to 21 Story Splitting Patterns (20)

Jason-Phillip Park on Creating User Stories that get your Developers Excited
Jason-Phillip Park on Creating User Stories that get your Developers ExcitedJason-Phillip Park on Creating User Stories that get your Developers Excited
Jason-Phillip Park on Creating User Stories that get your Developers Excited
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
 
User story tune up
User story tune upUser story tune up
User story tune up
 
Kirkwood e commerce class - 03.22.2011
Kirkwood e commerce class - 03.22.2011Kirkwood e commerce class - 03.22.2011
Kirkwood e commerce class - 03.22.2011
 
User Stories Training
User Stories TrainingUser Stories Training
User Stories Training
 
I tried to do this assignment but I didn’t pass – here is the prof
I tried to do this assignment but I didn’t pass – here is the profI tried to do this assignment but I didn’t pass – here is the prof
I tried to do this assignment but I didn’t pass – here is the prof
 
User stories session - Agile Jordan
User stories session - Agile JordanUser stories session - Agile Jordan
User stories session - Agile Jordan
 
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazXp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
 
How to Define Tech Product Pricing Strategy by Salesforce Sr. PM
How to Define Tech Product Pricing Strategy by Salesforce Sr. PMHow to Define Tech Product Pricing Strategy by Salesforce Sr. PM
How to Define Tech Product Pricing Strategy by Salesforce Sr. PM
 
Omni Channel Strategies for Walmart
Omni Channel Strategies for Walmart Omni Channel Strategies for Walmart
Omni Channel Strategies for Walmart
 
Look at UI/UX Design Process
Look at UI/UX Design ProcessLook at UI/UX Design Process
Look at UI/UX Design Process
 
How to Write Great User Stories Today.pptx
How to Write Great User Stories Today.pptxHow to Write Great User Stories Today.pptx
How to Write Great User Stories Today.pptx
 
Usability: whats the use? Presented by We are Sigma and PRWD
Usability: whats the use? Presented by We are Sigma and PRWDUsability: whats the use? Presented by We are Sigma and PRWD
Usability: whats the use? Presented by We are Sigma and PRWD
 
Applied Techniques for Conversion Rate Optimisation - Paul Rouke from PRWD
Applied Techniques for Conversion Rate Optimisation - Paul Rouke from PRWDApplied Techniques for Conversion Rate Optimisation - Paul Rouke from PRWD
Applied Techniques for Conversion Rate Optimisation - Paul Rouke from PRWD
 
Meg Pasha Presentation.pptx
Meg Pasha Presentation.pptxMeg Pasha Presentation.pptx
Meg Pasha Presentation.pptx
 
Increase sales with e commerce chat on your commercial website
Increase sales with e commerce chat on your commercial websiteIncrease sales with e commerce chat on your commercial website
Increase sales with e commerce chat on your commercial website
 
trji projectCpart2
trji projectCpart2trji projectCpart2
trji projectCpart2
 
Advanced Business Model Design - Pirate Summit 2013
Advanced Business Model Design - Pirate Summit 2013Advanced Business Model Design - Pirate Summit 2013
Advanced Business Model Design - Pirate Summit 2013
 
9 afi1 soler pitch presentation template
9 afi1 soler  pitch presentation template9 afi1 soler  pitch presentation template
9 afi1 soler pitch presentation template
 
Amazon Prime Now - Talk Shop Feature
Amazon Prime Now - Talk Shop FeatureAmazon Prime Now - Talk Shop Feature
Amazon Prime Now - Talk Shop Feature
 

More from Kent McDonald

Moving from Business Analyst to Product Owner to Product Manager
Moving from Business Analyst to Product Owner to Product ManagerMoving from Business Analyst to Product Owner to Product Manager
Moving from Business Analyst to Product Owner to Product Manager
Kent McDonald
 
How to discover the right product to solve the right problem
How to discover the right product to solve the right problemHow to discover the right product to solve the right problem
How to discover the right product to solve the right problem
Kent McDonald
 
How to Find the Real Need with Socratic Questioning
How to Find the Real Need with Socratic QuestioningHow to Find the Real Need with Socratic Questioning
How to Find the Real Need with Socratic Questioning
Kent McDonald
 
Stakeholders are problematic
Stakeholders are problematicStakeholders are problematic
Stakeholders are problematic
Kent McDonald
 
How to build shared understanding with example mapping
How to build shared understanding with example mappingHow to build shared understanding with example mapping
How to build shared understanding with example mapping
Kent McDonald
 
How to build shared understanding with example mapping
How to build shared understanding with example mappingHow to build shared understanding with example mapping
How to build shared understanding with example mapping
Kent McDonald
 
Examining the Product Owner Role
Examining the Product Owner RoleExamining the Product Owner Role
Examining the Product Owner Role
Kent McDonald
 
How to Find the Real Need with Socratic Questioning
How to Find the Real Need with Socratic QuestioningHow to Find the Real Need with Socratic Questioning
How to Find the Real Need with Socratic Questioning
Kent McDonald
 
Agile Leadership: Accelerating Business Agility - Context
Agile Leadership: Accelerating Business Agility - ContextAgile Leadership: Accelerating Business Agility - Context
Agile Leadership: Accelerating Business Agility - Context
Kent McDonald
 
How to find the real need with socratic questioning
How to find the real need with socratic questioningHow to find the real need with socratic questioning
How to find the real need with socratic questioning
Kent McDonald
 
Examining the Product Owner Role
Examining the Product Owner RoleExamining the Product Owner Role
Examining the Product Owner Role
Kent McDonald
 
Tis better to be effective than efficient
Tis better to be effective than efficientTis better to be effective than efficient
Tis better to be effective than efficient
Kent McDonald
 
The 3D's of Scaling (Agile)
The 3D's of Scaling (Agile)The 3D's of Scaling (Agile)
The 3D's of Scaling (Agile)
Kent McDonald
 
What do Scrum Masters Really Do? And do we need them?
What do Scrum Masters Really Do?  And do we need them?What do Scrum Masters Really Do?  And do we need them?
What do Scrum Masters Really Do? And do we need them?
Kent McDonald
 
Collaborative Modeling In A Nutshell
Collaborative Modeling In A NutshellCollaborative Modeling In A Nutshell
Collaborative Modeling In A Nutshell
Kent McDonald
 
Analysis With an Agile Mindset Workshop
Analysis With an Agile Mindset WorkshopAnalysis With an Agile Mindset Workshop
Analysis With an Agile Mindset Workshop
Kent McDonald
 
Lessons Learned in Product Ownership
Lessons Learned in Product OwnershipLessons Learned in Product Ownership
Lessons Learned in Product Ownership
Kent McDonald
 
Positive Politics
Positive PoliticsPositive Politics
Positive Politics
Kent McDonald
 
Anyone Can Write User Stories. It's the (Shared) Understanding That's Important
Anyone Can Write User Stories. It's the (Shared) Understanding That's ImportantAnyone Can Write User Stories. It's the (Shared) Understanding That's Important
Anyone Can Write User Stories. It's the (Shared) Understanding That's Important
Kent McDonald
 
Decision Making Techniques for Not for Profits
Decision Making Techniques for Not for ProfitsDecision Making Techniques for Not for Profits
Decision Making Techniques for Not for Profits
Kent McDonald
 

More from Kent McDonald (20)

Moving from Business Analyst to Product Owner to Product Manager
Moving from Business Analyst to Product Owner to Product ManagerMoving from Business Analyst to Product Owner to Product Manager
Moving from Business Analyst to Product Owner to Product Manager
 
How to discover the right product to solve the right problem
How to discover the right product to solve the right problemHow to discover the right product to solve the right problem
How to discover the right product to solve the right problem
 
How to Find the Real Need with Socratic Questioning
How to Find the Real Need with Socratic QuestioningHow to Find the Real Need with Socratic Questioning
How to Find the Real Need with Socratic Questioning
 
Stakeholders are problematic
Stakeholders are problematicStakeholders are problematic
Stakeholders are problematic
 
How to build shared understanding with example mapping
How to build shared understanding with example mappingHow to build shared understanding with example mapping
How to build shared understanding with example mapping
 
How to build shared understanding with example mapping
How to build shared understanding with example mappingHow to build shared understanding with example mapping
How to build shared understanding with example mapping
 
Examining the Product Owner Role
Examining the Product Owner RoleExamining the Product Owner Role
Examining the Product Owner Role
 
How to Find the Real Need with Socratic Questioning
How to Find the Real Need with Socratic QuestioningHow to Find the Real Need with Socratic Questioning
How to Find the Real Need with Socratic Questioning
 
Agile Leadership: Accelerating Business Agility - Context
Agile Leadership: Accelerating Business Agility - ContextAgile Leadership: Accelerating Business Agility - Context
Agile Leadership: Accelerating Business Agility - Context
 
How to find the real need with socratic questioning
How to find the real need with socratic questioningHow to find the real need with socratic questioning
How to find the real need with socratic questioning
 
Examining the Product Owner Role
Examining the Product Owner RoleExamining the Product Owner Role
Examining the Product Owner Role
 
Tis better to be effective than efficient
Tis better to be effective than efficientTis better to be effective than efficient
Tis better to be effective than efficient
 
The 3D's of Scaling (Agile)
The 3D's of Scaling (Agile)The 3D's of Scaling (Agile)
The 3D's of Scaling (Agile)
 
What do Scrum Masters Really Do? And do we need them?
What do Scrum Masters Really Do?  And do we need them?What do Scrum Masters Really Do?  And do we need them?
What do Scrum Masters Really Do? And do we need them?
 
Collaborative Modeling In A Nutshell
Collaborative Modeling In A NutshellCollaborative Modeling In A Nutshell
Collaborative Modeling In A Nutshell
 
Analysis With an Agile Mindset Workshop
Analysis With an Agile Mindset WorkshopAnalysis With an Agile Mindset Workshop
Analysis With an Agile Mindset Workshop
 
Lessons Learned in Product Ownership
Lessons Learned in Product OwnershipLessons Learned in Product Ownership
Lessons Learned in Product Ownership
 
Positive Politics
Positive PoliticsPositive Politics
Positive Politics
 
Anyone Can Write User Stories. It's the (Shared) Understanding That's Important
Anyone Can Write User Stories. It's the (Shared) Understanding That's ImportantAnyone Can Write User Stories. It's the (Shared) Understanding That's Important
Anyone Can Write User Stories. It's the (Shared) Understanding That's Important
 
Decision Making Techniques for Not for Profits
Decision Making Techniques for Not for ProfitsDecision Making Techniques for Not for Profits
Decision Making Techniques for Not for Profits
 

Recently uploaded

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 

Recently uploaded (20)

Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 

21 Story Splitting Patterns

  • 1. 21 Story Splitting Patterns Kent McDonald kent@kbp.media
  • 2. Why Split User Stories? Submit a session proposal Add session proposal Edit session proposal View session proposal Delete session proposal E a s i e r t o u n d e r s t a n d Some parts aren’t needed Smaller stories provide faster feedback Small stories increase progress
  • 3. Split Conditions What This Is If a story has multiple items listed in “what” make each a separate story When to Use it Words such as “and” or “or” appear Helpful questions Are all of these conditions necessary (right now)? As a Customer, I want to create an order and pay for the order using a credit card so that I can get something to eat As a Customer, I want to create an order As a customer I want to pay for my order using a credit card
  • 4. Workflow What This Is Identify the specific steps in a workflow. Implement the workflow in stages, creating multiple stories for the incremental implementation When to Use it The initial story describes a workflow or process. Helpful questions What steps does a user perform? Are all steps necessary (right now)? Can steps be simplified (for now)? As a Customer, I want to create an order so that I can get something to eat As a customer I can view the items on the menu As a customer I can select the items I want in my order As a customer I can review my order. As a customer I can submit my order
  • 5. Use Case Scenarios What This Is Similar to the Workflow pattern, one story represents the happy path, different stories for alternate paths. When to Use it The initial story refers to an interaction described by a use case Helpful questions What does the happy/alternate flow look like? Are all the alternate flows necessary (right now)? Can the alternate flows be simplified (right now)? As a Customer, I want to create an order so that I can get something to eat As a customer I want to order one item. As a customer I want to cancel my order. As a customer I want to order multiple items.
  • 6. Operations What This Is Splitting a story based on the different operations done on an entity (Create, Read, Update, Delete). When to Use it The story is about managing or configuring something Helpful questions What operations does the story entail? Are all the operations necessary (right now)? As a restaurant owner I want to manage my restaurant profile so that people can order from my restaurant As a restaurant owner I can create a restaurant profile As a restaurant owner I can view a restaurant profile As a restaurant owner I can delete a restaurant profile As a restaurant owner I can update a restaurant profile
  • 7. Zero > One > Many What This Is Splitting a story that deals with multiple instances of an entity into stories that deal with one instance, and then multiple instances. When to Use it You are working with an entity where multiple instances are allowed. Helpful questions Do we need to be able to handle multiple instances, or is one instance sufficient? As a restaurant owner, I want to view a customer’s order. As a restaurant owner, I want to view an order with no menu items. As a restaurant owner I want to view an order with multiple items As a restaurant owner I want to view an order with 1 menu item.
  • 8. Core & Enhance What This Is Splitting a story to deal with the simple core conditions and then enhancing the functionality with additional user stories. When to Use it When the story has a simple core that provides most of the learning. Helpful questions What’s the simplest version of this? What data types are supported? What parameters are relevant? As a customer I want to see my past orders so that I can see what I have eaten before. As a customer I can see all of my orders. As a customer I can see all orders in the past 3 months. As a customer I can see orders for a given location. As a customer I can see orders in reverse date order.
  • 9. Major Effort What This Is Splitting a story in a way that requires substantial effort for the first story and less effort for all subsequent stories. When to Use it When you apply the most obvious split, any story you do first is the most difficult. Helpful questions Can we create the necessary infrastructure and deliver value at the same time? Does it make a difference which option we do first? As a customer I can pay for my order with Amex, MC, Visa, or DC so that I don’t have to deal with cash.. As a customer I can pay with one credit card type (Amex, MC, Visa, DC) As a customer I can pay with all credit card types, given one card type already done.
  • 10. As a customer I want to create an order with an item not in stock Acceptance Criteria What This Is Split a user story into multiple stories to handle different scenarios in the Acceptance Criteria. When to Use it When the team identifies multiple scenarios for a story, or accurate, but not entirely relevant acceptance criteria identified. Helpful questions What tests are used to verify this story? What acceptance criteria apply? What scenarios are relevant? Are all test scenarios necessary (right now?) As a customer I want to create an order so that I can have something to eat. As a customer I want to create an order with an approved credit card. As a customer I want to create an order with a declined credit card. As a customer I want to create an order with an in stock item.
  • 11. As a customer I want to view the menu in Swahili Variations in Data What This Is The story does the same thing to different types of data. Create a story for each option. When to Use it When a solution has to support multiple options. Helpful questions Are these options necessary right now? What is the most common option we need to care for right away? As a customer I want to view the menu in my native language so I can decide what I want to eat. As a customer I want to view the menu in English. As a customer I want to view the menu in French. As a customer I want to view the menu in Spanish.
  • 12. As a customer I want to view pictures of dish. Data Boundaries What This Is Splitting a story dealing with several attributes of the same entity. Support a few key elements first and introduce remaining data elements later via additional stories. When to Use it When a story is dealing with several different pieces of data. Helpful questions What are the essential data elements we need to have? What data elements are not necessary right now? As a customer I want to view menu item information so I can decide what I want to eat. As a customer I want to view dish name & description As a customer I want to view dish ingredients As a customer I want to view nutritional information
  • 13. Interface Variations What This Is Splitting a story dealing with a complex interface with addition stories to incrementally add in complexity. When to Use it When the user story deals with a complex user interface where a simpler one will work in the meantime Helpful questions What is the simplest user interface we can use? As a customer I can view the menu so I can select what I want to eat. As a customer I can view the menu as a PDF As a customer I can view the menu as a searchable web page. As a customer I can view the menu native in a browser
  • 14. Platform Options What This Is Split a story adding a new user interface by the various platforms that are applicable. When to Use it When adding a new user interface that may be accessed by multiple different platforms. Helpful questions Which platforms are supported? Are all platforms required (right now)? Are some platforms more difficult to support than others? As a customer I want to create an order so that I can get something to eat. As a customer I want to create an order on my iPad As a customer I want to create an order on my iPhone As a customer I want to create an order on my android device
  • 15. Business Rules What This Is Split a user story so that complex business rules are handled by separate business rules. A special case of this is deferring input validation to a later story. When to Use it When a story has a variety of business rules, often identified by a large number of examples. Helpful questions What rules apply to this story? Are all of those rules necessary (right now)? Can simpler rules suffice (for now)? As a customer I can use a credit card to pay for my order. As a customer I want to know when I didn’t provide a proper expiration date As a customer I want to know when I didn’t provide a card holder’s name. As a customer I want to know when I didn’t provide a properly formatted CC number
  • 16. Role What This Is Split a story so that the functionality is implemented at different times for different roles. When to Use it When a story impacts multiple roles and the impact is different for each role. Helpful questions What roles are involved in this story? Are any roles necessary now? As a customer I want to create an order so I can get something to eat. As a restaurant owner, I want to create an order for a customer As a customer I want to create an order.
  • 17. Defer System Qualities What This Is Split the story to deliver the necessary functionality first, then add additional stories to improve performance, scalability, usability or precision When to Use it When the base functionality does not exist at all, initial implementation is not that difficult, the team can learn a lot from it, and the hard work is in making it better. Helpful questions Is it necessary for this to have optimal performance (right now)? As a customer I want to know that the restaurant received my order so that I’m sure I’ll get some food. As a customer I want to know that the restaurant received my order within 5 seconds. As a customer I want to know that the restaurant received my order.
  • 18. Spikes What This Is Split the story to allow for some research and investigation on functionality before implementing it. When to Use it When the team finds they are uncertain about the implementation of a story and they need to do some research. Helpful questions What are the 1 – 3 questions you have about the story? As a customer I want to see the menu in the language of my choice so that I can pick something I want. Spike: investigate translation functionality.
  • 19. Low Fidelity/High Fidelity What This Is Split the story into a gradual increase of quality. When to Use it When getting to the optimal level of quality or usability is too expensive to deliver a solution immediately. Helpful questions What is good enough for this functionality? As a customer I would like a recommendation of what food to order so that I can know I’m getting a good dish. As a customer I want to see a numeric rank of top selling menu items. As a customer I want to see the aggregate rankings of other customers
  • 20. Transient then Persistent What This Is Split stories based on actions to pass data along and those necessary to save data. When to Use it When the story deals with functionality that includes storing data, but does not require storing data. Helpful questions Do we have to store this data (right now)? As a customer I want to use a credit card to pay for my order so that I don’t have to carry cash. Collect credit card info and use it to gain authorization, but not store it. As a customer, I want to save my credit card information to my profile.
  • 21. Dummy then Dynamic Data What This Is Split stories to first use static data and then add stories to make the data dynamic. When to Use it When the story covers parameters where the values differ depending on conditions. Helpful questions Does the data need to be dynamic (right now)? As a customer I want to search for menu items. As a customer I want to search for menu items. As a customer I want to search for menu items less than $5 or over $5. As a customer I want to search for menu items by food type.
  • 22. Manual then Automated What This Is Split stories that utilize an existing manual process. Implement the functionality that does not exist. When to Use it When functionality you are developing interacts with an existing manual process, develop the functionality but in the short term, do not automate the manual process. Helpful questions Is it necessary to automate the manual process right now? As a customer I want to use multiple credit cards to pay for my order. As a customer I want to use a credit card to pay for my order.* *Use manual process to deal with multiple cards
  • 23. Defer Error Handling or Logging What This Is Split story so that you focus on functionality first, then go back and provide functionality to log errors and handle them. When to Use it When you need to gain feedback on functionality quickly to determine whether to keep it. Helpful questions Is it necessary to deal with exceptions for this functionality (right now)? As a restaurant owner I want to authorize the customer’s credit card payment.. As a restaurant owner I want to know when the authorization process encountered errors As a restaurant owner I want to know what errors the authorization process encountered.
  • 24. Which Pattern to Use Since there are multiple patterns that can be used to split the same story, here are three rules of thumb to guide your selection: 1. Choose the split that lets you deprioritize or throw away a story. 2. Chose the split that eliminates or at least reduces dependencies 3. Choose the split that gets you more equally sized small stories. http://www.agileforall.com/2009/10/patterns-for- splitting-user-stories/
  • 25. Additional References • Splitting User Stories Presentation http://www.slideshare.net/arsenalist/splitting- userstories • Splitting User Stories Cheat sheet https://twitter.com/chrisverwijs/status/335109871802384385 • Breaking Down Larger Stories http://agileinaflash.blogspot.com/2009/02/breaking-down-larger-stories.html • Ways to Split User Stories: http://lassekoskela.com/thoughts/7/ways-to-split-user- stories/ • User Story Hamburger technique http://gojko.net/2012/01/23/splitting-user- stories-the-hamburger-method/ • Features to User Stories http://idiacomputing.com/pub/UserStories.pdf • Patterns for Splitting User Stories http://www.agileforall.com/2009/10/patterns- for-splitting-user-stories/ • Twenty Ways to Split Stories http://xp123.com/articles/twenty-ways-to-split- stories/