SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
21 Story Splitting Patterns
Kent McDonald
kentjmcdonald@gmail.com
Why Split User Stories?
Submit a
session
proposal
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
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
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
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
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.
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.
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 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
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
*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..
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. Choose the split that gets you more equally
sized small stories.
3. Chose the split that eliminates or at least
reduces dependencies
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/

Más contenido relacionado

La actualidad más candente

User story splitting techniques
User story splitting techniquesUser story splitting techniques
User story splitting techniquesAshutosh Rai
 
Ten Concrete Techniques to Split User Stories
Ten Concrete Techniques to Split User StoriesTen Concrete Techniques to Split User Stories
Ten Concrete Techniques to Split User StoriesNight Wolf
 
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 storiesPayton Consulting
 
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
 
"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuertawebcat
 
Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Easy Agile
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting PatternsKent McDonald
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Storieskahgeh75
 
Slicing user stories
Slicing user storiesSlicing user stories
Slicing user storiesDavid Michel
 
User story and splitting workshop
User story and splitting workshopUser story and splitting workshop
User story and splitting workshopBrian Sjoberg
 
Product Backlog - Refinement and Prioritization Techniques
Product Backlog - Refinement and Prioritization TechniquesProduct Backlog - Refinement and Prioritization Techniques
Product Backlog - Refinement and Prioritization TechniquesVikash Karuna
 

La actualidad más candente (20)

User story splitting techniques
User story splitting techniquesUser story splitting techniques
User story splitting techniques
 
Ten Concrete Techniques to Split User Stories
Ten Concrete Techniques to Split User StoriesTen Concrete Techniques to Split User Stories
Ten Concrete Techniques to Split User Stories
 
User Stories Fundamentals
User Stories FundamentalsUser Stories Fundamentals
User Stories Fundamentals
 
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
 
How to write good user stories
How to write good user storiesHow to write good user stories
How to write good user stories
 
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
 
Story of user story
Story of user storyStory of user story
Story of user story
 
"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta
 
Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Workshop - Writing Good User Stories
Workshop - Writing Good User Stories
 
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
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting Patterns
 
Epics and User Stories
Epics and User StoriesEpics and User Stories
Epics and User Stories
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
 
Slicing user stories
Slicing user storiesSlicing user stories
Slicing user stories
 
User story and splitting workshop
User story and splitting workshopUser story and splitting workshop
User story and splitting workshop
 
User Stories explained
User Stories explainedUser Stories explained
User Stories explained
 
User Story
User StoryUser Story
User Story
 
Product Backlog - Refinement and Prioritization Techniques
Product Backlog - Refinement and Prioritization TechniquesProduct Backlog - Refinement and Prioritization Techniques
Product Backlog - Refinement and Prioritization Techniques
 
User Stories
User StoriesUser Stories
User Stories
 
Splitting User Stories
Splitting User StoriesSplitting User Stories
Splitting User Stories
 

Destacado

Product Strategy and Product Success
Product Strategy and Product SuccessProduct Strategy and Product Success
Product Strategy and Product SuccessRoman Pichler
 
Analysis In Agile: It's More than Just User Stories
Analysis In Agile: It's More than Just User StoriesAnalysis In Agile: It's More than Just User Stories
Analysis In Agile: It's More than Just User StoriesKent McDonald
 
Agile Team Working Agreements
Agile Team Working AgreementsAgile Team Working Agreements
Agile Team Working AgreementsPayton Consulting
 
The Product Canvas Tutorial V1.0
The Product Canvas Tutorial V1.0The Product Canvas Tutorial V1.0
The Product Canvas Tutorial V1.0Roman Pichler
 
User Story Smells & Anti-patterns
User Story Smells & Anti-patternsUser Story Smells & Anti-patterns
User Story Smells & Anti-patternsFadi Stephan
 
What it Really Means to Be Agile
What it Really Means to Be AgileWhat it Really Means to Be Agile
What it Really Means to Be AgileKent McDonald
 
Agile Leadership: Accelerating Business Agility - Context
Agile Leadership: Accelerating Business Agility - ContextAgile Leadership: Accelerating Business Agility - Context
Agile Leadership: Accelerating Business Agility - ContextKent 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 questioningKent McDonald
 
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 JainNaresh Jain
 
Become a Great Product Manager
Become a Great Product ManagerBecome a Great Product Manager
Become a Great Product ManagerRoman Pichler
 
GAFANOMICS Season 2: 4 superpowers to outperform in the Network Economy
GAFANOMICS Season 2: 4 superpowers to outperform in the Network EconomyGAFANOMICS Season 2: 4 superpowers to outperform in the Network Economy
GAFANOMICS Season 2: 4 superpowers to outperform in the Network EconomyFabernovel
 
Pixar's 22 Rules to Phenomenal Storytelling
Pixar's 22 Rules to Phenomenal StorytellingPixar's 22 Rules to Phenomenal Storytelling
Pixar's 22 Rules to Phenomenal StorytellingGavin McMahon
 
The Be-All, End-All List of Small Business Tax Deductions
The Be-All, End-All List of Small Business Tax DeductionsThe Be-All, End-All List of Small Business Tax Deductions
The Be-All, End-All List of Small Business Tax DeductionsWagepoint
 
25 Discovery Call Questions
25 Discovery Call Questions25 Discovery Call Questions
25 Discovery Call QuestionsHubSpot
 
Class 1: Email Marketing Certification course: Email Marketing and Your Business
Class 1: Email Marketing Certification course: Email Marketing and Your BusinessClass 1: Email Marketing Certification course: Email Marketing and Your Business
Class 1: Email Marketing Certification course: Email Marketing and Your BusinessHubSpot
 
Behind the Scenes: Launching HubSpot Tokyo
Behind the Scenes: Launching HubSpot TokyoBehind the Scenes: Launching HubSpot Tokyo
Behind the Scenes: Launching HubSpot TokyoHubSpot
 
Why People Block Ads (And What It Means for Marketers and Advertisers) [New R...
Why People Block Ads (And What It Means for Marketers and Advertisers) [New R...Why People Block Ads (And What It Means for Marketers and Advertisers) [New R...
Why People Block Ads (And What It Means for Marketers and Advertisers) [New R...HubSpot
 
What is Inbound Recruiting?
What is Inbound Recruiting?What is Inbound Recruiting?
What is Inbound Recruiting?HubSpot
 
3 Proven Sales Email Templates Used by Successful Companies
3 Proven Sales Email Templates Used by Successful Companies3 Proven Sales Email Templates Used by Successful Companies
3 Proven Sales Email Templates Used by Successful CompaniesHubSpot
 
Add the Women Back: Wikipedia Edit-a-Thon
Add the Women Back: Wikipedia Edit-a-ThonAdd the Women Back: Wikipedia Edit-a-Thon
Add the Women Back: Wikipedia Edit-a-ThonHubSpot
 

Destacado (20)

Product Strategy and Product Success
Product Strategy and Product SuccessProduct Strategy and Product Success
Product Strategy and Product Success
 
Analysis In Agile: It's More than Just User Stories
Analysis In Agile: It's More than Just User StoriesAnalysis In Agile: It's More than Just User Stories
Analysis In Agile: It's More than Just User Stories
 
Agile Team Working Agreements
Agile Team Working AgreementsAgile Team Working Agreements
Agile Team Working Agreements
 
The Product Canvas Tutorial V1.0
The Product Canvas Tutorial V1.0The Product Canvas Tutorial V1.0
The Product Canvas Tutorial V1.0
 
User Story Smells & Anti-patterns
User Story Smells & Anti-patternsUser Story Smells & Anti-patterns
User Story Smells & Anti-patterns
 
What it Really Means to Be Agile
What it Really Means to Be AgileWhat it Really Means to Be Agile
What it Really Means to Be Agile
 
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
 
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
 
Become a Great Product Manager
Become a Great Product ManagerBecome a Great Product Manager
Become a Great Product Manager
 
GAFANOMICS Season 2: 4 superpowers to outperform in the Network Economy
GAFANOMICS Season 2: 4 superpowers to outperform in the Network EconomyGAFANOMICS Season 2: 4 superpowers to outperform in the Network Economy
GAFANOMICS Season 2: 4 superpowers to outperform in the Network Economy
 
Pixar's 22 Rules to Phenomenal Storytelling
Pixar's 22 Rules to Phenomenal StorytellingPixar's 22 Rules to Phenomenal Storytelling
Pixar's 22 Rules to Phenomenal Storytelling
 
The Be-All, End-All List of Small Business Tax Deductions
The Be-All, End-All List of Small Business Tax DeductionsThe Be-All, End-All List of Small Business Tax Deductions
The Be-All, End-All List of Small Business Tax Deductions
 
25 Discovery Call Questions
25 Discovery Call Questions25 Discovery Call Questions
25 Discovery Call Questions
 
Class 1: Email Marketing Certification course: Email Marketing and Your Business
Class 1: Email Marketing Certification course: Email Marketing and Your BusinessClass 1: Email Marketing Certification course: Email Marketing and Your Business
Class 1: Email Marketing Certification course: Email Marketing and Your Business
 
Behind the Scenes: Launching HubSpot Tokyo
Behind the Scenes: Launching HubSpot TokyoBehind the Scenes: Launching HubSpot Tokyo
Behind the Scenes: Launching HubSpot Tokyo
 
Why People Block Ads (And What It Means for Marketers and Advertisers) [New R...
Why People Block Ads (And What It Means for Marketers and Advertisers) [New R...Why People Block Ads (And What It Means for Marketers and Advertisers) [New R...
Why People Block Ads (And What It Means for Marketers and Advertisers) [New R...
 
What is Inbound Recruiting?
What is Inbound Recruiting?What is Inbound Recruiting?
What is Inbound Recruiting?
 
3 Proven Sales Email Templates Used by Successful Companies
3 Proven Sales Email Templates Used by Successful Companies3 Proven Sales Email Templates Used by Successful Companies
3 Proven Sales Email Templates Used by Successful Companies
 
Add the Women Back: Wikipedia Edit-a-Thon
Add the Women Back: Wikipedia Edit-a-ThonAdd the Women Back: Wikipedia Edit-a-Thon
Add the Women Back: Wikipedia Edit-a-Thon
 

Similar a 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 ExcitedCarlos González de Villaumbrosia
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptxPaul Boos
 
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 profNarcisaBrandenburg70
 
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 story tune up
User story tune upUser story tune up
User story tune upnhoreillys
 
Please solve the right problem!
Please solve the right problem!Please solve the right problem!
Please solve the right problem!Jisha Sharma
 
Please solve the right problem final
Please solve the right problem finalPlease solve the right problem final
Please solve the right problem finalJisha Sharma
 
Agile + Lean Product Management
Agile + Lean Product ManagementAgile + Lean Product Management
Agile + Lean Product ManagementBreanna Hughes
 
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.pptxAlanJamisonMBASPC
 
9 afi1 soler pitch presentation template
9 afi1 soler  pitch presentation template9 afi1 soler  pitch presentation template
9 afi1 soler pitch presentation templatecardinalwisemanICT
 
9 afi1 soler pitch presentation template
9 afi1 soler  pitch presentation template9 afi1 soler  pitch presentation template
9 afi1 soler pitch presentation templateCardinalwisemanICT2
 
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazXp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazLaz Allen
 
7 Points of Satisfaction
7 Points of Satisfaction7 Points of Satisfaction
7 Points of SatisfactionTincup & Co.
 
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. PMProduct School
 
Rapid Product Development
Rapid Product DevelopmentRapid Product Development
Rapid Product DevelopmentZachary Beer
 
27 Revenue Model Options B2B (curated by @arnevbalen - Board of Innovation)
27 Revenue Model Options B2B (curated by @arnevbalen - Board of Innovation)27 Revenue Model Options B2B (curated by @arnevbalen - Board of Innovation)
27 Revenue Model Options B2B (curated by @arnevbalen - Board of Innovation)Board of Innovation
 
Diy user engagement, white paper
Diy user engagement, white paperDiy user engagement, white paper
Diy user engagement, white paperJulia Shalet
 
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 2013Founder-Centric
 
Content prioritization: A method to inform what to tackle first so the user +...
Content prioritization: A method to inform what to tackle first so the user +...Content prioritization: A method to inform what to tackle first so the user +...
Content prioritization: A method to inform what to tackle first so the user +...Sara Walsh
 

Similar a 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 Stories Training
User Stories TrainingUser Stories Training
User Stories Training
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
 
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
 
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 story tune up
User story tune upUser story tune up
User story tune up
 
Please solve the right problem!
Please solve the right problem!Please solve the right problem!
Please solve the right problem!
 
Please solve the right problem final
Please solve the right problem finalPlease solve the right problem final
Please solve the right problem final
 
Agile + Lean Product Management
Agile + Lean Product ManagementAgile + Lean Product Management
Agile + Lean Product Management
 
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
 
9 afi1 soler pitch presentation template
9 afi1 soler  pitch presentation template9 afi1 soler  pitch presentation template
9 afi1 soler pitch presentation template
 
9 afi1 soler pitch presentation template
9 afi1 soler  pitch presentation template9 afi1 soler  pitch presentation template
9 afi1 soler pitch presentation template
 
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazXp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
 
7 Points of Satisfaction
7 Points of Satisfaction7 Points of Satisfaction
7 Points of Satisfaction
 
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
 
Rapid Product Development
Rapid Product DevelopmentRapid Product Development
Rapid Product Development
 
27 Revenue Model Options B2B (curated by @arnevbalen - Board of Innovation)
27 Revenue Model Options B2B (curated by @arnevbalen - Board of Innovation)27 Revenue Model Options B2B (curated by @arnevbalen - Board of Innovation)
27 Revenue Model Options B2B (curated by @arnevbalen - Board of Innovation)
 
Diy user engagement, white paper
Diy user engagement, white paperDiy user engagement, white paper
Diy user engagement, white paper
 
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
 
Content prioritization: A method to inform what to tackle first so the user +...
Content prioritization: A method to inform what to tackle first so the user +...Content prioritization: A method to inform what to tackle first so the user +...
Content prioritization: A method to inform what to tackle first so the user +...
 

Más de 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 ManagerKent 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 problemKent 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 QuestioningKent McDonald
 
Stakeholders are problematic
Stakeholders are problematicStakeholders are problematic
Stakeholders are problematicKent 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 mappingKent 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 mappingKent McDonald
 
Examining the Product Owner Role
Examining the Product Owner RoleExamining the Product Owner Role
Examining the Product Owner RoleKent 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 QuestioningKent McDonald
 
Examining the Product Owner Role
Examining the Product Owner RoleExamining the Product Owner Role
Examining the Product Owner RoleKent 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 efficientKent 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 NutshellKent McDonald
 
Analysis With an Agile Mindset Workshop
Analysis With an Agile Mindset WorkshopAnalysis With an Agile Mindset Workshop
Analysis With an Agile Mindset WorkshopKent McDonald
 
Lessons Learned in Product Ownership
Lessons Learned in Product OwnershipLessons Learned in Product Ownership
Lessons Learned in Product OwnershipKent 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 ImportantKent 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 ProfitsKent McDonald
 
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets AllowedEstimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets AllowedKent McDonald
 
Is It Worth It? Using A Business Value Model To Guide Decisions
Is It Worth It?  Using A Business Value Model To Guide DecisionsIs It Worth It?  Using A Business Value Model To Guide Decisions
Is It Worth It? Using A Business Value Model To Guide DecisionsKent McDonald
 

Más de 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
 
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
 
Estimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets AllowedEstimating in Software Development: No Silver Bullets Allowed
Estimating in Software Development: No Silver Bullets Allowed
 
Is It Worth It? Using A Business Value Model To Guide Decisions
Is It Worth It?  Using A Business Value Model To Guide DecisionsIs It Worth It?  Using A Business Value Model To Guide Decisions
Is It Worth It? Using A Business Value Model To Guide Decisions
 

Último

ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxAutus Cyber Tech
 
Fields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxFields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxJoão Esperancinha
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsJaydeep Chhasatia
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...OnePlan Solutions
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?AmeliaSmith90
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeNeo4j
 
Webinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptWebinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptkinjal48
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadIvo Andreev
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native BuildpacksVish Abrams
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfTobias Schneck
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampVICTOR MAESTRE RAMIREZ
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageDista
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesSoftwareMill
 
Enterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze IncEnterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze Incrobinwilliams8624
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionsNirav Modi
 
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.Sharon Liu
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorShane Coughlan
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdfMeon Technology
 

Último (20)

ERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptxERP For Electrical and Electronics manufecturing.pptx
ERP For Electrical and Electronics manufecturing.pptx
 
Fields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptxFields in Java and Kotlin and what to expect.pptx
Fields in Java and Kotlin and what to expect.pptx
 
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software TeamsYour Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
Your Vision, Our Expertise: TECUNIQUE's Tailored Software Teams
 
Kawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in TrivandrumKawika Technologies pvt ltd Software Development Company in Trivandrum
Kawika Technologies pvt ltd Software Development Company in Trivandrum
 
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
Transforming PMO Success with AI - Discover OnePlan Strategic Portfolio Work ...
 
How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?How Does the Epitome of Spyware Differ from Other Malicious Software?
How Does the Epitome of Spyware Differ from Other Malicious Software?
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
 
Webinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.pptWebinar_050417_LeClair12345666777889.ppt
Webinar_050417_LeClair12345666777889.ppt
 
Cybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and BadCybersecurity Challenges with Generative AI - for Good and Bad
Cybersecurity Challenges with Generative AI - for Good and Bad
 
Streamlining Your Application Builds with Cloud Native Buildpacks
Streamlining Your Application Builds  with Cloud Native BuildpacksStreamlining Your Application Builds  with Cloud Native Buildpacks
Streamlining Your Application Builds with Cloud Native Buildpacks
 
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdfARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
ARM Talk @ Rejekts - Will ARM be the new Mainstream in our Data Centers_.pdf
 
Deep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - DatacampDeep Learning for Images with PyTorch - Datacamp
Deep Learning for Images with PyTorch - Datacamp
 
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales CoverageSales Territory Management: A Definitive Guide to Expand Sales Coverage
Sales Territory Management: A Definitive Guide to Expand Sales Coverage
 
Salesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptxSalesforce AI Associate Certification.pptx
Salesforce AI Associate Certification.pptx
 
Growing Oxen: channel operators and retries
Growing Oxen: channel operators and retriesGrowing Oxen: channel operators and retries
Growing Oxen: channel operators and retries
 
Enterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze IncEnterprise Document Management System - Qualityze Inc
Enterprise Document Management System - Qualityze Inc
 
eAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspectionseAuditor Audits & Inspections - conduct field inspections
eAuditor Audits & Inspections - conduct field inspections
 
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
20240319 Car Simulator Plan.pptx . Plan for a JavaScript Car Driving Simulator.
 
OpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS CalculatorOpenChain Webinar: Universal CVSS Calculator
OpenChain Webinar: Universal CVSS Calculator
 
online pdf editor software solutions.pdf
online pdf editor software solutions.pdfonline pdf editor software solutions.pdf
online pdf editor software solutions.pdf
 

21 Story Splitting Patterns

  • 1. 21 Story Splitting Patterns Kent McDonald kentjmcdonald@gmail.com
  • 2. Why Split User Stories? Submit a session proposal
  • 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
  • 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
  • 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
  • 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
  • 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.
  • 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.
  • 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..
  • 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 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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. *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..
  • 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. Choose the split that gets you more equally sized small stories. 3. Chose the split that eliminates or at least reduces dependencies 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/

Notas del editor

  1. Splitting user stories is an analysis technique that produces small vertically sliced user stories. Smaller user stories are easier to understand The smaller stories are less complicated, so there is less chance for misunderstanding of what is/is not included in the story. May find some parts of big story are not needed If a team splits a story appropriately, the team may find that some of the smaller stories are not essential to delivering the outcome expected from the larger story. For example, if a story was split along different scenarios, some scenarios may not be as relevant, or even happen. Team can save time by not realizing those scenarios. Smaller stories provide a faster feedback loop Smaller stories can be delivered sooner, which means the team can get feedback sooner, and if they took a wrong path, they were “wrong for less time.” Smaller stories help increase progress The Smaller stories take less time to finish, which means it’s sooner to see progress. References: http://blogs.adobe.com/agile/2013/09/27/splitting-stories-into-small-vertical-slices/
  2. Notes: First increment should implement the first and last steps with future increments adding steps in the middle. Each increment should meet INVEST criteria.
  3. Notes: First increment should implement the first and last steps with future increments adding steps in the middle. Each increment should meet INVEST criteria.
  4. A Second example: Original Story: As a customer I want to delete a menu item from an order so that I don’t get food I don’t want. Split: As a customer I want to delete a single menu item from my order. As a customer I want to delete multiple menu items from my order.
  5. Also known as: Simple to complex Datatypes & Parameters Examples of when to use: Displaying information and then providing filtering/ordering capabilities Searches to identify searching by different criteria.
  6. Note: These splits create dependencies, but the way the stories are written makes the dependencies explicit.
  7. Note: Similar to Core & Enhance. User story text may be the same but acceptance criteria may differ. Scenarios Identified: Credit card is approved Credit card is declined Restaurant has item in stock Restaurant does not have item in stock.
  8. Common examples include localization challenges such as currency and language.
  9. Depending on the nature of the interface, the following options exist from simplest to most complex. API Only Character or Script User Interface Graphical User Interface (Generic) Graphical User Interface (Custom)
  10. Example platforms include: iOS iPhone iOS iPad Android Browser – IE Browser – Chrome Browser – Safari Browser - Firefox
  11. As a customer I want to know that the restaurant received my order – make it work. As a customer I want to know that the restaurant received my order within 5 seconds – make it fast.
  12. Potential acceptance criteria: Help team determine if we can do the translation automatically or if we need a separate copy of the menu in several different languages. This describes the question to be answered by the Spike. This is important to prevent aimless research.
  13. Note: Also, If a manual process exists for exceptions defer automating those.