Techniques for Effectively Slicing User Stories by Naresh Jain

Naresh Jain
Naresh JainTech Startup Founder at ConfEngine
Techniques for 
Effectively Slicing 
User Stories 
Workshop 
Naresh Jain 
naresh@agilefaqs.com 
@nashjain 
http://nareshjain.com 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Agenda 
Quick intro to user stories 
Spike, Split, Stub & Timebox (SSST) technique to manage large stories 
Splitting metaphor 
Specific techniques to split stories 
High-level techniques to create and prioritise stories 
Copyright © 2014, AgileFAQs. All Rights Reserved.
User Stories 
What are we really trying to build? 
Copyright © 2014, AgileFAQs. All Rights Reserved.
What is a Story? 
Copyright © 2014, AgileFAQs. All Rights Reserved.
What is a Story? 
Story is a smallest piece of functionality that add business value 
Copyright © 2014, AgileFAQs. All Rights Reserved.
What is a Story? 
Story is a smallest piece of functionality that add business value 
Stories should follow Ron Jeffries’ 3 Cs 
Card – Placeholder for conversation 
Conversation – Actual discussion between dev team and user 
Confirmation – Acceptance criteria to determine when the story is finished 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Typical Story Format 
Story Title - Actor Action Context 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Typical Story Format 
Story Title - Actor Action Context 
As a .. <user who requires this feature> 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Typical Story Format 
Story Title - Actor Action Context 
As a .. <user who requires this feature> 
I want .. <do something> 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Typical Story Format 
Story Title - Actor Action Context 
As a .. <user who requires this feature> 
I want .. <do something> 
So that... <user goal/business justification> 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Story Example 
Title: Keen Reader subscribes to a blog 
As a keen reader of your blog 
I want to subscribe to your blog 
So that I can stay up-to-date with the new posts 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Another Story Example 
Copyright © 2014, AgileFAQs. All Rights Reserved. 
! 
Title: Social Networking Enthusiast uploads profile picture 
As a Social Networking Enthusiast 
I want to upload my profile picture 
So my friends can see how I look and recognise me
What makes a good Story? 
Copyright © 2014, AgileFAQs. All Rights Reserved.
What makes a good Story? 
Stories should follow the INVEST principle: 
Copyright © 2014, AgileFAQs. All Rights Reserved.
What makes a good Story? 
Stories should follow the INVEST principle: 
Independent 
Copyright © 2014, AgileFAQs. All Rights Reserved.
What makes a good Story? 
Stories should follow the INVEST principle: 
Independent 
Negotiable 
Copyright © 2014, AgileFAQs. All Rights Reserved.
What makes a good Story? 
Stories should follow the INVEST principle: 
Independent 
Negotiable 
Valuable 
Copyright © 2014, AgileFAQs. All Rights Reserved.
What makes a good Story? 
Stories should follow the INVEST principle: 
Independent 
Negotiable 
Valuable 
Estimate-able 
Copyright © 2014, AgileFAQs. All Rights Reserved.
What makes a good Story? 
Stories should follow the INVEST principle: 
Independent 
Negotiable 
Valuable 
Estimate-able 
Small 
Copyright © 2014, AgileFAQs. All Rights Reserved.
What makes a good Story? 
Stories should follow the INVEST principle: 
Independent 
Negotiable 
Valuable 
Estimate-able 
Small 
Testable 
Copyright © 2014, AgileFAQs. All Rights Reserved.
What do you do to Large Stories? 
James Grenning - Story Weight Reduction Toolkit! 
http://www.renaissancesoftware.net/blog/archives/48 
Copyright © 2014, AgileFAQs. All Rights Reserved.
What do you do to Large Stories? 
Copyright © 2014, AgileFAQs. All Rights Reserved. 
SSST 
Spike 
Slice 
Stub 
Time-box 
James Grenning - Story Weight Reduction Toolkit! 
http://www.renaissancesoftware.net/blog/archives/48
Breakout Session 
Story writing exercise 
Break out into groups of 3-5 people 
Business Problem: Casual daters search for matches online 
Use process model to drive out the stories 
Keep in mind: 
Format: As X I want to Y so I can Z 
INVEST principle 
Consistent granularity 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Techniques for Effectively Slicing User Stories by Naresh Jain
Stories are fundamental unit of activity 
Copyright © 2014, AgileFAQs. All Rights Reserved. 
Business Goals 
User Goals
Stories are fundamental unit of activity 
Copyright © 2014, AgileFAQs. All Rights Reserved. 
Discovery 
Business Goals 
User Goals
Stories are fundamental unit of activity 
Product Backlog 
As a ____, I want to 
be able to ____ so 
that ____ 
Discovery 
Might have an initial estimate 
(perhaps for both analysis 
and development), and an 
expression of technical and 
business confidence that this 
Copyright © 2014, AgileFAQs. All Rights Reserved. 
is real and achievable 
Business Goals 
User Goals
Stories are fundamental unit of activity 
Product Backlog 
As a ____, I want to 
be able to ____ so 
that ____ 
Might have an initial estimate 
(perhaps for both analysis 
and development), and an 
expression of technical and 
business confidence that this 
Copyright © 2014, AgileFAQs. All Rights Reserved. 
is real and achievable 
Release planning 
Discovery 
Business Goals 
User Goals
Stories are fundamental unit of activity 
Product Backlog 
As a ____, I want to 
be able to ____ so 
that ____ 
Might have an initial estimate 
(perhaps for both analysis 
and development), and an 
expression of technical and 
business confidence that this 
Release Backlog 
Release planning 
Copyright © 2014, AgileFAQs. All Rights Reserved. 
is real and achievable 
As a ____, I want to 
be able to ____ so 
that ____ 
I will know this is done 
when _______ 
More detailed estimate, and a 
specific acceptance test – low 
confidence stories might be 
“spiked” or prototyped 
Discovery 
Business Goals 
User Goals
Stories are fundamental unit of activity 
Product Backlog 
As a ____, I want to 
be able to ____ so 
that ____ 
Might have an initial estimate 
(perhaps for both analysis 
and development), and an 
expression of technical and 
business confidence that this 
Release Backlog 
Release planning Iteration planning 
Copyright © 2014, AgileFAQs. All Rights Reserved. 
is real and achievable 
As a ____, I want to 
be able to ____ so 
that ____ 
I will know this is done 
when _______ 
More detailed estimate, and a 
specific acceptance test – low 
confidence stories might be 
“spiked” or prototyped 
Discovery 
Business Goals 
User Goals
Stories are fundamental unit of activity 
Product Backlog 
As a ____, I want to 
be able to ____ so 
that ____ 
Might have an initial estimate 
(perhaps for both analysis 
and development), and an 
expression of technical and 
business confidence that this 
Release Backlog 
Copyright © 2014, AgileFAQs. All Rights Reserved. 
is real and achievable 
As a ____, I want to 
be able to ____ so 
that ____ 
I will know this is done 
when _______ 
More detailed estimate, and a 
specific acceptance test – low 
confidence stories might be 
“spiked” or prototyped 
Iteration Backlog 
As a ____, I want to 
be able to ____ so 
that ____ 
I will know this is done 
when _______ 
To do this I must: 
1) _____ 
2) _____ 
Possible automation 
of the acceptance 
test 
Development team 
breaks out the detail 
of work needed to 
pass test 
Release planning Iteration planning 
Discovery 
Business Goals 
User Goals
Slicing Metaphor 
Copyright © 2014, AgileFAQs. All Rights Reserved.
8 Guests - How would you share this cake? 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Vertical Slicing 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Horizontal Slicing
Techniques for Effectively Slicing User Stories by Naresh Jain
Let’s try slicing 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Social Networking Enthusiast uploads profile picture 
Copyright © 2014, AgileFAQs. All Rights Reserved. 
! 
As a Social Networking Enthusiast 
I want to upload my profile picture 
So my friends can see how I look and recognise me
Using Acceptance 
Criteria to Slice Stories 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Acceptance Criteria 
Acceptance Criteria should contain: 
ACTOR 
VERB – DESCRIBING A BEHAVIOUR 
OBSERVABLE RESULT 
! 
To accommodate pre-conditions Acceptance Criteria can be expressed as 
Given [Precondition] 
When [Actor + Action] 
Then [Observable Result] 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Example 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Example 
Given the user has a valid facebook account and a digital picture on her computer, 
When she uploads a picture in facebook, 
Then her the picture should be visible to all her friends in her network. 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Example 
Given the user has a valid facebook account and a digital picture on her computer, 
When she uploads a picture in facebook, 
Then her the picture should be visible to all her friends in her network. 
Given an user is trying to find a friend on facebook, 
When the user searches for a person using their name, 
Then their profile picture should be displayed along with other details. 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Example 
Given the user has a valid facebook account and a digital picture on her computer, 
When she uploads a picture in facebook, 
Then her the picture should be visible to all her friends in her network. 
Given an user is trying to find a friend on facebook, 
When the user searches for a person using their name, 
Then their profile picture should be displayed along with other details. 
As owner of facebook, 
I want users to upload authentic, personal profile picture, 
So facebook's reputation remains intact and facebook stays out of legal hassles. 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Roles & Permissions 
Administration 
Example 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Techniques for Effectively Slicing User Stories by Naresh Jain
How would you slice this?
Let’s decompose this… 
Add new role 
Delete existing role 
Copy existing role 
Update permissions 
Search roles 
Copyright © 2014, AgileFAQs. All Rights Reserved.
From a technical point of view 
Left & Right Pane 
Client side Search functionality 
Tree Structure for Permissions 
CRUD Services for Roles 
Read & Update Service for Permissions 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Story Slicing - 1 
Read-only view of Roles & Permissions 
Left & Right Pane 
Display permissions in a table 
Read Service for Roles 
Read Service for Permissions 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Story Slicing - 2 
Ability to Update Permissions 
Tree Structure for Permissions 
Update Service for Permissions 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Story Slicing - 3 
Add new role 
Copy functionality in UI 
Create Services for Roles 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Story Slicing - 4 
Delete existing role 
Delete functionality in UI 
Delete Services for Roles 
Client side Search functionality 
Copyright © 2014, AgileFAQs. All Rights Reserved.
What Slicing Technique did we use? 
We started with read-only version and gradually added the ability to update 
permissions and add new roles. 
In other words - We increased the sophistication of the feature. 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Devolution 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Techniques for Effectively Slicing User Stories by Naresh Jain
How would you slice this?
Story Slicing - 1 
Full on-screen report for most common occupancy type 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Story Slicing - 2 
Full on-screen report for most common occupancy type but can be filtered 
by a date-range. 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Story Slicing - 3 
Full on-screen report for most common occupancy type but can be filtered 
by a date-range and room type. 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Story Slicing - 4 
Delta on-screen report for most common occupancy type but can be filtered 
by a date-range and room type. 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Story Slicing - 5 
Delta on-screen report for all occupancy type but can be filtered by a date-range 
and room type. 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Story Slicing - 6 
Add support for different report formats. 
Copyright © 2014, AgileFAQs. All Rights Reserved.
What Slicing Technique did we use? 
We started with showing most common, full data and then added more filters 
to fine tune the data. 
In other words - We sophisticated the feature by adding more filters. 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing Techniques 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing Techniques 
Copyright © 2014, AgileFAQs. All Rights Reserved. 
System Slice
Other Slicing Techniques 
Copyright © 2014, AgileFAQs. All Rights Reserved. 
System Slice 
Static vs. Dynamic
Other Slicing Techniques 
System Slice 
Static vs. Dynamic 
Real-time vs. Batch Processing 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing Techniques 
System Slice 
Static vs. Dynamic 
Real-time vs. Batch Processing 
Build vs. Buy 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing Techniques 
System Slice 
Static vs. Dynamic 
Real-time vs. Batch Processing 
Build vs. Buy 
Automated vs. Manual Steps 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing Techniques 
System Slice 
Static vs. Dynamic 
Real-time vs. Batch Processing 
Build vs. Buy 
Automated vs. Manual Steps 
Defer certain roles 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing Techniques 
System Slice 
Static vs. Dynamic 
Real-time vs. Batch Processing 
Build vs. Buy 
Automated vs. Manual Steps 
Defer certain roles 
Behavioural Slice 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing Techniques 
System Slice 
Static vs. Dynamic 
Real-time vs. Batch Processing 
Build vs. Buy 
Automated vs. Manual Steps 
Defer certain roles 
Behavioural Slice 
Adjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing Techniques 
System Slice 
Static vs. Dynamic 
Real-time vs. Batch Processing 
Build vs. Buy 
Automated vs. Manual Steps 
Defer certain roles 
Behavioural Slice 
Adjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton 
Acceptance Criteria 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing Techniques 
System Slice 
Static vs. Dynamic 
Real-time vs. Batch Processing 
Build vs. Buy 
Automated vs. Manual Steps 
Defer certain roles 
Behavioural Slice 
Adjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton 
Acceptance Criteria 
By-pass certain steps in the workflow 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing Techniques 
System Slice 
Static vs. Dynamic 
Real-time vs. Batch Processing 
Build vs. Buy 
Automated vs. Manual Steps 
Defer certain roles 
Behavioural Slice 
Adjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton 
Acceptance Criteria 
By-pass certain steps in the workflow 
Focus on Happy Path First (edge cases later) 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing Techniques 
System Slice 
Static vs. Dynamic 
Real-time vs. Batch Processing 
Build vs. Buy 
Automated vs. Manual Steps 
Defer certain roles 
Behavioural Slice 
Adjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton 
Acceptance Criteria 
By-pass certain steps in the workflow 
Focus on Happy Path First (edge cases later) 
No options - 1 option - Many options 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing Techniques 
System Slice 
Static vs. Dynamic 
Real-time vs. Batch Processing 
Build vs. Buy 
Automated vs. Manual Steps 
Defer certain roles 
Behavioural Slice 
Adjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton 
Acceptance Criteria 
By-pass certain steps in the workflow 
Focus on Happy Path First (edge cases later) 
No options - 1 option - Many options 
Incrementally improve ‘Ilities' (Usability, Scalability, Reliability, etc.) 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing Techniques 
System Slice 
Static vs. Dynamic 
Real-time vs. Batch Processing 
Build vs. Buy 
Automated vs. Manual Steps 
Defer certain roles 
Behavioural Slice 
Adjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton 
Acceptance Criteria 
By-pass certain steps in the workflow 
Focus on Happy Path First (edge cases later) 
No options - 1 option - Many options 
Incrementally improve ‘Ilities' (Usability, Scalability, Reliability, etc.) 
Simpler UI (even consider using a standard UI) 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing Techniques 
System Slice 
Static vs. Dynamic 
Real-time vs. Batch Processing 
Build vs. Buy 
Automated vs. Manual Steps 
Defer certain roles 
Behavioural Slice 
Adjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton 
Acceptance Criteria 
By-pass certain steps in the workflow 
Focus on Happy Path First (edge cases later) 
No options - 1 option - Many options 
Incrementally improve ‘Ilities' (Usability, Scalability, Reliability, etc.) 
Simpler UI (even consider using a standard UI) 
Minmal Data 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing Techniques 
System Slice 
Static vs. Dynamic 
Real-time vs. Batch Processing 
Build vs. Buy 
Automated vs. Manual Steps 
Defer certain roles 
Behavioural Slice 
Adjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton 
Acceptance Criteria 
By-pass certain steps in the workflow 
Focus on Happy Path First (edge cases later) 
No options - 1 option - Many options 
Incrementally improve ‘Ilities' (Usability, Scalability, Reliability, etc.) 
Simpler UI (even consider using a standard UI) 
Minmal Data 
Improve Performance Iteratively 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Can you split the operations 
into separate stories? 
Can you split the story so you 
do a subset of the rules first and 
enhance with additional rules later? 
Could you split the story 
to just make it work first and 
then enhance it to satisfy the 
non-functional requirement? 
Does the story get much of its 
complexity from satisfying 
non-functional requirements like 
performance? 
Does the story have a simple 
core that provides most of the 
value and/or learning? 
When you apply the obvious 
split, is whichever story you do 
first the most difficult? 
Does the story get the same 
kind of data via multiple interfaces? 
Visit http://www.richardlawrence.info/splitting-user-stories/ for more info on the story splitting patterns 
Try another pattern. 
Copyright © 2011-2013 Agile For All. All rights reserved. Last updated 3/26/2013 
1 
www.agileforall.com 
HOW TO SPLIT A USER STORY 
PREPARE THE 
INPUT STORY 
APPLY THE 
SPLITTING 
PATTERNS 
WORKFLOW STEPS 
OPERATIONS 
BUSINESS RULE 
VARIATIONS 
INTERFACE 
VARIATIONS 
VARIATIONS 
IN DATA 
Could you split the story to 
do that simple core first and 
enhance it with later stories? 
SIMPLE/COMPLEX 
DEFER 
PERFORMANCE 
BREAK OUT A SPIKE 
MAJOR EFFORT 
EVALUATE 
THE SPLIT 
Does the big story satisfy 
INVEST* (except, perhaps, small)? 
Are the new stories 
roughly equal in size? 
Does the story describe 
a workflow? 
Can you split the story so you do 
the beginning and end of the work-flow 
first and enhance with stories 
from the middle of the workflow? 
Can you take a thin slice 
through the workflow first and 
enhance it with more stories later? 
Does the story include multiple 
operations? (e.g. is it about "managing" 
or "configuring" something?) 
Does the story have a variety of 
business rules? (e.g. is there a domain 
term in the story like "flexible dates" 
that suggests several variations?) 
Does the story do the same 
thing to different kinds of data? Can you split the story to 
process one kind of data 
first and enhance with the 
other kinds later? 
Can you split the story to 
handle data from one 
interface first and enhance 
with the others later? 
Could you group the later 
stories and defer the decision 
about which story comes first? 
Are you still baffled about 
how to split the story? 
Can you find a small 
piece you understand 
well enough to start? 
Can you define the 1-3 
questions most holding 
you back? 
Take a break 
and try again. 
Write a spike with those 
questions, do the minimum 
to answer them, and start 
again at the top of this process 
Write that story first, 
build it, and start again 
at the top of this process. 
Does the story have a 
complex interface? 
Is there a simple version 
you could do first? 
Try another pattern on the 
original story or the larger 
post-split stories. 
Try another pattern. 
You probably have waste 
in each of your stories. 
Are there stories you 
can deprioritize or delete? 
Is there an obvious story 
to start with that gets you 
early value, learning, risk 
mitigation, etc.? 
Combine it with another story 
or otherwise reformulate it to get 
a good, if large, starting story. 
Is the story size 1⁄10 to 
1⁄6 of your velocity? 
Is each story about 
1⁄10 to 1⁄6 of your velocity? 
Do each of the 
stories satisfy INVEST? 
Continue. You 
need to split it. 
You’re done. 
Try another pattern to 
see if you can get this. 
You’re done, though you 
could try another pattern 
to see if it works better. 
YES 
NO 
start here 
* INVEST - Stories should be: 
2 
3 
Independent 
Negotiable 
Valuable 
Estimable 
Small 
Testable 
last resor t 
YES 
NO
Hamburger Method 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Problem 
If we’re working on a story to contact customers by e-mail, the steps might be: 
query db for customers; 
send e-mail to customers; 
retrieve delivery report; 
remove bounced addresses from the system; 
mark non-bounced as ‘recently contacted’ 
But you have to think about 
spam-regulation compliance for sending e-mail 
speed, accuracy & volume 
personalised or generic email content 
build vs. buy 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Hamburger Method 
Source: Gojko Adzic! 
http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/ 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Hamburger Method 
Copyright © 2014, AgileFAQs. All Rights Reserved. 
Step 1: Identify tasks 
Source: Gojko Adzic! 
http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/
Hamburger Method 
Step 1: Identify tasks 
Step 2: Identify options for tasks 
Source: Gojko Adzic! 
http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/ 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Hamburger Method 
Step 1: Identify tasks 
Step 2: Identify options for tasks 
Step 3: Combine results 
Source: Gojko Adzic! 
http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/ 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Hamburger Method 
Step 1: Identify tasks 
Step 2: Identify options for tasks 
Step 3: Combine results 
Step 4: Trim the hamburger 
Source: Gojko Adzic! 
http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/ 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Hamburger Method 
Step 1: Identify tasks 
Step 2: Identify options for tasks 
Step 3: Combine results 
Step 4: Trim the hamburger 
Step 5: Take the first bite 
Source: Gojko Adzic! 
http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/ 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Hamburger Method 
Step 1: Identify tasks 
Step 2: Identify options for tasks 
Step 3: Combine results 
Step 4: Trim the hamburger 
Step 5: Take the first bite 
Step 6: Take another bite…& continue 
Source: Gojko Adzic! 
http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/ 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Before Story Slicing 
Where do Stories come from? 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Techniques for Effectively Slicing User Stories by Naresh Jain
High Level View of the Process
Product 
Discovery 
-­‐ 
Steps 
© 
2013 
Naresh 
Jain, 
all 
rights 
reserved, 
www.AgileFAQs.com
Product 
Discovery 
-­‐ 
Steps 
Elevator 
Pitch 
Business 
Goals 
Chartering 
© 
2013 
Naresh 
Jain, 
all 
rights 
reserved, 
www.AgileFAQs.com
Product 
Discovery 
-­‐ 
Steps 
Elevator 
Pitch 
Business 
Goals 
Chartering 
© 
2013 
Naresh 
Jain, 
all 
rights 
reserved, 
www.AgileFAQs.com 
Pragmatic 
Personas 
User 
Goals 
Day in Life 
of each 
Persona 
Scenarios 
& 
Narratives 
Personas
Product 
Discovery 
-­‐ 
Steps 
Elevator 
Pitch 
Business 
Goals 
Chartering 
© 
2013 
Naresh 
Jain, 
all 
rights 
reserved, 
www.AgileFAQs.com 
Pragmatic 
Personas 
User 
Goals 
Day in Life 
of each 
Persona 
Scenarios 
& 
Narratives 
Personas 
Ac 
c 
ept 
ance 
!Cr 
it 
eria
Product 
Discovery 
-­‐ 
Steps 
Elevator 
Pitch 
Business 
Goals 
Chartering 
© 
2013 
Naresh 
Jain, 
all 
rights 
reserved, 
www.AgileFAQs.com 
Pragmatic 
Personas 
User 
Goals 
Day in Life 
of each 
Persona 
Scenarios 
& 
Narratives 
Personas 
Activity 
Map 
Story Mapping 
Interaction Task Map 
UI Sketch Design 
Ac 
c 
ept 
ance 
!Cr 
it 
eria
Product 
Discovery 
-­‐ 
Steps 
Elevator 
Pitch 
Business 
Goals 
Chartering 
© 
2013 
Naresh 
Jain, 
all 
rights 
reserved, 
www.AgileFAQs.com 
Pragmatic 
Personas 
User 
Goals 
Day in Life 
of each 
Persona 
Scenarios 
& 
Narratives 
Personas 
Activity 
Map 
Story Mapping 
Interaction Task Map 
UI Sketch Design 
Grouping by Prioritisation 
Planning 
Reiterating Themes 
Ac 
c 
ept 
ance 
!Cr 
it 
eria
Product 
Discovery 
-­‐ 
Steps 
Elevator 
Pitch 
Business 
Goals 
Chartering 
© 
2013 
Naresh 
Jain, 
all 
rights 
reserved, 
www.AgileFAQs.com 
Pragmatic 
Personas 
User 
Goals 
Day in Life 
of each 
Persona 
Scenarios 
& 
Narratives 
Personas 
Activity 
Map 
Story Mapping 
Interaction Task Map 
UI Sketch Design 
Grouping by Prioritisation 
Planning 
Reiterating Themes 
User 
Stories 
User Story Authoring 
Acceptance 
Criteria 
Ac 
c 
ept 
ance 
!Cr 
it 
eria
Techniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh Jain
9 
A 
day 
in 
the 
life 
of 
Ed 
!
Techniques for Effectively Slicing User Stories by Naresh Jain
Maps 
have 
laJtude 
and 
longitude 
© 
2013 
Naresh 
Jain, 
all 
rights 
reserved, 
www.AgileFAQs.com 
54
Maps 
have 
laJtude 
and 
longitude 
© 
2013 
Naresh 
Jain, 
all 
rights 
reserved, 
www.AgileFAQs.com 
54 
time 
(from the user’s perspective)
Maps 
have 
laJtude 
and 
longitude 
© 
2013 
Naresh 
Jain, 
all 
rights 
reserved, 
www.AgileFAQs.com 
54 
time 
(from the user’s perspective) 
priority 
(time from the planner 
and builder’s 
perspective)
Span Planning 
time 
necessity 
absolutely 
necessary 
more 
necessary 
less 
necessary 
activity 1 activity 2 activity 3 activity 4
Techniques for Effectively Slicing User Stories by Naresh Jain
Identify Release from Span Plans 
time 
optionality 
necessary 
less 
optional 
more 
optional 
activity 1 activity 2 activity 3 activity 4 
first release 
second release 
third release
13
15
16 
Team 
fully 
engaged!
Techniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh Jain
19
Cab Route Optimisation 
Most companies provide cab pick and drop services to their employees. 
Company wants to 
improve the utilisation of the cabs 
reduce the cab expenses (lesser # of cabs, reduce total distance travelled by cabs) 
reduce the time taken for employees to get to office 
Constraints 
Employees traveling from different locations at different times (flexi-office hours, 
shifts, unplanned meetings) 
We need to give the cab vendor enough notice to arrange the cabs 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Product Discovery 
Copyright © 2014, AgileFAQs. All Rights Reserved. 
Goals/ 
Themes 
CAPTURE 
TRAVEL AND 
DATE TIME 
VALIDATE 
ROUTES OF 
CARS AND 
TYPE OF 
CARS 
DRIVER AND 
CAB 
ALLOTMENT 
NOTIFY THE 
SUBSCRIBER 
S ABOUT 
CABS AND 
CAPTURE Enter my 
DRIVERS 
EMPLOYEE 
details (Emp 
Book a cab by 
TRAVEL 
Specify starting 
ID,Name,Phn,E 
specifying pick 
PREFERENCE 
address 
mail ID) 
up /drop time 
CALCULATE 
ROUTES 
Read the 
rejection reason 
View no. of 
employees, 
duration, no. of 
cabs per route 
View total 
number and 
type of cabs per 
day in month 
Get routes and 
number of 
people from 
system 
Allocate driver 
and cabs to 
routes 
Send sms 
notification with 
cab number, 
driver number 
and pickup time 
MONITORING 
Compare with 
the previous 
snapshot 
Keep a track on 
average no. of 
employees per 
cab 
Keep a track on 
the total 
distance 
travelled by the 
cabs 
Monitor 
successful last 
minute changes 
Monitor the 
avg. time taken 
by cabs per 
route
Low-Fi Prototyping & Interaction Design Testing 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Landing Page 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Entering their Location 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Signing Up 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Office In and Out Time 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Update Schedule 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Generates the Report 
Copyright © 2014, AgileFAQs. All Rights Reserved.
Thank You! 
Questions? 
nashjain@agilefaqs.com 
http://nareshjain.com 
@nashjain 
Copyright © 2014, AgileFAQs. All Rights Reserved.
1 of 129

Recommended

How to Break the Requirements into User Stories by
How to Break the Requirements into User StoriesHow to Break the Requirements into User Stories
How to Break the Requirements into User StoriesShriKant Vashishtha
10.4K views18 slides
Strategies to split user stories by
Strategies to split user storiesStrategies to split user stories
Strategies to split user storiescpolc
6.3K views20 slides
User Story Splitting by
User Story SplittingUser Story Splitting
User Story Splittingtrishly
611 views63 slides
User Stories by
User StoriesUser Stories
User StoriesTathagat Varma
17.7K views58 slides
Effective user stories for your agile or Scrum team by
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 teamDigitalCatapultDevelopmentPractices
3.8K views60 slides
Writing User Stories (04/2012) by
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)Mai Quay
13.2K views37 slides

More Related Content

What's hot

User story and splitting workshop by
User story and splitting workshopUser story and splitting workshop
User story and splitting workshopBrian Sjoberg
1.5K views98 slides
User Stories Fundamentals by
User Stories FundamentalsUser Stories Fundamentals
User Stories FundamentalsMoisés Armani Ramírez
902 views18 slides
User stories in agile software development by
User stories in agile software developmentUser stories in agile software development
User stories in agile software developmentSandra Svanidzaitė, PhD, CBAP
15.5K views72 slides
Writing Good User Stories (Hint: It's not about writing) by
Writing Good User Stories (Hint: It's not about writing)Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)one80
2.2K views20 slides
User Stories by
User StoriesUser Stories
User Storiesguest446c0
1.4K views122 slides
Workshop - Writing Good User Stories by
Workshop - Writing Good User Stories Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Easy Agile
11.3K views14 slides

What's hot(20)

User story and splitting workshop by Brian Sjoberg
User story and splitting workshopUser story and splitting workshop
User story and splitting workshop
Brian Sjoberg1.5K views
Writing Good User Stories (Hint: It's not about writing) by one80
Writing Good User Stories (Hint: It's not about writing)Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)
one802.2K views
User Stories by guest446c0
User StoriesUser Stories
User Stories
guest446c01.4K views
Workshop - Writing Good User Stories by Easy Agile
Workshop - Writing Good User Stories Workshop - Writing Good User Stories
Workshop - Writing Good User Stories
Easy Agile 11.3K views
Cheat Sheet: 8 ways to split your user stories by Payton Consulting
Cheat Sheet:  8 ways to split your user storiesCheat Sheet:  8 ways to split your user stories
Cheat Sheet: 8 ways to split your user stories
Payton Consulting4.8K views
Splitting Stories with the Hamburger Method - A Simple 5 Step Process by Stephen Tucker
Splitting Stories with the Hamburger Method - A Simple 5 Step ProcessSplitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step Process
Stephen Tucker5.8K views
Agile User Stories by kahgeh75
Agile User StoriesAgile User Stories
Agile User Stories
kahgeh755.3K views
User Story Smells & Anti-patterns by Fadi Stephan
User Story Smells & Anti-patternsUser Story Smells & Anti-patterns
User Story Smells & Anti-patterns
Fadi Stephan4.1K views
User Story Workshop by Peter Antman
User Story WorkshopUser Story Workshop
User Story Workshop
Peter Antman46.7K views
21 Story Splitting Patterns by Kent McDonald
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting Patterns
Kent McDonald19.3K views
Slicing user stories by David Michel
Slicing user storiesSlicing user stories
Slicing user stories
David Michel1.6K views

Similar to Techniques for Effectively Slicing User Stories by Naresh Jain

Deliver Double the Value in Half the Time by
Deliver Double the Value in Half the TimeDeliver Double the Value in Half the Time
Deliver Double the Value in Half the TimeDavid Hawks
2.1K views96 slides
Developing User Stories - The Dialexa Way by
Developing User Stories - The Dialexa WayDeveloping User Stories - The Dialexa Way
Developing User Stories - The Dialexa WayDialexa
5.2K views20 slides
Agile Austin - Deliver Double the Value in Half the Time by
Agile Austin - Deliver Double the Value in Half the TimeAgile Austin - Deliver Double the Value in Half the Time
Agile Austin - Deliver Double the Value in Half the TimeDavid Hawks
539 views111 slides
Building on the Shoulders of Giants: the Story of Bitbucket Pipelines by
Building on the Shoulders of Giants: the Story of Bitbucket PipelinesBuilding on the Shoulders of Giants: the Story of Bitbucket Pipelines
Building on the Shoulders of Giants: the Story of Bitbucket PipelinesAtlassian
6.7K views133 slides
(Webinar) Content Marketing: Neuromarketing Science 2014 by
(Webinar) Content Marketing: Neuromarketing Science 2014(Webinar) Content Marketing: Neuromarketing Science 2014
(Webinar) Content Marketing: Neuromarketing Science 2014SiteTuners Conversion Rate Optimization
847 views51 slides
Agile Velocity - Deliver double the value in half the time by
Agile Velocity - Deliver double the value in half the timeAgile Velocity - Deliver double the value in half the time
Agile Velocity - Deliver double the value in half the timeDavid Hawks
1.6K views35 slides

Similar to Techniques for Effectively Slicing User Stories by Naresh Jain(20)

Deliver Double the Value in Half the Time by David Hawks
Deliver Double the Value in Half the TimeDeliver Double the Value in Half the Time
Deliver Double the Value in Half the Time
David Hawks2.1K views
Developing User Stories - The Dialexa Way by Dialexa
Developing User Stories - The Dialexa WayDeveloping User Stories - The Dialexa Way
Developing User Stories - The Dialexa Way
Dialexa5.2K views
Agile Austin - Deliver Double the Value in Half the Time by David Hawks
Agile Austin - Deliver Double the Value in Half the TimeAgile Austin - Deliver Double the Value in Half the Time
Agile Austin - Deliver Double the Value in Half the Time
David Hawks539 views
Building on the Shoulders of Giants: the Story of Bitbucket Pipelines by Atlassian
Building on the Shoulders of Giants: the Story of Bitbucket PipelinesBuilding on the Shoulders of Giants: the Story of Bitbucket Pipelines
Building on the Shoulders of Giants: the Story of Bitbucket Pipelines
Atlassian6.7K views
Agile Velocity - Deliver double the value in half the time by David Hawks
Agile Velocity - Deliver double the value in half the timeAgile Velocity - Deliver double the value in half the time
Agile Velocity - Deliver double the value in half the time
David Hawks1.6K views
Deliver double the value in half the time by David Hawks
Deliver double the value in half the timeDeliver double the value in half the time
Deliver double the value in half the time
David Hawks471 views
#ATAGTR2019 Presentation "How analytics is reshaping testing?!" By Himani Yad... by Agile Testing Alliance
#ATAGTR2019 Presentation "How analytics is reshaping testing?!" By Himani Yad...#ATAGTR2019 Presentation "How analytics is reshaping testing?!" By Himani Yad...
#ATAGTR2019 Presentation "How analytics is reshaping testing?!" By Himani Yad...
Tools and Resources for New Product Development: The Discovery Phase by Dialexa
Tools and Resources for New Product Development: The Discovery PhaseTools and Resources for New Product Development: The Discovery Phase
Tools and Resources for New Product Development: The Discovery Phase
Dialexa1.6K views
Please solve the right problem! by Jisha Sharma
Please solve the right problem!Please solve the right problem!
Please solve the right problem!
Jisha Sharma169 views
Please solve the right problem final by Jisha Sharma
Please solve the right problem finalPlease solve the right problem final
Please solve the right problem final
Jisha Sharma145 views
Team Leadership: Telling Your Testing Stories by TechWell
Team Leadership: Telling Your Testing StoriesTeam Leadership: Telling Your Testing Stories
Team Leadership: Telling Your Testing Stories
TechWell943 views
B tucker plp by BELTucker
B tucker plpB tucker plp
B tucker plp
BELTucker395 views
User Stories Suck by David Hawks at North Dallas Product Owners Meetup by Agile Velocity
User Stories Suck by David Hawks at North Dallas Product Owners MeetupUser Stories Suck by David Hawks at North Dallas Product Owners Meetup
User Stories Suck by David Hawks at North Dallas Product Owners Meetup
Agile Velocity266 views
Expert interviews for extra traffic 2021 by iqrashaheen8
Expert interviews for extra traffic 2021Expert interviews for extra traffic 2021
Expert interviews for extra traffic 2021
iqrashaheen811 views
Developing User stories - Beyond the Basics by Kubair Shirazee
Developing User stories - Beyond the BasicsDeveloping User stories - Beyond the Basics
Developing User stories - Beyond the Basics
Kubair Shirazee3.4K views
How to Get to Know Your Users by Google's former Product Manager by Product School
How to Get to Know Your Users by Google's former Product ManagerHow to Get to Know Your Users by Google's former Product Manager
How to Get to Know Your Users by Google's former Product Manager
Product School580 views

More from Naresh Jain

Problem Solving Techniques For Evolutionary Design by
Problem Solving Techniques For Evolutionary DesignProblem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignNaresh Jain
842 views40 slides
Agile India 2019 Conference Welcome Note by
Agile India 2019 Conference Welcome NoteAgile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteNaresh Jain
749 views25 slides
Organizational Resilience by
Organizational ResilienceOrganizational Resilience
Organizational ResilienceNaresh Jain
1.3K views79 slides
Improving the Quality of Incoming Code by
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming CodeNaresh Jain
624 views54 slides
Agile India 2018 Conference Summary by
Agile India 2018 Conference SummaryAgile India 2018 Conference Summary
Agile India 2018 Conference SummaryNaresh Jain
877 views19 slides
Agile India 2018 Conference by
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 ConferenceNaresh Jain
701 views21 slides

More from Naresh Jain(20)

Problem Solving Techniques For Evolutionary Design by Naresh Jain
Problem Solving Techniques For Evolutionary DesignProblem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary Design
Naresh Jain842 views
Agile India 2019 Conference Welcome Note by Naresh Jain
Agile India 2019 Conference Welcome NoteAgile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome Note
Naresh Jain749 views
Organizational Resilience by Naresh Jain
Organizational ResilienceOrganizational Resilience
Organizational Resilience
Naresh Jain1.3K views
Improving the Quality of Incoming Code by Naresh Jain
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming Code
Naresh Jain624 views
Agile India 2018 Conference Summary by Naresh Jain
Agile India 2018 Conference SummaryAgile India 2018 Conference Summary
Agile India 2018 Conference Summary
Naresh Jain877 views
Agile India 2018 Conference by Naresh Jain
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
Naresh Jain701 views
Agile India 2018 Conference by Naresh Jain
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
Naresh Jain818 views
Agile India 2018 Conference by Naresh Jain
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
Naresh Jain817 views
Pilgrim's Progress to the Promised Land by Robert Virding by Naresh Jain
Pilgrim's Progress to the Promised Land by Robert VirdingPilgrim's Progress to the Promised Land by Robert Virding
Pilgrim's Progress to the Promised Land by Robert Virding
Naresh Jain385 views
Concurrent languages are Functional by Francesco Cesarini by Naresh Jain
Concurrent languages are Functional by Francesco CesariniConcurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco Cesarini
Naresh Jain497 views
Erlang from behing the trenches by Francesco Cesarini by Naresh Jain
Erlang from behing the trenches by Francesco CesariniErlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco Cesarini
Naresh Jain442 views
Anatomy of an eCommerce Search Engine by Mayur Datar by Naresh Jain
Anatomy of an eCommerce Search Engine by Mayur DatarAnatomy of an eCommerce Search Engine by Mayur Datar
Anatomy of an eCommerce Search Engine by Mayur Datar
Naresh Jain1.5K views
Setting up Continuous Delivery Culture for a Large Scale Mobile App by Naresh Jain
Setting up Continuous Delivery Culture for a Large Scale Mobile AppSetting up Continuous Delivery Culture for a Large Scale Mobile App
Setting up Continuous Delivery Culture for a Large Scale Mobile App
Naresh Jain641 views
Towards FutureOps: Stable, Repeatable environments from Dev to Prod by Naresh Jain
Towards FutureOps: Stable, Repeatable environments from Dev to ProdTowards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
Naresh Jain671 views
Value Driven Development by Dave Thomas by Naresh Jain
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas
Naresh Jain2.4K views
No Silver Bullets in Functional Programming by Brian McKenna by Naresh Jain
No Silver Bullets in Functional Programming by Brian McKennaNo Silver Bullets in Functional Programming by Brian McKenna
No Silver Bullets in Functional Programming by Brian McKenna
Naresh Jain774 views
Functional Programming Conference 2016 by Naresh Jain
Functional Programming Conference 2016Functional Programming Conference 2016
Functional Programming Conference 2016
Naresh Jain567 views
Agile India 2017 Conference by Naresh Jain
Agile India 2017 ConferenceAgile India 2017 Conference
Agile India 2017 Conference
Naresh Jain25.5K views
Unleashing the Power of Automated Refactoring with JDT by Naresh Jain
Unleashing the Power of Automated Refactoring with JDTUnleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDT
Naresh Jain623 views

Recently uploaded

Advanced API Mocking Techniques by
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking TechniquesDimpy Adhikary
19 views11 slides
DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft... by
DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft...DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft...
DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft...Deltares
7 views18 slides
WebAssembly by
WebAssemblyWebAssembly
WebAssemblyJens Siebert
48 views18 slides
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema by
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - GeertsemaDSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - GeertsemaDeltares
17 views13 slides
Headless JS UG Presentation.pptx by
Headless JS UG Presentation.pptxHeadless JS UG Presentation.pptx
Headless JS UG Presentation.pptxJack Spektor
7 views24 slides
SAP FOR CONTRACT MANUFACTURING.pdf by
SAP FOR CONTRACT MANUFACTURING.pdfSAP FOR CONTRACT MANUFACTURING.pdf
SAP FOR CONTRACT MANUFACTURING.pdfVirendra Rai, PMP
13 views2 slides

Recently uploaded(20)

Advanced API Mocking Techniques by Dimpy Adhikary
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking Techniques
Dimpy Adhikary19 views
DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft... by Deltares
DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft...DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft...
DSD-INT 2023 Process-based modelling of salt marsh development coupling Delft...
Deltares7 views
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - GeertsemaDSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
Deltares17 views
Headless JS UG Presentation.pptx by Jack Spektor
Headless JS UG Presentation.pptxHeadless JS UG Presentation.pptx
Headless JS UG Presentation.pptx
Jack Spektor7 views
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs by Deltares
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
Deltares8 views
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t... by Deltares
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
Deltares9 views
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols by Deltares
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - DolsDSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
Deltares7 views
FIMA 2023 Neo4j & FS - Entity Resolution.pptx by Neo4j
FIMA 2023 Neo4j & FS - Entity Resolution.pptxFIMA 2023 Neo4j & FS - Entity Resolution.pptx
FIMA 2023 Neo4j & FS - Entity Resolution.pptx
Neo4j7 views
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx by animuscrm
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
2023-November-Schneider Electric-Meetup-BCN Admin Group.pptx
animuscrm14 views
360 graden fabriek by info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info3349238 views
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J... by Deltares
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
Deltares9 views
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with... by sparkfabrik
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
sparkfabrik5 views
Sprint 226 by ManageIQ
Sprint 226Sprint 226
Sprint 226
ManageIQ5 views
Navigating container technology for enhanced security by Niklas Saari by Metosin Oy
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas Saari
Metosin Oy14 views
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium... by Lisi Hocke
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Team Transformation Tactics for Holistic Testing and Quality (Japan Symposium...
Lisi Hocke30 views
Myths and Facts About Hospice Care: Busting Common Misconceptions by Care Coordinations
Myths and Facts About Hospice Care: Busting Common MisconceptionsMyths and Facts About Hospice Care: Busting Common Misconceptions
Myths and Facts About Hospice Care: Busting Common Misconceptions

Techniques for Effectively Slicing User Stories by Naresh Jain

  • 1. Techniques for Effectively Slicing User Stories Workshop Naresh Jain naresh@agilefaqs.com @nashjain http://nareshjain.com Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 2. Agenda Quick intro to user stories Spike, Split, Stub & Timebox (SSST) technique to manage large stories Splitting metaphor Specific techniques to split stories High-level techniques to create and prioritise stories Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 3. User Stories What are we really trying to build? Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 4. What is a Story? Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 5. What is a Story? Story is a smallest piece of functionality that add business value Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 6. What is a Story? Story is a smallest piece of functionality that add business value Stories should follow Ron Jeffries’ 3 Cs Card – Placeholder for conversation Conversation – Actual discussion between dev team and user Confirmation – Acceptance criteria to determine when the story is finished Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 7. Typical Story Format Story Title - Actor Action Context Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 8. Typical Story Format Story Title - Actor Action Context As a .. <user who requires this feature> Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 9. Typical Story Format Story Title - Actor Action Context As a .. <user who requires this feature> I want .. <do something> Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 10. Typical Story Format Story Title - Actor Action Context As a .. <user who requires this feature> I want .. <do something> So that... <user goal/business justification> Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 11. Story Example Title: Keen Reader subscribes to a blog As a keen reader of your blog I want to subscribe to your blog So that I can stay up-to-date with the new posts Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 12. Another Story Example Copyright © 2014, AgileFAQs. All Rights Reserved. ! Title: Social Networking Enthusiast uploads profile picture As a Social Networking Enthusiast I want to upload my profile picture So my friends can see how I look and recognise me
  • 13. What makes a good Story? Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 14. What makes a good Story? Stories should follow the INVEST principle: Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 15. What makes a good Story? Stories should follow the INVEST principle: Independent Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 16. What makes a good Story? Stories should follow the INVEST principle: Independent Negotiable Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 17. What makes a good Story? Stories should follow the INVEST principle: Independent Negotiable Valuable Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 18. What makes a good Story? Stories should follow the INVEST principle: Independent Negotiable Valuable Estimate-able Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 19. What makes a good Story? Stories should follow the INVEST principle: Independent Negotiable Valuable Estimate-able Small Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 20. What makes a good Story? Stories should follow the INVEST principle: Independent Negotiable Valuable Estimate-able Small Testable Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 21. What do you do to Large Stories? James Grenning - Story Weight Reduction Toolkit! http://www.renaissancesoftware.net/blog/archives/48 Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 22. What do you do to Large Stories? Copyright © 2014, AgileFAQs. All Rights Reserved. SSST Spike Slice Stub Time-box James Grenning - Story Weight Reduction Toolkit! http://www.renaissancesoftware.net/blog/archives/48
  • 23. Breakout Session Story writing exercise Break out into groups of 3-5 people Business Problem: Casual daters search for matches online Use process model to drive out the stories Keep in mind: Format: As X I want to Y so I can Z INVEST principle Consistent granularity Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 25. Stories are fundamental unit of activity Copyright © 2014, AgileFAQs. All Rights Reserved. Business Goals User Goals
  • 26. Stories are fundamental unit of activity Copyright © 2014, AgileFAQs. All Rights Reserved. Discovery Business Goals User Goals
  • 27. Stories are fundamental unit of activity Product Backlog As a ____, I want to be able to ____ so that ____ Discovery Might have an initial estimate (perhaps for both analysis and development), and an expression of technical and business confidence that this Copyright © 2014, AgileFAQs. All Rights Reserved. is real and achievable Business Goals User Goals
  • 28. Stories are fundamental unit of activity Product Backlog As a ____, I want to be able to ____ so that ____ Might have an initial estimate (perhaps for both analysis and development), and an expression of technical and business confidence that this Copyright © 2014, AgileFAQs. All Rights Reserved. is real and achievable Release planning Discovery Business Goals User Goals
  • 29. Stories are fundamental unit of activity Product Backlog As a ____, I want to be able to ____ so that ____ Might have an initial estimate (perhaps for both analysis and development), and an expression of technical and business confidence that this Release Backlog Release planning Copyright © 2014, AgileFAQs. All Rights Reserved. is real and achievable As a ____, I want to be able to ____ so that ____ I will know this is done when _______ More detailed estimate, and a specific acceptance test – low confidence stories might be “spiked” or prototyped Discovery Business Goals User Goals
  • 30. Stories are fundamental unit of activity Product Backlog As a ____, I want to be able to ____ so that ____ Might have an initial estimate (perhaps for both analysis and development), and an expression of technical and business confidence that this Release Backlog Release planning Iteration planning Copyright © 2014, AgileFAQs. All Rights Reserved. is real and achievable As a ____, I want to be able to ____ so that ____ I will know this is done when _______ More detailed estimate, and a specific acceptance test – low confidence stories might be “spiked” or prototyped Discovery Business Goals User Goals
  • 31. Stories are fundamental unit of activity Product Backlog As a ____, I want to be able to ____ so that ____ Might have an initial estimate (perhaps for both analysis and development), and an expression of technical and business confidence that this Release Backlog Copyright © 2014, AgileFAQs. All Rights Reserved. is real and achievable As a ____, I want to be able to ____ so that ____ I will know this is done when _______ More detailed estimate, and a specific acceptance test – low confidence stories might be “spiked” or prototyped Iteration Backlog As a ____, I want to be able to ____ so that ____ I will know this is done when _______ To do this I must: 1) _____ 2) _____ Possible automation of the acceptance test Development team breaks out the detail of work needed to pass test Release planning Iteration planning Discovery Business Goals User Goals
  • 32. Slicing Metaphor Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 33. 8 Guests - How would you share this cake? Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 34. Vertical Slicing Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 37. Let’s try slicing Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 38. Social Networking Enthusiast uploads profile picture Copyright © 2014, AgileFAQs. All Rights Reserved. ! As a Social Networking Enthusiast I want to upload my profile picture So my friends can see how I look and recognise me
  • 39. Using Acceptance Criteria to Slice Stories Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 40. Acceptance Criteria Acceptance Criteria should contain: ACTOR VERB – DESCRIBING A BEHAVIOUR OBSERVABLE RESULT ! To accommodate pre-conditions Acceptance Criteria can be expressed as Given [Precondition] When [Actor + Action] Then [Observable Result] Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 41. Example Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 42. Example Given the user has a valid facebook account and a digital picture on her computer, When she uploads a picture in facebook, Then her the picture should be visible to all her friends in her network. Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 43. Example Given the user has a valid facebook account and a digital picture on her computer, When she uploads a picture in facebook, Then her the picture should be visible to all her friends in her network. Given an user is trying to find a friend on facebook, When the user searches for a person using their name, Then their profile picture should be displayed along with other details. Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 44. Example Given the user has a valid facebook account and a digital picture on her computer, When she uploads a picture in facebook, Then her the picture should be visible to all her friends in her network. Given an user is trying to find a friend on facebook, When the user searches for a person using their name, Then their profile picture should be displayed along with other details. As owner of facebook, I want users to upload authentic, personal profile picture, So facebook's reputation remains intact and facebook stays out of legal hassles. Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 45. Roles & Permissions Administration Example Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 47. How would you slice this?
  • 48. Let’s decompose this… Add new role Delete existing role Copy existing role Update permissions Search roles Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 49. From a technical point of view Left & Right Pane Client side Search functionality Tree Structure for Permissions CRUD Services for Roles Read & Update Service for Permissions Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 50. Story Slicing - 1 Read-only view of Roles & Permissions Left & Right Pane Display permissions in a table Read Service for Roles Read Service for Permissions Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 51. Story Slicing - 2 Ability to Update Permissions Tree Structure for Permissions Update Service for Permissions Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 52. Story Slicing - 3 Add new role Copy functionality in UI Create Services for Roles Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 53. Story Slicing - 4 Delete existing role Delete functionality in UI Delete Services for Roles Client side Search functionality Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 54. What Slicing Technique did we use? We started with read-only version and gradually added the ability to update permissions and add new roles. In other words - We increased the sophistication of the feature. Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 55. Devolution Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 57. How would you slice this?
  • 58. Story Slicing - 1 Full on-screen report for most common occupancy type Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 59. Story Slicing - 2 Full on-screen report for most common occupancy type but can be filtered by a date-range. Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 60. Story Slicing - 3 Full on-screen report for most common occupancy type but can be filtered by a date-range and room type. Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 61. Story Slicing - 4 Delta on-screen report for most common occupancy type but can be filtered by a date-range and room type. Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 62. Story Slicing - 5 Delta on-screen report for all occupancy type but can be filtered by a date-range and room type. Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 63. Story Slicing - 6 Add support for different report formats. Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 64. What Slicing Technique did we use? We started with showing most common, full data and then added more filters to fine tune the data. In other words - We sophisticated the feature by adding more filters. Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 65. Other Slicing Techniques Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 66. Other Slicing Techniques Copyright © 2014, AgileFAQs. All Rights Reserved. System Slice
  • 67. Other Slicing Techniques Copyright © 2014, AgileFAQs. All Rights Reserved. System Slice Static vs. Dynamic
  • 68. Other Slicing Techniques System Slice Static vs. Dynamic Real-time vs. Batch Processing Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 69. Other Slicing Techniques System Slice Static vs. Dynamic Real-time vs. Batch Processing Build vs. Buy Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 70. Other Slicing Techniques System Slice Static vs. Dynamic Real-time vs. Batch Processing Build vs. Buy Automated vs. Manual Steps Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 71. Other Slicing Techniques System Slice Static vs. Dynamic Real-time vs. Batch Processing Build vs. Buy Automated vs. Manual Steps Defer certain roles Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 72. Other Slicing Techniques System Slice Static vs. Dynamic Real-time vs. Batch Processing Build vs. Buy Automated vs. Manual Steps Defer certain roles Behavioural Slice Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 73. Other Slicing Techniques System Slice Static vs. Dynamic Real-time vs. Batch Processing Build vs. Buy Automated vs. Manual Steps Defer certain roles Behavioural Slice Adjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 74. Other Slicing Techniques System Slice Static vs. Dynamic Real-time vs. Batch Processing Build vs. Buy Automated vs. Manual Steps Defer certain roles Behavioural Slice Adjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton Acceptance Criteria Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 75. Other Slicing Techniques System Slice Static vs. Dynamic Real-time vs. Batch Processing Build vs. Buy Automated vs. Manual Steps Defer certain roles Behavioural Slice Adjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton Acceptance Criteria By-pass certain steps in the workflow Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 76. Other Slicing Techniques System Slice Static vs. Dynamic Real-time vs. Batch Processing Build vs. Buy Automated vs. Manual Steps Defer certain roles Behavioural Slice Adjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton Acceptance Criteria By-pass certain steps in the workflow Focus on Happy Path First (edge cases later) Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 77. Other Slicing Techniques System Slice Static vs. Dynamic Real-time vs. Batch Processing Build vs. Buy Automated vs. Manual Steps Defer certain roles Behavioural Slice Adjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton Acceptance Criteria By-pass certain steps in the workflow Focus on Happy Path First (edge cases later) No options - 1 option - Many options Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 78. Other Slicing Techniques System Slice Static vs. Dynamic Real-time vs. Batch Processing Build vs. Buy Automated vs. Manual Steps Defer certain roles Behavioural Slice Adjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton Acceptance Criteria By-pass certain steps in the workflow Focus on Happy Path First (edge cases later) No options - 1 option - Many options Incrementally improve ‘Ilities' (Usability, Scalability, Reliability, etc.) Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 79. Other Slicing Techniques System Slice Static vs. Dynamic Real-time vs. Batch Processing Build vs. Buy Automated vs. Manual Steps Defer certain roles Behavioural Slice Adjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton Acceptance Criteria By-pass certain steps in the workflow Focus on Happy Path First (edge cases later) No options - 1 option - Many options Incrementally improve ‘Ilities' (Usability, Scalability, Reliability, etc.) Simpler UI (even consider using a standard UI) Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 80. Other Slicing Techniques System Slice Static vs. Dynamic Real-time vs. Batch Processing Build vs. Buy Automated vs. Manual Steps Defer certain roles Behavioural Slice Adjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton Acceptance Criteria By-pass certain steps in the workflow Focus on Happy Path First (edge cases later) No options - 1 option - Many options Incrementally improve ‘Ilities' (Usability, Scalability, Reliability, etc.) Simpler UI (even consider using a standard UI) Minmal Data Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 81. Other Slicing Techniques System Slice Static vs. Dynamic Real-time vs. Batch Processing Build vs. Buy Automated vs. Manual Steps Defer certain roles Behavioural Slice Adjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton Acceptance Criteria By-pass certain steps in the workflow Focus on Happy Path First (edge cases later) No options - 1 option - Many options Incrementally improve ‘Ilities' (Usability, Scalability, Reliability, etc.) Simpler UI (even consider using a standard UI) Minmal Data Improve Performance Iteratively Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 82. Can you split the operations into separate stories? Can you split the story so you do a subset of the rules first and enhance with additional rules later? Could you split the story to just make it work first and then enhance it to satisfy the non-functional requirement? Does the story get much of its complexity from satisfying non-functional requirements like performance? Does the story have a simple core that provides most of the value and/or learning? When you apply the obvious split, is whichever story you do first the most difficult? Does the story get the same kind of data via multiple interfaces? Visit http://www.richardlawrence.info/splitting-user-stories/ for more info on the story splitting patterns Try another pattern. Copyright © 2011-2013 Agile For All. All rights reserved. Last updated 3/26/2013 1 www.agileforall.com HOW TO SPLIT A USER STORY PREPARE THE INPUT STORY APPLY THE SPLITTING PATTERNS WORKFLOW STEPS OPERATIONS BUSINESS RULE VARIATIONS INTERFACE VARIATIONS VARIATIONS IN DATA Could you split the story to do that simple core first and enhance it with later stories? SIMPLE/COMPLEX DEFER PERFORMANCE BREAK OUT A SPIKE MAJOR EFFORT EVALUATE THE SPLIT Does the big story satisfy INVEST* (except, perhaps, small)? Are the new stories roughly equal in size? Does the story describe a workflow? Can you split the story so you do the beginning and end of the work-flow first and enhance with stories from the middle of the workflow? Can you take a thin slice through the workflow first and enhance it with more stories later? Does the story include multiple operations? (e.g. is it about "managing" or "configuring" something?) Does the story have a variety of business rules? (e.g. is there a domain term in the story like "flexible dates" that suggests several variations?) Does the story do the same thing to different kinds of data? Can you split the story to process one kind of data first and enhance with the other kinds later? Can you split the story to handle data from one interface first and enhance with the others later? Could you group the later stories and defer the decision about which story comes first? Are you still baffled about how to split the story? Can you find a small piece you understand well enough to start? Can you define the 1-3 questions most holding you back? Take a break and try again. Write a spike with those questions, do the minimum to answer them, and start again at the top of this process Write that story first, build it, and start again at the top of this process. Does the story have a complex interface? Is there a simple version you could do first? Try another pattern on the original story or the larger post-split stories. Try another pattern. You probably have waste in each of your stories. Are there stories you can deprioritize or delete? Is there an obvious story to start with that gets you early value, learning, risk mitigation, etc.? Combine it with another story or otherwise reformulate it to get a good, if large, starting story. Is the story size 1⁄10 to 1⁄6 of your velocity? Is each story about 1⁄10 to 1⁄6 of your velocity? Do each of the stories satisfy INVEST? Continue. You need to split it. You’re done. Try another pattern to see if you can get this. You’re done, though you could try another pattern to see if it works better. YES NO start here * INVEST - Stories should be: 2 3 Independent Negotiable Valuable Estimable Small Testable last resor t YES NO
  • 83. Hamburger Method Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 84. Problem If we’re working on a story to contact customers by e-mail, the steps might be: query db for customers; send e-mail to customers; retrieve delivery report; remove bounced addresses from the system; mark non-bounced as ‘recently contacted’ But you have to think about spam-regulation compliance for sending e-mail speed, accuracy & volume personalised or generic email content build vs. buy Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 85. Hamburger Method Source: Gojko Adzic! http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/ Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 86. Hamburger Method Copyright © 2014, AgileFAQs. All Rights Reserved. Step 1: Identify tasks Source: Gojko Adzic! http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/
  • 87. Hamburger Method Step 1: Identify tasks Step 2: Identify options for tasks Source: Gojko Adzic! http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/ Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 88. Hamburger Method Step 1: Identify tasks Step 2: Identify options for tasks Step 3: Combine results Source: Gojko Adzic! http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/ Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 89. Hamburger Method Step 1: Identify tasks Step 2: Identify options for tasks Step 3: Combine results Step 4: Trim the hamburger Source: Gojko Adzic! http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/ Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 90. Hamburger Method Step 1: Identify tasks Step 2: Identify options for tasks Step 3: Combine results Step 4: Trim the hamburger Step 5: Take the first bite Source: Gojko Adzic! http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/ Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 91. Hamburger Method Step 1: Identify tasks Step 2: Identify options for tasks Step 3: Combine results Step 4: Trim the hamburger Step 5: Take the first bite Step 6: Take another bite…& continue Source: Gojko Adzic! http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/ Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 92. Before Story Slicing Where do Stories come from? Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 94. High Level View of the Process
  • 95. Product Discovery -­‐ Steps © 2013 Naresh Jain, all rights reserved, www.AgileFAQs.com
  • 96. Product Discovery -­‐ Steps Elevator Pitch Business Goals Chartering © 2013 Naresh Jain, all rights reserved, www.AgileFAQs.com
  • 97. Product Discovery -­‐ Steps Elevator Pitch Business Goals Chartering © 2013 Naresh Jain, all rights reserved, www.AgileFAQs.com Pragmatic Personas User Goals Day in Life of each Persona Scenarios & Narratives Personas
  • 98. Product Discovery -­‐ Steps Elevator Pitch Business Goals Chartering © 2013 Naresh Jain, all rights reserved, www.AgileFAQs.com Pragmatic Personas User Goals Day in Life of each Persona Scenarios & Narratives Personas Ac c ept ance !Cr it eria
  • 99. Product Discovery -­‐ Steps Elevator Pitch Business Goals Chartering © 2013 Naresh Jain, all rights reserved, www.AgileFAQs.com Pragmatic Personas User Goals Day in Life of each Persona Scenarios & Narratives Personas Activity Map Story Mapping Interaction Task Map UI Sketch Design Ac c ept ance !Cr it eria
  • 100. Product Discovery -­‐ Steps Elevator Pitch Business Goals Chartering © 2013 Naresh Jain, all rights reserved, www.AgileFAQs.com Pragmatic Personas User Goals Day in Life of each Persona Scenarios & Narratives Personas Activity Map Story Mapping Interaction Task Map UI Sketch Design Grouping by Prioritisation Planning Reiterating Themes Ac c ept ance !Cr it eria
  • 101. Product Discovery -­‐ Steps Elevator Pitch Business Goals Chartering © 2013 Naresh Jain, all rights reserved, www.AgileFAQs.com Pragmatic Personas User Goals Day in Life of each Persona Scenarios & Narratives Personas Activity Map Story Mapping Interaction Task Map UI Sketch Design Grouping by Prioritisation Planning Reiterating Themes User Stories User Story Authoring Acceptance Criteria Ac c ept ance !Cr it eria
  • 105. 9 A day in the life of Ed !
  • 107. Maps have laJtude and longitude © 2013 Naresh Jain, all rights reserved, www.AgileFAQs.com 54
  • 108. Maps have laJtude and longitude © 2013 Naresh Jain, all rights reserved, www.AgileFAQs.com 54 time (from the user’s perspective)
  • 109. Maps have laJtude and longitude © 2013 Naresh Jain, all rights reserved, www.AgileFAQs.com 54 time (from the user’s perspective) priority (time from the planner and builder’s perspective)
  • 110. Span Planning time necessity absolutely necessary more necessary less necessary activity 1 activity 2 activity 3 activity 4
  • 112. Identify Release from Span Plans time optionality necessary less optional more optional activity 1 activity 2 activity 3 activity 4 first release second release third release
  • 113. 13
  • 114. 15
  • 115. 16 Team fully engaged!
  • 119. 19
  • 120. Cab Route Optimisation Most companies provide cab pick and drop services to their employees. Company wants to improve the utilisation of the cabs reduce the cab expenses (lesser # of cabs, reduce total distance travelled by cabs) reduce the time taken for employees to get to office Constraints Employees traveling from different locations at different times (flexi-office hours, shifts, unplanned meetings) We need to give the cab vendor enough notice to arrange the cabs Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 121. Product Discovery Copyright © 2014, AgileFAQs. All Rights Reserved. Goals/ Themes CAPTURE TRAVEL AND DATE TIME VALIDATE ROUTES OF CARS AND TYPE OF CARS DRIVER AND CAB ALLOTMENT NOTIFY THE SUBSCRIBER S ABOUT CABS AND CAPTURE Enter my DRIVERS EMPLOYEE details (Emp Book a cab by TRAVEL Specify starting ID,Name,Phn,E specifying pick PREFERENCE address mail ID) up /drop time CALCULATE ROUTES Read the rejection reason View no. of employees, duration, no. of cabs per route View total number and type of cabs per day in month Get routes and number of people from system Allocate driver and cabs to routes Send sms notification with cab number, driver number and pickup time MONITORING Compare with the previous snapshot Keep a track on average no. of employees per cab Keep a track on the total distance travelled by the cabs Monitor successful last minute changes Monitor the avg. time taken by cabs per route
  • 122. Low-Fi Prototyping & Interaction Design Testing Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 123. Landing Page Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 124. Entering their Location Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 125. Signing Up Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 126. Office In and Out Time Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 127. Update Schedule Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 128. Generates the Report Copyright © 2014, AgileFAQs. All Rights Reserved.
  • 129. Thank You! Questions? nashjain@agilefaqs.com http://nareshjain.com @nashjain Copyright © 2014, AgileFAQs. All Rights Reserved.