SlideShare une entreprise Scribd logo
1  sur  129
Télécharger pour lire hors ligne
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.
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
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.
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.
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.
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
9 
A 
day 
in 
the 
life 
of 
Ed 
!
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
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!
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.

Contenu connexe

Tendances

Breaking down agile requirements in Agile Methodology
Breaking down agile requirements in Agile MethodologyBreaking down agile requirements in Agile Methodology
Breaking down agile requirements in Agile MethodologyMario Lucero
 
Writing User Stories (04/2012)
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)Mai Quay
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User StoriesJaneve George
 
Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Easy Agile
 
Db workshop - art of story splitting and writting
Db  workshop - art of story splitting and writtingDb  workshop - art of story splitting and writting
Db workshop - art of story splitting and writtingPhil van Dulm Consultancy
 
Strategies to split user stories
Strategies to split user storiesStrategies to split user stories
Strategies to split user storiescpolc
 
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
 
User story and splitting workshop
User story and splitting workshopUser story and splitting workshop
User story and splitting workshopBrian Sjoberg
 
User Story Splitting
User Story SplittingUser Story Splitting
User Story Splittingtrishly
 
Scrum - Product Owner
Scrum - Product OwnerScrum - Product Owner
Scrum - Product OwnerMárcio Oya
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting PatternsKent McDonald
 
User story slicing
User story slicing User story slicing
User story slicing Ankit Tandon
 
"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuertawebcat
 
Product Backlog Refinement
Product Backlog RefinementProduct Backlog Refinement
Product Backlog RefinementKatarzyna Kot
 
User Story Mapping Workshop
User Story Mapping WorkshopUser Story Mapping Workshop
User Story Mapping WorkshopDana Pylayeva
 

Tendances (20)

Breaking down agile requirements in Agile Methodology
Breaking down agile requirements in Agile MethodologyBreaking down agile requirements in Agile Methodology
Breaking down agile requirements in Agile Methodology
 
Writing User Stories (04/2012)
Writing User Stories (04/2012)Writing User Stories (04/2012)
Writing User Stories (04/2012)
 
User Stories Fundamentals
User Stories FundamentalsUser Stories Fundamentals
User Stories Fundamentals
 
Writing Effective User Stories
Writing Effective User StoriesWriting Effective User Stories
Writing Effective User Stories
 
Workshop - Writing Good User Stories
Workshop - Writing Good User Stories Workshop - Writing Good User Stories
Workshop - Writing Good User Stories
 
Db workshop - art of story splitting and writting
Db  workshop - art of story splitting and writtingDb  workshop - art of story splitting and writting
Db workshop - art of story splitting and writting
 
Strategies to split user stories
Strategies to split user storiesStrategies to split user stories
Strategies to split user stories
 
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 story and splitting workshop
User story and splitting workshopUser story and splitting workshop
User story and splitting workshop
 
User Story Splitting
User Story SplittingUser Story Splitting
User Story Splitting
 
User Stories
User StoriesUser Stories
User Stories
 
Epics and User Stories
Epics and User StoriesEpics and User Stories
Epics and User Stories
 
Scrum - Product Owner
Scrum - Product OwnerScrum - Product Owner
Scrum - Product Owner
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting Patterns
 
User stories in agile software development
User stories in agile software developmentUser stories in agile software development
User stories in agile software development
 
User story slicing
User story slicing User story slicing
User story slicing
 
User Story
User StoryUser Story
User Story
 
"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta"How to write better User Stories" por @jrhuerta
"How to write better User Stories" por @jrhuerta
 
Product Backlog Refinement
Product Backlog RefinementProduct Backlog Refinement
Product Backlog Refinement
 
User Story Mapping Workshop
User Story Mapping WorkshopUser Story Mapping Workshop
User Story Mapping Workshop
 

Similaire à Techniques for Effectively Slicing User Stories by Naresh Jain

Deliver Double the Value in Half the Time
Deliver Double the Value in Half the TimeDeliver Double the Value in Half the Time
Deliver Double the Value in Half the TimeDavid Hawks
 
Developing User Stories - The Dialexa Way
Developing User Stories - The Dialexa WayDeveloping User Stories - The Dialexa Way
Developing User Stories - The Dialexa WayDialexa
 
Agile Austin - Deliver Double the Value in Half the Time
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
 
Building on the Shoulders of Giants: the Story of Bitbucket Pipelines
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
 
Agile Velocity - Deliver double the value in half the time
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
 
Deliver double the value in half the time
Deliver double the value in half the timeDeliver double the value in half the time
Deliver double the value in half the timeDavid Hawks
 
#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...
#ATAGTR2019 Presentation "How analytics is reshaping testing?!" By Himani Yad...Agile Testing Alliance
 
Tools and Resources for New Product Development: The Discovery Phase
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 PhaseDialexa
 
Please solve the right problem!
Please solve the right problem!Please solve the right problem!
Please solve the right problem!Jisha Sharma
 
Please solve the right problem final
Please solve the right problem finalPlease solve the right problem final
Please solve the right problem finalJisha Sharma
 
Design Thinking Approach for Analytics
Design Thinking Approach for AnalyticsDesign Thinking Approach for Analytics
Design Thinking Approach for AnalyticsAgile Testing Alliance
 
Team Leadership: Telling Your Testing Stories
Team Leadership: Telling Your Testing StoriesTeam Leadership: Telling Your Testing Stories
Team Leadership: Telling Your Testing StoriesTechWell
 
B tucker plp
B tucker plpB tucker plp
B tucker plpBELTucker
 
User Stories Suck by David Hawks at North Dallas Product Owners Meetup
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 MeetupAgile Velocity
 
Expert interviews for extra traffic 2021
Expert interviews for extra traffic 2021Expert interviews for extra traffic 2021
Expert interviews for extra traffic 2021iqrashaheen8
 
Developing User stories - Beyond the Basics
Developing User stories - Beyond the BasicsDeveloping User stories - Beyond the Basics
Developing User stories - Beyond the BasicsKubair Shirazee
 
How to Get to Know Your Users by Google's former Product Manager
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 ManagerProduct School
 

Similaire à Techniques for Effectively Slicing User Stories by Naresh Jain (20)

Deliver Double the Value in Half the Time
Deliver Double the Value in Half the TimeDeliver Double the Value in Half the Time
Deliver Double the Value in Half the Time
 
Developing User Stories - The Dialexa Way
Developing User Stories - The Dialexa WayDeveloping User Stories - The Dialexa Way
Developing User Stories - The Dialexa Way
 
Agile Austin - Deliver Double the Value in Half the Time
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
 
Building on the Shoulders of Giants: the Story of Bitbucket Pipelines
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
 
(Webinar) Content Marketing: Neuromarketing Science 2014
(Webinar) Content Marketing: Neuromarketing Science 2014(Webinar) Content Marketing: Neuromarketing Science 2014
(Webinar) Content Marketing: Neuromarketing Science 2014
 
Agile Velocity - Deliver double the value in half the time
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
 
Deliver double the value in half the time
Deliver double the value in half the timeDeliver double the value in half the time
Deliver double the value in half the time
 
#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...
#ATAGTR2019 Presentation "How analytics is reshaping testing?!" By Himani Yad...
 
Tools and Resources for New Product Development: The Discovery Phase
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
 
Please solve the right problem!
Please solve the right problem!Please solve the right problem!
Please solve the right problem!
 
Please solve the right problem final
Please solve the right problem finalPlease solve the right problem final
Please solve the right problem final
 
Design Thinking Approach for Analytics
Design Thinking Approach for AnalyticsDesign Thinking Approach for Analytics
Design Thinking Approach for Analytics
 
Team Leadership: Telling Your Testing Stories
Team Leadership: Telling Your Testing StoriesTeam Leadership: Telling Your Testing Stories
Team Leadership: Telling Your Testing Stories
 
B tucker plp
B tucker plpB tucker plp
B tucker plp
 
Assignment Lean six sigma
Assignment Lean six sigmaAssignment Lean six sigma
Assignment Lean six sigma
 
User Stories Suck by David Hawks at North Dallas Product Owners Meetup
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
 
Expert interviews for extra traffic 2021
Expert interviews for extra traffic 2021Expert interviews for extra traffic 2021
Expert interviews for extra traffic 2021
 
PeSA Annual Internet Conference Australia 2014 - Keynote
PeSA Annual Internet Conference Australia 2014 - Keynote PeSA Annual Internet Conference Australia 2014 - Keynote
PeSA Annual Internet Conference Australia 2014 - Keynote
 
Developing User stories - Beyond the Basics
Developing User stories - Beyond the BasicsDeveloping User stories - Beyond the Basics
Developing User stories - Beyond the Basics
 
How to Get to Know Your Users by Google's former Product Manager
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
 

Plus de Naresh Jain

Problem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignProblem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignNaresh Jain
 
Agile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteAgile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteNaresh Jain
 
Organizational Resilience
Organizational ResilienceOrganizational Resilience
Organizational ResilienceNaresh Jain
 
Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming CodeNaresh Jain
 
Agile India 2018 Conference Summary
Agile India 2018 Conference SummaryAgile India 2018 Conference Summary
Agile India 2018 Conference SummaryNaresh Jain
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 ConferenceNaresh Jain
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 ConferenceNaresh Jain
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 ConferenceNaresh Jain
 
Pilgrim's Progress to the Promised Land by Robert Virding
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 VirdingNaresh Jain
 
Concurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco CesariniConcurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco CesariniNaresh Jain
 
Erlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco CesariniErlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco CesariniNaresh Jain
 
Anatomy of an eCommerce Search Engine by Mayur Datar
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 DatarNaresh Jain
 
Setting up Continuous Delivery Culture for a Large Scale Mobile App
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 AppNaresh Jain
 
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
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 ProdNaresh Jain
 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Naresh Jain
 
No Silver Bullets in Functional Programming by Brian McKenna
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 McKennaNaresh Jain
 
Functional Programming Conference 2016
Functional Programming Conference 2016Functional Programming Conference 2016
Functional Programming Conference 2016Naresh Jain
 
Agile India 2017 Conference
Agile India 2017 ConferenceAgile India 2017 Conference
Agile India 2017 ConferenceNaresh Jain
 
Unleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDTUnleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDTNaresh Jain
 

Plus de Naresh Jain (20)

Problem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary DesignProblem Solving Techniques For Evolutionary Design
Problem Solving Techniques For Evolutionary Design
 
Agile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome NoteAgile India 2019 Conference Welcome Note
Agile India 2019 Conference Welcome Note
 
Organizational Resilience
Organizational ResilienceOrganizational Resilience
Organizational Resilience
 
Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming Code
 
Agile India 2018 Conference Summary
Agile India 2018 Conference SummaryAgile India 2018 Conference Summary
Agile India 2018 Conference Summary
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
 
Agile India 2018 Conference
Agile India 2018 ConferenceAgile India 2018 Conference
Agile India 2018 Conference
 
Pilgrim's Progress to the Promised Land by Robert Virding
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
 
Concurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco CesariniConcurrent languages are Functional by Francesco Cesarini
Concurrent languages are Functional by Francesco Cesarini
 
Erlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco CesariniErlang from behing the trenches by Francesco Cesarini
Erlang from behing the trenches by Francesco Cesarini
 
Anatomy of an eCommerce Search Engine by Mayur Datar
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
 
Setting up Continuous Delivery Culture for a Large Scale Mobile App
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
 
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
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
 
Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas Value Driven Development by Dave Thomas
Value Driven Development by Dave Thomas
 
No Silver Bullets in Functional Programming by Brian McKenna
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
 
Functional Programming Conference 2016
Functional Programming Conference 2016Functional Programming Conference 2016
Functional Programming Conference 2016
 
Agile India 2017 Conference
Agile India 2017 ConferenceAgile India 2017 Conference
Agile India 2017 Conference
 
The Eclipse Way
The Eclipse WayThe Eclipse Way
The Eclipse Way
 
Unleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDTUnleashing the Power of Automated Refactoring with JDT
Unleashing the Power of Automated Refactoring with JDT
 

Dernier

Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
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
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
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
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
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
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
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
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...Akihiro Suda
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROmotivationalword821
 

Dernier (20)

Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
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
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
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...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
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
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
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)
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTROHow To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTRO
 

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.
  • 24.
  • 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.
  • 36.
  • 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.
  • 46.
  • 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.
  • 56.
  • 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.
  • 93.
  • 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
  • 102.
  • 103.
  • 104.
  • 105. 9 A day in the life of Ed !
  • 106.
  • 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
  • 111.
  • 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!
  • 116.
  • 117.
  • 118.
  • 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.