SlideShare a Scribd company logo
1 of 35
User Story Splitting
Or how to be the Ninja on splitting
Stories, rather than fruit…
Your Sensei: Paul Boos
Master Shifu
Reminds Us…
A story is a….
• Who | What | Why
• As a ____ I would like to ____ so that I can ____
• Role or Persona, ‘Function’, Biz Value
The Power of a Story in San 参
Story
Requirement
Dragon Stories (aka ‘Epics’)
• Stories that are horrendously large & scare us
• The amount of tasks feel like slaying a beast
• Larger than our iteration
• But even ‘Smaller than
Dragon’ Stories may need
to be split…
INVEST
I ndependent – minimize dependencies (to zero
preferably)
N egotiable – ability for Product Owner and
Delivery Team to make trade-offs
V aluable – fulfill end user needs/functionality
E stimable – understood well enough to be
estimated
S mall – fit within a Sprint easily
T estable – have an ability to be verified that they
work
Should I Split This Story?
• Does it meet the INVEST Criteria (with
exception of Small)?
No – refactor story first*
• Can it be completed in this Sprint?
No – time to split!
• Will this story consume most of the Team’s
capacity?
Yes – better to split than to be sorry…
* If a story isn’t small it may also be hard to be negotiable, so a story
being both small and negotiable could be exceptions.
Don’t
split a story on Waterfall
-like Phases
Unless you like riding very, very large
waves of failure…
Useful Considerations
• Story to– one role/persona (generally)
• Story to– one function/task of value
• Vertically slices most of the stack
Splitting Kata
• Workflow Steps Pattern
• Operations Pattern
• Business Rule Variations Pattern
• Simple  Complex Pattern
• Variations in Data Pattern
• Mock UI Pattern
• Data Entry Methods Pattern
• Hamburger Method
• Defer Performance Pattern
• Break Out a Spike Pattern 戻る
Workflow Steps Pattern
Look for steps in the workflow that chain different
roles/personas together or very distinctly different
functions that can be independently done.
Example: Content Authoring & Approval
• As an author, I want to be able to submit my article, so
that it can be published.
• As an editor, I would like to get notified when an article
has been submitted so that I can review it.
• As an editor, I need to approve an article, so that it can
become visible.
• As an editor, I would like to be able to request more
information, so that I can understand the author’s
intent.
Operations Pattern
Focus along Operations (think high level methods or CRUD
type operations).
Example: As a shop keeper I want to manage the products
being sold in my online store so that I can sell what people
want to buy. This could be become:
• As a shop keeper, I want to add and remove products
from my online store, so that I can sell what people want
to buy.
• As a shop keeper, I want to edit product details in my
online store, so that I can avoid recreating a product to
fix a typo … (and so on)
Look for generic verbs such as “manage” or “administer” which hints at multiple
more detailed operations. (Sort of use-case like…)
Business Rules Variation Pattern
Find ways to split stories based on business
rules deviations.
Example:
Set Payment Currency
As the buyer, I want to set my currency, so that I can
understand the value.
• Payment currency is set by purchase location
• Payment currency can be pulled from the user profile
• Payment currency defaults to US Dollars
Warning: variations could also be articulating various
acceptance criteria.
Simple  Complex Pattern
Look for general stories that hide complexity,
when the definition of the acceptance criteria
uncovers varied ways to approach this, then you
can split along this variance...
Example:
• As a loan applicant, I want to calculate my
mortgage payments
Might be made more specific in ways such as …
• … calculate payments manually
• … using an online spreadsheet template
• … using an online calculator
Variations in Data Pattern
Choose data objects that may have variations based
on roles and actions.
Example:
Suppose that there are data objects called Product,
Payment, and Receipt. In this instance, the idea would be
to focus on specific data types for each object type. So
for Product, there might be data types such as Book,
DVD, and Gift Card.
You can then work with the Product Owner to identify
the data type or types with the highest business value
and split the story accordingly.
Mock UI Pattern
Create a pretotype/whiteboard of the UI when it
is known to be complex; ID areas where related
functionality is present and story out each area.
Throw away the UI.
Example: Enter a Valid Address:
Street:
City: State: Zipcode:
Find House Value Comparisons:
Select search radius:
5km 10km 25km
Go
Reset
As a potential lendee,
I want to have a correct address,
So that my comparisons are correct.
As a potential lendee,
I want to set the region,
So I can see potential impacts to
my comparisons.
As a potential lendee,
I want to easily reset the data,
So I can easily change comparisons.
Data Entry Methods Pattern
Examining various options for data entry at the
UI can be done. Each option is essentially the
same story and thus is a refactoring of a prior
story. Great for identifying MVF options…
Example:
As a user, I can search for flights
between two destinations.
…using simple date input.
…with a fancy calendar UI.
Hamburger Method
This method is similar to the prior Data Entry
Methods Pattern. It’s useful when a team thinks
more along technical tasks than user stories.
Example:
Simple
Data
Widget
No Data
Persistence
No Data
Validation
Calendar
Widget
Persist Data
in File
JavaScript
Validation
Pull Date
from
user’s iCall
Persist Data
in RDBMS
Persist Data
in NoSQL DB
Enter
Date
Store data
Validate
Collected
data
Gojko Adzic
Defer Performance Pattern
Look for Opportunities to Defer Work for later (and thus
refactor of the code).
“Simplicity--the art of maximizing the amount
of work not done--is essential.”
– Agile Manifesto Principle #10
Example:
Focus on user functionality 1st then various –’ilities’:
Scalability
Performance
Caution:
“Continuous attention to technical excellence
and good design enhances agility.”
– Agile Manifesto Principle #9
Break out a Spike Pattern
Often Stories are not necessarily complex, but just have
many unknowns. Turn possible acceptance criteria into
questions and investigate these.
Example: Suppose you didn’t understand how Paypal
worked…
Turn As a seller I want to collect payment with Paypal as it is
universally accepted and this will increase how I get paid.
into…
Spike: How does Paypal work?
How do I know I have a successful payment?
How do I know when a payment is unsuccessful and what options can I
present to the buyer?
Once I answer these I can create a valid story (or set of stories).
Helpful Tips for
Splitting Stories
Think in terms of what a user
(role/persona) wants as inputs & outputs.
• What does the user put in? What should or should not
come out?
• What processing should give the output?
• How can we test this?
Think in terms of vertical slices.
• What is the minimal version of this functionality?
• Can you touch all the needed tiers of the system.
Don’t worry about being 100% right…
IKIWISI!
Acceptance Criteria
Given context When event Then result
Be the…
Define boundaries of what
is acceptable
Should be specific to story
Results = expectations
Identify specific non-
functional requirements
results
Acceptance Criteria Example
• A user cannot submit a form without completing all
the mandatory fields
• Information from the form is retrievable later
• Spam protection is working
• Payment can be accepted as a credit card
• An acknowledgment email is sent to the user after
submitting the form.
As a conference attendee,
I want to be able to register online,
so I can register quickly and cut down on paperwork
(Bullet format)
Show Respect
Work with your product owner!
Who else will you negotiate
with..?
Card
Conversation
Confirmation
EXERCISES
Establish Your Dojo
for exercises 1 - 4
• Gather in groups of 2-4
• Establish who will be the product owner
• Brainstorm stories based on the core
epics or features presented
• Ensure you have acceptance criteria
• Be ready to discuss how you split your
stories
• Feel free to go to a second level
Exercise 1
You are building an ecommerce site to sell your
products.
Your Epic:
Browse, Select, and Purchase Products from the
site.
10 Minutes to create stories based on this Epic.
Remember to ID some Acceptance Criteria!
We’ll discuss for 10 minutes
Exercise 2
You are building a system to manage content onto
your website.
Your Epic:
Manage Webpages, Images, and Video.
10 Minutes to create stories based on this Epic.
Remember to ID some Acceptance Criteria!
We’ll discuss for 10 minutes
Exercise 3
You are building an exercise and diet iPhone
application.
Your Epic:
Generate Anyone’s Exercise Routine and Diet.
10 Minutes to create stories based on this Epic.
Remember to ID some Acceptance Criteria!
We’ll discuss for 10 minutes
Exercise 4
Select your largest story for the next Sprint. Your REAL product owner
and SMEs are available to answer questions.
Take 15 minutes to do the following:
Meet INVEST? Except for small, No = refactor
Can we complete in this Sprint? No = split
Will it consume most of the Sprint in effort?
Yes = split
Take 5 minutes to decide on an approach.
Take another 15 minutes to brainstorm stories based on that
approach.
Can you establish some acceptance criteria?
20 minutes to discuss
Gather the Buke
for exercises 4 - 5
• Review the stories everyone just created in
the last exercise
• Select 2 stories you think are well constructed;
be able to defend this in terms of INVEST
• We’ll use these for our next 2 exercises as one
group to learn a bit about vertical slicing
Exercise 4: Walk the Code Dog
Take 15 minutes to…
Walk through the components of the system
one by one that will change. Draw these out (on
a flip chart or white board).
Did you touch all or most of the layers?
Exercise 5: Walk the Dog in the
Component Park
Take 15 minutes to…
Draw the architecture of your system
components on a flip chart or white board.
Using a story you have selected and using a
different color marker, redraw over the
architectural components of the application as
you need to touch them when you implement
the story.
For Further Study
Great post on how most teams evolve through their story
understanding by JB Rainsberger
http://www.jbrains.ca/permalink/how-youll-probably-learn-to-split-features
The Hamburger Method by Gojko Adzic
http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/
Walk the Dog Techniques for Vertical
Storieshttp://www.dhavalpanchal.com/walk-the-dog/
15 ways to split an an Epic (3rd exercise from
here)http://blogs.collab.net/agile/15-ways-to-split-an-epic-a-team-exercise
Beginner’s Guide to Acceptance Criteria (example)
http://www.boost.co.nz/blog/agile/acceptance-criteria/
Derived from Phil Rogers slide deck on Patterns for
Splitting User Stories.
You’re a Team
No need to be a solo ninja
Let’s go slay
some dragons!
Or better put, slice some stories!

More Related Content

What's hot

21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting PatternsKent McDonald
 
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 ProcessStephen Tucker
 
User story and splitting workshop
User story and splitting workshopUser story and splitting workshop
User story and splitting workshopBrian Sjoberg
 
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
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User StoriesJaneve George
 
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
 
Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Easy Agile
 
User Story Workshop
User Story WorkshopUser Story Workshop
User Story WorkshopPeter Antman
 
Slicing user stories
Slicing user storiesSlicing user stories
Slicing user storiesDavid Michel
 
User story slicing
User story slicing User story slicing
User story slicing Ankit Tandon
 
Facilitating the Elephant carpaccio exercise
Facilitating the Elephant carpaccio exerciseFacilitating the Elephant carpaccio exercise
Facilitating the Elephant carpaccio exercisePeter Antman
 

What's hot (20)

21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting Patterns
 
User Story
User StoryUser Story
User Story
 
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
 
User Stories
User StoriesUser Stories
User Stories
 
User story and splitting workshop
User story and splitting workshopUser story and splitting workshop
User story and splitting workshop
 
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
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User Stories
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 
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 Training
User Stories TrainingUser Stories Training
User Stories Training
 
Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Workshop - Writing Good User Stories
Workshop - Writing Good User Stories
 
User Story Workshop
User Story WorkshopUser Story Workshop
User Story Workshop
 
Vertical Slicing
Vertical SlicingVertical Slicing
Vertical Slicing
 
How to write good user stories
How to write good user storiesHow to write good user stories
How to write good user stories
 
User stories in agile software development
User stories in agile software developmentUser stories in agile software development
User stories in agile software development
 
User Stories explained
User Stories explainedUser Stories explained
User Stories explained
 
Story of user story
Story of user storyStory of user story
Story of user story
 
Slicing user stories
Slicing user storiesSlicing user stories
Slicing user stories
 
User story slicing
User story slicing User story slicing
User story slicing
 
Facilitating the Elephant carpaccio exercise
Facilitating the Elephant carpaccio exerciseFacilitating the Elephant carpaccio exercise
Facilitating the Elephant carpaccio exercise
 

Similar to User Story Splitting.pptx

Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazXp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazLaz Allen
 
Backlog Management & Discovery
Backlog Management & DiscoveryBacklog Management & Discovery
Backlog Management & DiscoveryTarun Singh
 
How to Foster Engagement and Understanding Using Agile
How to Foster Engagement and Understanding Using AgileHow to Foster Engagement and Understanding Using Agile
How to Foster Engagement and Understanding Using AgileSalesforce Admins
 
Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Ravi Tadwalkar
 
Writing User Stories (04/2012)
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)Mai Quay
 
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
 
How do you get more out of your User Stories?
How do you get more out of your User Stories?How do you get more out of your User Stories?
How do you get more out of your User Stories?Thoughtworks
 
The Whole Story of The User Story
The Whole Story of The User StoryThe Whole Story of The User Story
The Whole Story of The User StoryXPDays
 
Agile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approachAgile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approachAgileNetwork
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...AgileNetwork
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...AgileNetwork
 
Achieving better requirements in agile
Achieving better requirements in agileAchieving better requirements in agile
Achieving better requirements in agileCherifa Mansoura
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting PatternsKent McDonald
 
Scrum Basics - User Stories.pdf
Scrum Basics - User Stories.pdfScrum Basics - User Stories.pdf
Scrum Basics - User Stories.pdfNarasimhaL2
 

Similar to User Story Splitting.pptx (20)

Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazXp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
 
Backlog Management & Discovery
Backlog Management & DiscoveryBacklog Management & Discovery
Backlog Management & Discovery
 
How to Foster Engagement and Understanding Using Agile
How to Foster Engagement and Understanding Using AgileHow to Foster Engagement and Understanding Using Agile
How to Foster Engagement and Understanding Using Agile
 
Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...
 
All about User story
All about User storyAll about User story
All about User story
 
Writing User Stories (04/2012)
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)
 
Project scope preparation
Project scope preparationProject scope preparation
Project scope preparation
 
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
 
Defining tasks for User Stories
Defining tasks for User StoriesDefining tasks for User Stories
Defining tasks for User Stories
 
User stories
User storiesUser stories
User stories
 
User Stories
User StoriesUser Stories
User Stories
 
How do you get more out of your User Stories?
How do you get more out of your User Stories?How do you get more out of your User Stories?
How do you get more out of your User Stories?
 
The Whole Story of The User Story
The Whole Story of The User StoryThe Whole Story of The User Story
The Whole Story of The User Story
 
Agile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approachAgile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approach
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...
 
Epics and User Stories
Epics and User StoriesEpics and User Stories
Epics and User Stories
 
Achieving better requirements in agile
Achieving better requirements in agileAchieving better requirements in agile
Achieving better requirements in agile
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting Patterns
 
Scrum Basics - User Stories.pdf
Scrum Basics - User Stories.pdfScrum Basics - User Stories.pdf
Scrum Basics - User Stories.pdf
 

More from Paul Boos

Development Game with Purpose - AGS
Development Game with Purpose - AGSDevelopment Game with Purpose - AGS
Development Game with Purpose - AGSPaul Boos
 
Agile Dev - Game with Purpose - WIA&T
Agile Dev - Game with Purpose - WIA&TAgile Dev - Game with Purpose - WIA&T
Agile Dev - Game with Purpose - WIA&TPaul Boos
 
Agile Leadership 201: Enriching Management for AgileNoVA
Agile Leadership 201: Enriching Management for AgileNoVAAgile Leadership 201: Enriching Management for AgileNoVA
Agile Leadership 201: Enriching Management for AgileNoVAPaul Boos
 
Agile Leadership 201 for TriAgile
Agile Leadership 201 for TriAgileAgile Leadership 201 for TriAgile
Agile Leadership 201 for TriAgilePaul Boos
 
Your Agile Leadership Journey: Leading People-Managing Paradoxes - Agile Char...
Your Agile Leadership Journey: Leading People-Managing Paradoxes - Agile Char...Your Agile Leadership Journey: Leading People-Managing Paradoxes - Agile Char...
Your Agile Leadership Journey: Leading People-Managing Paradoxes - Agile Char...Paul Boos
 
Agile Leadership 201: Enriching Management
Agile Leadership 201: Enriching ManagementAgile Leadership 201: Enriching Management
Agile Leadership 201: Enriching ManagementPaul Boos
 
Pass on Perfection
Pass on PerfectionPass on Perfection
Pass on PerfectionPaul Boos
 
Your Agile Leadership Journey: Leading People, Managing Paradoxes
Your Agile Leadership Journey: Leading People, Managing ParadoxesYour Agile Leadership Journey: Leading People, Managing Paradoxes
Your Agile Leadership Journey: Leading People, Managing ParadoxesPaul Boos
 
Business Models in the Non-Profit and Public Sectors
Business Models in the Non-Profit and Public SectorsBusiness Models in the Non-Profit and Public Sectors
Business Models in the Non-Profit and Public SectorsPaul Boos
 
DevOps - Boldly Go for Distro
DevOps - Boldly Go for DistroDevOps - Boldly Go for Distro
DevOps - Boldly Go for DistroPaul Boos
 
Trust Psychological Safety
Trust Psychological SafetyTrust Psychological Safety
Trust Psychological SafetyPaul Boos
 
Catalytic leadership no va agile webinar
Catalytic leadership   no va agile webinarCatalytic leadership   no va agile webinar
Catalytic leadership no va agile webinarPaul Boos
 
Understanding Lean & Agile Coaching Agile and Beyond 2018
Understanding Lean & Agile Coaching Agile and Beyond 2018Understanding Lean & Agile Coaching Agile and Beyond 2018
Understanding Lean & Agile Coaching Agile and Beyond 2018Paul Boos
 
Catalytic Leadership Agile Tour Montreal
Catalytic Leadership   Agile Tour MontrealCatalytic Leadership   Agile Tour Montreal
Catalytic Leadership Agile Tour MontrealPaul Boos
 
Understanding coaching presentation agile dc2017 v2
Understanding coaching presentation   agile dc2017 v2Understanding coaching presentation   agile dc2017 v2
Understanding coaching presentation agile dc2017 v2Paul Boos
 
Catalytic Leadership Agile2017
Catalytic Leadership   Agile2017Catalytic Leadership   Agile2017
Catalytic Leadership Agile2017Paul Boos
 
Understanding coaching presentation agile dc2017 - for publishing
Understanding coaching presentation   agile dc2017 - for publishingUnderstanding coaching presentation   agile dc2017 - for publishing
Understanding coaching presentation agile dc2017 - for publishingPaul Boos
 
Catalytic Leadership for AgileDC
Catalytic Leadership for AgileDCCatalytic Leadership for AgileDC
Catalytic Leadership for AgileDCPaul Boos
 
Catalytic leadership - TriAgile - final
Catalytic leadership  - TriAgile - finalCatalytic leadership  - TriAgile - final
Catalytic leadership - TriAgile - finalPaul Boos
 

More from Paul Boos (20)

Development Game with Purpose - AGS
Development Game with Purpose - AGSDevelopment Game with Purpose - AGS
Development Game with Purpose - AGS
 
Agile Dev - Game with Purpose - WIA&T
Agile Dev - Game with Purpose - WIA&TAgile Dev - Game with Purpose - WIA&T
Agile Dev - Game with Purpose - WIA&T
 
Clue Retro
Clue RetroClue Retro
Clue Retro
 
Agile Leadership 201: Enriching Management for AgileNoVA
Agile Leadership 201: Enriching Management for AgileNoVAAgile Leadership 201: Enriching Management for AgileNoVA
Agile Leadership 201: Enriching Management for AgileNoVA
 
Agile Leadership 201 for TriAgile
Agile Leadership 201 for TriAgileAgile Leadership 201 for TriAgile
Agile Leadership 201 for TriAgile
 
Your Agile Leadership Journey: Leading People-Managing Paradoxes - Agile Char...
Your Agile Leadership Journey: Leading People-Managing Paradoxes - Agile Char...Your Agile Leadership Journey: Leading People-Managing Paradoxes - Agile Char...
Your Agile Leadership Journey: Leading People-Managing Paradoxes - Agile Char...
 
Agile Leadership 201: Enriching Management
Agile Leadership 201: Enriching ManagementAgile Leadership 201: Enriching Management
Agile Leadership 201: Enriching Management
 
Pass on Perfection
Pass on PerfectionPass on Perfection
Pass on Perfection
 
Your Agile Leadership Journey: Leading People, Managing Paradoxes
Your Agile Leadership Journey: Leading People, Managing ParadoxesYour Agile Leadership Journey: Leading People, Managing Paradoxes
Your Agile Leadership Journey: Leading People, Managing Paradoxes
 
Business Models in the Non-Profit and Public Sectors
Business Models in the Non-Profit and Public SectorsBusiness Models in the Non-Profit and Public Sectors
Business Models in the Non-Profit and Public Sectors
 
DevOps - Boldly Go for Distro
DevOps - Boldly Go for DistroDevOps - Boldly Go for Distro
DevOps - Boldly Go for Distro
 
Trust Psychological Safety
Trust Psychological SafetyTrust Psychological Safety
Trust Psychological Safety
 
Catalytic leadership no va agile webinar
Catalytic leadership   no va agile webinarCatalytic leadership   no va agile webinar
Catalytic leadership no va agile webinar
 
Understanding Lean & Agile Coaching Agile and Beyond 2018
Understanding Lean & Agile Coaching Agile and Beyond 2018Understanding Lean & Agile Coaching Agile and Beyond 2018
Understanding Lean & Agile Coaching Agile and Beyond 2018
 
Catalytic Leadership Agile Tour Montreal
Catalytic Leadership   Agile Tour MontrealCatalytic Leadership   Agile Tour Montreal
Catalytic Leadership Agile Tour Montreal
 
Understanding coaching presentation agile dc2017 v2
Understanding coaching presentation   agile dc2017 v2Understanding coaching presentation   agile dc2017 v2
Understanding coaching presentation agile dc2017 v2
 
Catalytic Leadership Agile2017
Catalytic Leadership   Agile2017Catalytic Leadership   Agile2017
Catalytic Leadership Agile2017
 
Understanding coaching presentation agile dc2017 - for publishing
Understanding coaching presentation   agile dc2017 - for publishingUnderstanding coaching presentation   agile dc2017 - for publishing
Understanding coaching presentation agile dc2017 - for publishing
 
Catalytic Leadership for AgileDC
Catalytic Leadership for AgileDCCatalytic Leadership for AgileDC
Catalytic Leadership for AgileDC
 
Catalytic leadership - TriAgile - final
Catalytic leadership  - TriAgile - finalCatalytic leadership  - TriAgile - final
Catalytic leadership - TriAgile - final
 

Recently uploaded

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 

Recently uploaded (20)

GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 

User Story Splitting.pptx

  • 1. User Story Splitting Or how to be the Ninja on splitting Stories, rather than fruit… Your Sensei: Paul Boos
  • 2. Master Shifu Reminds Us… A story is a…. • Who | What | Why • As a ____ I would like to ____ so that I can ____ • Role or Persona, ‘Function’, Biz Value
  • 3. The Power of a Story in San 参 Story Requirement
  • 4. Dragon Stories (aka ‘Epics’) • Stories that are horrendously large & scare us • The amount of tasks feel like slaying a beast • Larger than our iteration • But even ‘Smaller than Dragon’ Stories may need to be split…
  • 5. INVEST I ndependent – minimize dependencies (to zero preferably) N egotiable – ability for Product Owner and Delivery Team to make trade-offs V aluable – fulfill end user needs/functionality E stimable – understood well enough to be estimated S mall – fit within a Sprint easily T estable – have an ability to be verified that they work
  • 6. Should I Split This Story? • Does it meet the INVEST Criteria (with exception of Small)? No – refactor story first* • Can it be completed in this Sprint? No – time to split! • Will this story consume most of the Team’s capacity? Yes – better to split than to be sorry… * If a story isn’t small it may also be hard to be negotiable, so a story being both small and negotiable could be exceptions.
  • 7. Don’t split a story on Waterfall -like Phases Unless you like riding very, very large waves of failure…
  • 8. Useful Considerations • Story to– one role/persona (generally) • Story to– one function/task of value • Vertically slices most of the stack
  • 9. Splitting Kata • Workflow Steps Pattern • Operations Pattern • Business Rule Variations Pattern • Simple  Complex Pattern • Variations in Data Pattern • Mock UI Pattern • Data Entry Methods Pattern • Hamburger Method • Defer Performance Pattern • Break Out a Spike Pattern 戻る
  • 10. Workflow Steps Pattern Look for steps in the workflow that chain different roles/personas together or very distinctly different functions that can be independently done. Example: Content Authoring & Approval • As an author, I want to be able to submit my article, so that it can be published. • As an editor, I would like to get notified when an article has been submitted so that I can review it. • As an editor, I need to approve an article, so that it can become visible. • As an editor, I would like to be able to request more information, so that I can understand the author’s intent.
  • 11. Operations Pattern Focus along Operations (think high level methods or CRUD type operations). Example: As a shop keeper I want to manage the products being sold in my online store so that I can sell what people want to buy. This could be become: • As a shop keeper, I want to add and remove products from my online store, so that I can sell what people want to buy. • As a shop keeper, I want to edit product details in my online store, so that I can avoid recreating a product to fix a typo … (and so on) Look for generic verbs such as “manage” or “administer” which hints at multiple more detailed operations. (Sort of use-case like…)
  • 12. Business Rules Variation Pattern Find ways to split stories based on business rules deviations. Example: Set Payment Currency As the buyer, I want to set my currency, so that I can understand the value. • Payment currency is set by purchase location • Payment currency can be pulled from the user profile • Payment currency defaults to US Dollars Warning: variations could also be articulating various acceptance criteria.
  • 13. Simple  Complex Pattern Look for general stories that hide complexity, when the definition of the acceptance criteria uncovers varied ways to approach this, then you can split along this variance... Example: • As a loan applicant, I want to calculate my mortgage payments Might be made more specific in ways such as … • … calculate payments manually • … using an online spreadsheet template • … using an online calculator
  • 14. Variations in Data Pattern Choose data objects that may have variations based on roles and actions. Example: Suppose that there are data objects called Product, Payment, and Receipt. In this instance, the idea would be to focus on specific data types for each object type. So for Product, there might be data types such as Book, DVD, and Gift Card. You can then work with the Product Owner to identify the data type or types with the highest business value and split the story accordingly.
  • 15. Mock UI Pattern Create a pretotype/whiteboard of the UI when it is known to be complex; ID areas where related functionality is present and story out each area. Throw away the UI. Example: Enter a Valid Address: Street: City: State: Zipcode: Find House Value Comparisons: Select search radius: 5km 10km 25km Go Reset As a potential lendee, I want to have a correct address, So that my comparisons are correct. As a potential lendee, I want to set the region, So I can see potential impacts to my comparisons. As a potential lendee, I want to easily reset the data, So I can easily change comparisons.
  • 16. Data Entry Methods Pattern Examining various options for data entry at the UI can be done. Each option is essentially the same story and thus is a refactoring of a prior story. Great for identifying MVF options… Example: As a user, I can search for flights between two destinations. …using simple date input. …with a fancy calendar UI.
  • 17. Hamburger Method This method is similar to the prior Data Entry Methods Pattern. It’s useful when a team thinks more along technical tasks than user stories. Example: Simple Data Widget No Data Persistence No Data Validation Calendar Widget Persist Data in File JavaScript Validation Pull Date from user’s iCall Persist Data in RDBMS Persist Data in NoSQL DB Enter Date Store data Validate Collected data Gojko Adzic
  • 18. Defer Performance Pattern Look for Opportunities to Defer Work for later (and thus refactor of the code). “Simplicity--the art of maximizing the amount of work not done--is essential.” – Agile Manifesto Principle #10 Example: Focus on user functionality 1st then various –’ilities’: Scalability Performance Caution: “Continuous attention to technical excellence and good design enhances agility.” – Agile Manifesto Principle #9
  • 19. Break out a Spike Pattern Often Stories are not necessarily complex, but just have many unknowns. Turn possible acceptance criteria into questions and investigate these. Example: Suppose you didn’t understand how Paypal worked… Turn As a seller I want to collect payment with Paypal as it is universally accepted and this will increase how I get paid. into… Spike: How does Paypal work? How do I know I have a successful payment? How do I know when a payment is unsuccessful and what options can I present to the buyer? Once I answer these I can create a valid story (or set of stories).
  • 20. Helpful Tips for Splitting Stories Think in terms of what a user (role/persona) wants as inputs & outputs. • What does the user put in? What should or should not come out? • What processing should give the output? • How can we test this? Think in terms of vertical slices. • What is the minimal version of this functionality? • Can you touch all the needed tiers of the system. Don’t worry about being 100% right… IKIWISI!
  • 21. Acceptance Criteria Given context When event Then result Be the… Define boundaries of what is acceptable Should be specific to story Results = expectations Identify specific non- functional requirements results
  • 22. Acceptance Criteria Example • A user cannot submit a form without completing all the mandatory fields • Information from the form is retrievable later • Spam protection is working • Payment can be accepted as a credit card • An acknowledgment email is sent to the user after submitting the form. As a conference attendee, I want to be able to register online, so I can register quickly and cut down on paperwork (Bullet format)
  • 23. Show Respect Work with your product owner! Who else will you negotiate with..? Card Conversation Confirmation
  • 25. Establish Your Dojo for exercises 1 - 4 • Gather in groups of 2-4 • Establish who will be the product owner • Brainstorm stories based on the core epics or features presented • Ensure you have acceptance criteria • Be ready to discuss how you split your stories • Feel free to go to a second level
  • 26. Exercise 1 You are building an ecommerce site to sell your products. Your Epic: Browse, Select, and Purchase Products from the site. 10 Minutes to create stories based on this Epic. Remember to ID some Acceptance Criteria! We’ll discuss for 10 minutes
  • 27. Exercise 2 You are building a system to manage content onto your website. Your Epic: Manage Webpages, Images, and Video. 10 Minutes to create stories based on this Epic. Remember to ID some Acceptance Criteria! We’ll discuss for 10 minutes
  • 28. Exercise 3 You are building an exercise and diet iPhone application. Your Epic: Generate Anyone’s Exercise Routine and Diet. 10 Minutes to create stories based on this Epic. Remember to ID some Acceptance Criteria! We’ll discuss for 10 minutes
  • 29. Exercise 4 Select your largest story for the next Sprint. Your REAL product owner and SMEs are available to answer questions. Take 15 minutes to do the following: Meet INVEST? Except for small, No = refactor Can we complete in this Sprint? No = split Will it consume most of the Sprint in effort? Yes = split Take 5 minutes to decide on an approach. Take another 15 minutes to brainstorm stories based on that approach. Can you establish some acceptance criteria? 20 minutes to discuss
  • 30. Gather the Buke for exercises 4 - 5 • Review the stories everyone just created in the last exercise • Select 2 stories you think are well constructed; be able to defend this in terms of INVEST • We’ll use these for our next 2 exercises as one group to learn a bit about vertical slicing
  • 31. Exercise 4: Walk the Code Dog Take 15 minutes to… Walk through the components of the system one by one that will change. Draw these out (on a flip chart or white board). Did you touch all or most of the layers?
  • 32. Exercise 5: Walk the Dog in the Component Park Take 15 minutes to… Draw the architecture of your system components on a flip chart or white board. Using a story you have selected and using a different color marker, redraw over the architectural components of the application as you need to touch them when you implement the story.
  • 33. For Further Study Great post on how most teams evolve through their story understanding by JB Rainsberger http://www.jbrains.ca/permalink/how-youll-probably-learn-to-split-features The Hamburger Method by Gojko Adzic http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/ Walk the Dog Techniques for Vertical Storieshttp://www.dhavalpanchal.com/walk-the-dog/ 15 ways to split an an Epic (3rd exercise from here)http://blogs.collab.net/agile/15-ways-to-split-an-epic-a-team-exercise Beginner’s Guide to Acceptance Criteria (example) http://www.boost.co.nz/blog/agile/acceptance-criteria/ Derived from Phil Rogers slide deck on Patterns for Splitting User Stories.
  • 34. You’re a Team No need to be a solo ninja
  • 35. Let’s go slay some dragons! Or better put, slice some stories!