techniques for effectively slicing user stories by naresh jain
Post on 04-Jul-2015
1.395 Views
Preview:
DESCRIPTION
TRANSCRIPT
Copyright © 2014, AgileFAQs. All Rights Reserved.
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.
What are we really trying to build?
User Stories
Copyright © 2014, AgileFAQs. All Rights Reserved.
What is a Story?
Copyright © 2014, AgileFAQs. All Rights Reserved.
Story is a smallest piece of functionality that add business value
What is a Story?
Copyright © 2014, AgileFAQs. All Rights Reserved.
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
What is a Story?
Copyright © 2014, AgileFAQs. All Rights Reserved.
Typical Story Format
Story Title - Actor Action Context
Copyright © 2014, AgileFAQs. All Rights Reserved.
As a .. <user who requires this feature>
Typical Story Format
Story Title - Actor Action Context
Copyright © 2014, AgileFAQs. All Rights Reserved.
As a .. <user who requires this feature>
I want .. <do something>
Typical Story Format
Story Title - Actor Action Context
Copyright © 2014, AgileFAQs. All Rights Reserved.
As a .. <user who requires this feature>
I want .. <do something>
So that... <user goal/business justification>
Typical Story Format
Story Title - Actor Action Context
Copyright © 2014, AgileFAQs. All Rights Reserved.
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
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
Another Story Example
Copyright © 2014, AgileFAQs. All Rights Reserved.
What makes a good Story?
Copyright © 2014, AgileFAQs. All Rights Reserved.
Stories should follow the INVEST principle:
What makes a good Story?
Copyright © 2014, AgileFAQs. All Rights Reserved.
Stories should follow the INVEST principle:
Independent
What makes a good Story?
Copyright © 2014, AgileFAQs. All Rights Reserved.
Stories should follow the INVEST principle:
Independent
Negotiable
What makes a good Story?
Copyright © 2014, AgileFAQs. All Rights Reserved.
Stories should follow the INVEST principle:
Independent
Negotiable
Valuable
What makes a good Story?
Copyright © 2014, AgileFAQs. All Rights Reserved.
Stories should follow the INVEST principle:
Independent
Negotiable
Valuable
Estimate-able
What makes a good Story?
Copyright © 2014, AgileFAQs. All Rights Reserved.
Stories should follow the INVEST principle:
Independent
Negotiable
Valuable
Estimate-able
Small
What makes a good Story?
Copyright © 2014, AgileFAQs. All Rights Reserved.
Stories should follow the INVEST principle:
Independent
Negotiable
Valuable
Estimate-able
Small
Testable
What makes a good Story?
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.
SSST
Spike
Slice
Stub
Time-box
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.
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
Business Goals
User Goals
Copyright © 2014, AgileFAQs. All Rights Reserved.
Discovery
Stories are fundamental unit of activity
Business Goals
User Goals
Copyright © 2014, AgileFAQs. All Rights Reserved.
As a ____, I want to be able to ____ so
that ____
Product Backlog
Might have an initial estimate (perhaps for both analysis and development), and an expression of technical and
business confidence that this is real and achievable
Discovery
Stories are fundamental unit of activity
Business Goals
User Goals
Copyright © 2014, AgileFAQs. All Rights Reserved.
As a ____, I want to be able to ____ so
that ____
Product Backlog
Might have an initial estimate (perhaps for both analysis and development), and an expression of technical and
business confidence that this is real and achievable
Release planningDiscovery
Stories are fundamental unit of activity
Business Goals
User Goals
Copyright © 2014, AgileFAQs. All Rights Reserved.
As a ____, I want to be able to ____ so
that ____
Product Backlog
Might have an initial estimate (perhaps for both analysis and development), and an expression of technical and
business confidence that this is real and achievable
As a ____, I want to be able to ____ so
that ____
I will know this is done when _______
Release Backlog
More detailed estimate, and a specific acceptance test – low confidence stories might be
“spiked” or prototyped
Release planningDiscovery
Stories are fundamental unit of activity
Business Goals
User Goals
Copyright © 2014, AgileFAQs. All Rights Reserved.
As a ____, I want to be able to ____ so
that ____
Product Backlog
Might have an initial estimate (perhaps for both analysis and development), and an expression of technical and
business confidence that this is real and achievable
As a ____, I want to be able to ____ so
that ____
I will know this is done when _______
Release Backlog
More detailed estimate, and a specific acceptance test – low confidence stories might be
“spiked” or prototyped
Release planning Iteration planningDiscovery
Stories are fundamental unit of activity
Business Goals
User Goals
Copyright © 2014, AgileFAQs. All Rights Reserved.
As a ____, I want to be able to ____ so
that ____
Product Backlog
Might have an initial estimate (perhaps for both analysis and development), and an expression of technical and
business confidence that this is real and achievable
As a ____, I want to be able to ____ so
that ____
I will know this is done when _______
Release Backlog
More detailed estimate, and a specific acceptance test – low confidence stories might be
“spiked” or prototyped
As a ____, I want to be able to ____ so
that ____
I will know this is done when _______
To do this I must: 1) _____ 2) _____
Iteration Backlog
Possible automation of the acceptance
test
Development team breaks out the detail of work needed to
pass test
Release planning Iteration planningDiscovery
Stories are fundamental unit of activity
Business Goals
User Goals
Copyright © 2014, AgileFAQs. All Rights Reserved.
Slicing Metaphor
Copyright © 2014, AgileFAQs. All Rights Reserved.
8 Guests - How would you share this cake?
Copyright © 2014, AgileFAQs. All Rights Reserved.
Vertical Slicing
Horizontal Slicing
Copyright © 2014, AgileFAQs. All Rights Reserved.
Let’s try slicing
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
Social Networking Enthusiast uploads profile picture
Copyright © 2014, AgileFAQs. All Rights Reserved.
Using Acceptance Criteria to Slice Stories
Copyright © 2014, AgileFAQs. All Rights Reserved.
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]
Acceptance Criteria
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
How would you slice this?
Copyright © 2014, AgileFAQs. All Rights Reserved.
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 - 1Read-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 - 2Ability to Update Permissions
Tree Structure for Permissions
Update Service for Permissions
Copyright © 2014, AgileFAQs. All Rights Reserved.
Story Slicing - 3Add new role
Copy functionality in UI
Create Services for Roles
Copyright © 2014, AgileFAQs. All Rights Reserved.
Story Slicing - 4Delete 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
How would you slice this?
Copyright © 2014, AgileFAQs. All Rights Reserved.
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 - 3Full 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 - 4Delta 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 - 5Delta 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 TechniquesSystem Slice
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing TechniquesSystem Slice
Static vs. Dynamic
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing TechniquesSystem Slice
Static vs. DynamicReal-time vs. Batch Processing
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing TechniquesSystem Slice
Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. Buy
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing TechniquesSystem Slice
Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual Steps
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing TechniquesSystem Slice
Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing TechniquesSystem Slice
Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles
Behavioural Slice
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing TechniquesSystem Slice
Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles
Behavioural SliceAdjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing TechniquesSystem Slice
Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles
Behavioural SliceAdjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton
Acceptance Criteria
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing TechniquesSystem Slice
Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles
Behavioural SliceAdjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton
Acceptance CriteriaBy-pass certain steps in the workflow
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing TechniquesSystem Slice
Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles
Behavioural SliceAdjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton
Acceptance CriteriaBy-pass certain steps in the workflowFocus on Happy Path First (edge cases later)
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing TechniquesSystem Slice
Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles
Behavioural SliceAdjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton
Acceptance CriteriaBy-pass certain steps in the workflowFocus on Happy Path First (edge cases later)No options - 1 option - Many options
Copyright © 2014, AgileFAQs. All Rights Reserved.
Other Slicing TechniquesSystem Slice
Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles
Behavioural SliceAdjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton
Acceptance CriteriaBy-pass certain steps in the workflowFocus 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 TechniquesSystem Slice
Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles
Behavioural SliceAdjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton
Acceptance CriteriaBy-pass certain steps in the workflowFocus 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 TechniquesSystem Slice
Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles
Behavioural SliceAdjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton
Acceptance CriteriaBy-pass certain steps in the workflowFocus 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 TechniquesSystem Slice
Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles
Behavioural SliceAdjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton
Acceptance CriteriaBy-pass certain steps in the workflowFocus 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 DataImprove Performance Iteratively
Last updated 3/26/2013Copyright © 2011-2013 Agile For All. All rights reserved.Visit http://www.richardlawrence.info/splitting-user-stories/ for more info on the story splitting patterns
www.agileforall.com
HOW TO SPLIT A USER STORYPREPARE THEINPUT STORY
APPLY THESPLITTINGPATTERNS
WORKFLOW STEPS
OPERATIONSBUSINESS RULE
VARIATIONS
INTERFACEVARIATIONS
VARIATIONSIN DATA
SIMPLE/COMPLEX
DEFERPERFORMANCE
BREAK OUT A SPIKE
MAJOR EFFORT
EVALUATETHE 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?)
Can you split the operations into separate stories?
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?)
Can you split the story so you do a subset of the rules first and
enhance with additional rules later?
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?
Does the story get the same kind of data via multiple interfaces?
When you apply the obvious split, is whichever story you do
first the most difficult?
Could you group the later stories and defer the decision about which story comes first?
Does the story have a simple core that provides most of the
value and/or learning?
Could you split the story to do that simple core first and enhance it with later stories?
Does the story get much of its complexity from satisfying
non-functional requirements like performance?
Could you split the story to just make it work first and then enhance it to satisfy the non-functional requirement?
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.
Try another pattern.
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 youcould try another pattern
to see if it works better.
YES
NO
start here
* INVEST - Stories should be:
1
2
3
IndependentNegotiableValuableEstimableSmallTestable
last resort
YESNO
Copyright © 2014, AgileFAQs. All Rights Reserved.
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
Step 1: Identify 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
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 SlicingWhere do Stories come from?
High Level View of the Process
© 2013 Naresh Jain, all rights reserved, www.AgileFAQs.com
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
Pragmatic Personas
User Goals
Day in Life of each Persona
Scenarios &
Narratives
Personas
© 2013 Naresh Jain, all rights reserved, www.AgileFAQs.com
Product Discovery -‐ Steps
Elevator Pitch
Business Goals
Chartering
Pragmatic Personas
User Goals
Day in Life of each Persona
Scenarios &
Narratives
Personas
Ac c ept ance !
Criteria
© 2013 Naresh Jain, all rights reserved, www.AgileFAQs.com
Product Discovery -‐ Steps
Elevator Pitch
Business Goals
Chartering
Pragmatic Personas
User Goals
Day in Life of each Persona
Scenarios &
Narratives
Personas
Activity Map
Task MapInteraction DesignUI Sketch
Story Mapping
Ac c ept ance !
Criteria
© 2013 Naresh Jain, all rights reserved, www.AgileFAQs.com
Product Discovery -‐ Steps
Elevator Pitch
Business Goals
Chartering
Pragmatic Personas
User Goals
Day in Life of each Persona
Scenarios &
Narratives
Personas
Activity Map
Task MapInteraction DesignUI Sketch
Story Mapping
PrioritisationGrouping by ThemesReiterating
Planning
Ac c ept ance !
Criteria
© 2013 Naresh Jain, all rights reserved, www.AgileFAQs.com
Product Discovery -‐ Steps
Elevator Pitch
Business Goals
Chartering
Pragmatic Personas
User Goals
Day in Life of each Persona
Scenarios &
Narratives
Personas
Activity Map
Task MapInteraction DesignUI Sketch
Story Mapping
PrioritisationGrouping by ThemesReiterating
Planning
User Stories
AcceptanceCriteria
User Story Authoring
Ac c ept ance !
Criteria
9
A day in the life of Ed !
© 2013 Naresh Jain, all rights reserved, www.AgileFAQs.com
Maps have laJtude and longitude
54
© 2013 Naresh Jain, all rights reserved, www.AgileFAQs.com
Maps have laJtude and longitude
54
time (from the user’s perspective)
© 2013 Naresh Jain, all rights reserved, www.AgileFAQs.com
Maps have laJtude and longitude
54
time (from the user’s perspective)
priority (time from the planner
and builder’s perspective)
time
nece
ssity
absolutely necessary
more necessary
less necessary
activity 1 activity 2 activity 3 activity 4
Span Planning
time
optio
nalit
y
necessary
less optional
more optional
activity 1 activity 2 activity 3 activity 4
first release
second release
third release
Identify Release from Span Plans
13
15
16
Team fully engaged!
19
Copyright © 2014, AgileFAQs. All Rights Reserved.
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
Goals/Themes
CAPTURE TRAVEL AND DATE TIME
VALIDATE ROUTES OF CARS AND TYPE OF CARS
DRIVER AND CAB ALLOTMENT
NOTIFY THE SUBSCRIBERS ABOUT CABS AND DRIVERSCAPTURE
EMPLOYEE TRAVEL PREFERENCE
Specify starting address
Enter my details (Emp ID,Name,Phn,Email ID)
Book a cab by specifying pick 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
Copyright © 2014, AgileFAQs. All Rights Reserved.
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
top related