SlideShare a Scribd company logo
1 of 101
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Building Better Products Using
User Story Mapping
Jeff Patton
jpatton@acm.org
www.agileproductdesign.com
2© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Our goals and agenda today
Goal: Learn to use the user story backlog as a way to
describe user’s experience with your product
Part 1: Mapping user stories
 User story essentials
 Telling stories about the user experience
 Mapping user stories based on experience
Part 2: Planning valuable incremental releases
 Identifying product goals that delivery value
 Slicing the story map into valuable releases
Part 3: Iteratively constructing software (time permitting)
 Identifying an iterative and incremental construction
strategy
 Splitting and thinning stories for upcoming development
iterations
3© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Starting with the
User Story
What do you know about user stories?
What do you like about user stories?
What causes you trouble with user stories
4© Jeff Patton, all rights reserved, www.AgileProductDesign.com
QuickTime™ and a
Cinepak decompressor
are needed to see this picture.
User Stories are multi-purpose
© NBC Studios
5© Jeff Patton, all rights reserved, www.AgileProductDesign.com
User Stories are multi-purpose
Stories are a:
 User’s need
 Product description
 Planning item
 Token for a conversation
 Mechanism for deferring
conversation
* Kent Beck coined the
term user stories in Extreme
Programming Explained 1st
Edition, 1999
6© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Stories gain detail over time
Start with a title
Add a concise description often
using this useful template:
As a [type of user]
I want to [perform some task]
so that I can [reach some goal]
Add other relevant notes,
specifications, or sketches
Before building software write
acceptance criteria (how do we
know when we’re done?)
7© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Agile customers or product owner
prioritize stories into a backlog
A collection of stories
for a software product is
referred to as the
product backlog
The backlog is prioritized
such that the most
valuable items are
highest
8© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Let’s talk about the nature
of multi-purpose things
(yes I’m going meta. I blame Brian.)
9© Jeff Patton, all rights reserved, www.AgileProductDesign.com
User Stories are boundary objects
“A boundary object is a concept in sociology to describe
information used in different ways by different communities.
They are plastic, interpreted differently across communities but
with enough immutable content to maintain integrity”
--Wikipedia
“They are weakly structured in common use, and become
strongly structured in individual-site use. They may be abstract
or concrete. They have different meanings in different social
worlds but their structure is common enough to more than one
world to make them recognizable means of translation. The
creation and management of boundary objects is key in
developing and maintaining coherence across intersecting social
worlds.” -- Leigh & Griesemer
10© Jeff Patton, all rights reserved, www.AgileProductDesign.com
User Stories act as the boundary to
facilitate conversation between many
people
user
w
do
I
de
scr
ibe
to
you
wh
at
I
wa
nt?
w
do
I
und
ers
tan
d
use
rs
and
the
ir
nee
ds?
UX person
th
e
de
tai
ls
of
thi
s
fe
atu
re
I
ne
ed
de
scr
ibe
?
BA
ta
ils
of
w
ha
t
I
ne
ed
to
w
or
k
on
to
da
y?
eveloper
li
d
at
e
th
is
w
or
k
is
d
on
e
?
tester
thi
s
wo
rk
an
d
tra
ck
it
its
pr
og
re
ss
?
PM
gs
m
y
pr
o
d
u
ct
n
e
e
d
s
to
b
e
su
cc
e
ss
fu
l?
business leader
11© Jeff Patton, all rights reserved, www.AgileProductDesign.com
But size always matters...
How big is the story we
want to talk about?
11
12© Jeff Patton, all rights reserved, www.AgileProductDesign.com
And, it’s easy to get lost in the sheer
number of them
12
13© Jeff Patton, all rights reserved, www.AgileProductDesign.com
And, as we start moving forward, how
do we stay on track?
13
14© Jeff Patton, all rights reserved, www.AgileProductDesign.com
User Story Mapping is an an approach to
Organizing and Prioritizing user stories
Unlike typical user story
backlogs, Story Maps:
 make visible the workflow or
value chain
 show the relationships of
larger stories to their child
stories
 help confirm the
completeness of your
backlog
 provide a useful context for
prioritization
 Plan releases in complete and
15© Jeff Patton, all rights reserved, www.AgileProductDesign.com
User Story Mapping is an an approach to
Organizing and Prioritizing user stories
Story Maps support the
primary intent of user stories,
rich discussion
16© Jeff Patton, all rights reserved, www.AgileProductDesign.com
The foundational building
block of a story map is
the user task
17© Jeff Patton, all rights reserved, www.AgileProductDesign.com
First let’s do a warm-up exercise to
understand a few concepts
What were all the things you did to get ready to
be here today?
 Starting from the moment you woke up until you
arrived here
 Write one item per sticky note
17
18© Jeff Patton, all rights reserved, www.AgileProductDesign.com
First let’s do a warm-up exercise to
understand a few concepts
In a small group (3 to 5 people) merge these stickies
into a single model
 Arrange them left to right in an order that makes sense to
the group
 Eliminate duplicates
 Cluster items that seem similar and create labels for the
clusters if items that seem to go together
19© Jeff Patton, all rights reserved, www.AgileProductDesign.com
What’s common about the items
each of you wrote down?
What was different?
How did the models created by
different groups vary?
20© Jeff Patton, all rights reserved, www.AgileProductDesign.com
People achieve goals through
interaction
problem or
goal
How I’d like to feel, or what
I’d like to achieve
Take some
action
action evaluation
Did that action deliver the results I
expected?
goal evaluation
Is my goal met or problem
resolved?
the world
Information and tools
21© Jeff Patton, all rights reserved, www.AgileProductDesign.com
problem or
goal
How I’d like to feel, or
what I’d like to
achieve
Think of three levels: goal, task, and
tool
the world
Information and tools
Take some
action
action evaluation
Did that action deliver the results I
expected?
goal evaluation
Is my goal met or problem
resolved?
goal
task
tool
22© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Think of three levels: goal, task, and
tool
goal
task
tool
23© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Software contains features that support
a variety of tasks and a variety of goals
software
goals
tasks
toolsfeatures
25© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Goals, tasks, and tools apply at both a
personal and organizational level
business
processes
employees,
vendors, & systems
business
objectives
asks
ools
oals
26© Jeff Patton, all rights reserved, www.AgileProductDesign.com
activity
User tasks are decompose to smaller
tasks and organize into activities
Tasks require intentional action on behalf of a tool’s
user
Tasks have an objective that can be completed
Tasks decompose into smaller tasks
Tasks often cluster together into activities of related
tasks
task task task task
task
27© Jeff Patton, all rights reserved, www.AgileProductDesign.com
activitymanage email
User tasks are decompose to smaller
tasks and organize into activities
Tasks require intentional action on behalf of a tool’s
user
Tasks have an objective that can be completed
Tasks decompose into smaller tasks
Tasks often cluster together into activities of related
tasks
“Read an email message” is a task, “Managing
email” is an activity.
task
task
task
task
task
task
read
message
send
message
create
folder delete
message
prioritize
message
place
message
in folder
28© Jeff Patton, all rights reserved, www.AgileProductDesign.com
tasktasktasktask
Activities have characteristics relevant to
the software we’ll choose to build
some number of common tasks
a general goal or purpose
a primary human participant
usually other human participants
a physical place or location
some number of tools including computers, software, electronic
files, telephones, information, paper, etc..
activity
29© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Be sensitive to your user task’s
“altitude”
* from Cockburn’s Writing
Effective Use Cases
Functional or “Sea level”
I’d reasonably expect to complete this in a single sitting
Sub-Functional or “Fish level”
Small tasks that by themselves don’t mean much. I’ll do several
of these before I reach a functional level goal
Activity or “Kite level”
Longer term goals often with no precise ending. I’ll perform
several functional tasks in the context of an activity
Too abstract
Too detailed
Think about user
experience at this
level
30© Jeff Patton, all rights reserved, www.AgileProductDesign.com
User tasks make ideal
user stories:
Title: Take a shower
As an instructor
I want to take a shower
So that I don’t offend my colleagues
31© Jeff Patton, all rights reserved, www.AgileProductDesign.com
user story
In practice user stories may be written to
describe user tasks or the tools that support
them
software
tasks
features
goals
As a weekend gardener
I want to dig a hole
so that I can plant a tree
More task-centric:
As a weekend gardener
I want a shovel
so that I can [dig a hole to]
plant a tree
More tool-centric:
(or feature-centric)
33© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Barney’s
Getting started with a
Story Mapping Problem
Read the Barney’s Information Kiosk
problem
Think about the experience of someone
using the kiosk
(5 minutes)
In small workgroups (3-5 people) discuss:
 What are Barney’s goals or pains?
 What types of users might use the kiosk and why?
 Try to talk about users tasks without talking about the
kiosk (tool) – this can be difficult
(5 minutes)
Your team 33
34© Jeff Patton, all rights reserved, www.AgileProductDesign.com
What are the goals & tasks?
Business goals or
pain points?
Types of users using
this system?
User’s goals or
pains?
How will users of
the system reach
their goals?
34
35© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Start with an
understanding or user
experience
36© Jeff Patton, all rights reserved, www.AgileProductDesign.com
experience
Field Manager enters daily performance reports
The shift has just ended and his reps are coming up with their
totals. They have printed sheets with totals written on them.
Steve quickly looks them over and signs them off. His
assistant manager brings him other sheets with totals he’s
signed off.
In between visits by reps, Steve opens his Field Manager
Workbench on his laptop. After logging in he sees today’s
date and the planned number of applications his reps should
be gathering – 180 for today.
He also sees yesterday’s numbers, and last week’s numbers,
and the last 30 days in graph that shows applications
relative to approval rate. Last week’s numbers were bad,
and it’s the last week of the month, so Steve knows he’s got
to do well today.
Steve clicks “enter rep performance data.” He shuffles his reps
5. The date is defaulted to today, and the shift is defaulted to ‘morning’
since he hasn’t yet entered info for today. Steve begins to enter the
reps name, but after a few characters the system auto-completes his
name.
6. The rep’s ID is already filled in, along with the code for the credit card
promotion they’re working on today.
7. Steve fills in the shift information for his rep. He then enters the total
number of applications taken.
8. It looks like from the notes on this sheet that this rep left sick two hours
early. Steve adds a note about this in the system.
9. Time passes as more reps bring in their sheets and Steve completes
entering them in between conversations.
10. After all the sheets are done, Steve looks at a summary screen for the
day. It looks like he’s close to his goal. If the next shift continues at
this rate he’ll beat the plan by 5% or so. That’s good.
11. Steve validates that the base pay is correct at $5 per app, and that
he’s set an individual bonus giving reps $50 each if they reach 20
apps. Next to each rep he sees the calculated pay, base, bonus, and
total pay for the day.
12. The annual sale at Macy’s has brought a lot of people in today. Steve
chooses a “sale increases mall foot traffic” code to add to his shift data
sheet. Frank, his boss, has pestered him to make sure he includes
this type of information in his daily summaries.
Steven
Credit Card Marketing Field
Manager
Steven is a field manager working
at the local shopping center.
He’s in the middle of a long
workday supervising 13 reps
who are busy talking to people
trying to convince them to
apply for a credit card.
37© Jeff Patton, all rights reserved, www.AgileProductDesign.com
A user scenario is a simple way to think
through user experience concretely
A user scenario tells a story about a main character with a
problem or goal
 Describes how that character reaches their goal
 contains important facts
 describes external context
 describes goals and concerns of our character
include interesting plot points that help us envision
important aspects of the system
A scenario can gloss over uninteresting details
38© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Imagine the user experience
as a scenario
as a scenarioSeparate your team of four into two pairs
One person imagine out loud the experience of someone using the kiosk. Think about:
 Typical use, including typical problems
 Interesting plot points
 Goals and pains of your user
The other ask questions to better understand
After 5 minutes of discussion write out the scenario
Pair one think about Carol:
casual browser
“I want to find something good from a
band I heard on the radio.”
Goal: : have fun finding something
interesting
Pair two think about Isaac:
Impatient buyer
“I wan to find a specific hard to find
foreign film.”
Goal: : Find it and get out quickly
without wasting my time
39© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Extract task-centric user stories
from your user scenarios
from your user scenarios
Come back together as
a team
Reviewing each others
scenarios, extract task-
centric stories using
yellow stickies
Write only the tasks
verb-phrase for your
title
40© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Organize user stories into
a map that
communicates
experience
41© Jeff Patton, all rights reserved, www.AgileProductDesign.com
By arranging activity and task-centric
story cards spatially, we can tell bigger
storiesTell a big story of the product by starting with the major user
activities the kiosk will be used for
 Arrange activities left to right in the order you’d explain them to
someone when asked the question: “What do people do with this
system?”
time
42© Jeff Patton, all rights reserved, www.AgileProductDesign.com
By arranging task-centric story cards
spatially, we can tell bigger stories
Add task-centric stories in under each activity in workflow order
left to right.
 If you were to explain to someone what a person typically does in
this activity, arrange tasks in the order you’d tell the story. Don’t
get too uptight about the order.
time
43© Jeff Patton, all rights reserved, www.AgileProductDesign.com
By arranging task-centric story cards
spatially, we can tell bigger stories
Overlap user tasks vertically if a user may do one of several tasks at
approximately the same time
 If in telling the story I say the systems’ user typically “does this or this
or this, and then does that,” “or’s” signal a stacking vertically, “and
then’s” signal stepping horizontally.
time
44© Jeff Patton, all rights reserved, www.AgileProductDesign.com
The map shows decomposition and
typical flow across the entire system
Reading the activities across the top of the system helps us
understand end-to-end use of the system. (Talk through
just these when talking with people with short attention
spans.)
time
Below each activity, or large
story are the child stories that
make it up
45© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Building a story map helps facilitate
discussion – but requires a bit of space
Gary Levitt, owner & designer of Mad Mimi
46© Jeff Patton, all rights reserved, www.AgileProductDesign.com
A story map for a reasonable sized
system
can fill a room
47© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Assemble your harvested task-centric
stories into a simple story map
Work as a team to organize your stories
Look for activities: tasks that seems similar, are done by similar
people in pursuit of similar goals
Use a different color sticky to label activities
time
48© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Discuss, fill in, refine the
map, and test for
completeness
49© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Once you’ve got the idea down, it’s quick to
record stories as you discuss the experience with
users
Discuss the steps of the process with candidate users
 Record tasks as they say them
 Rearrange tasks and insert tasks as you clarify the big story
 Add activities as you identify them from discussion
time
50© Jeff Patton, all rights reserved, www.AgileProductDesign.com
As details emerge in conversation, trap
them under their associated task cards
Record details so they’re not lost, and so those who
you’re working with know that you’re listening
 Consider tucking them under tasks cards to “hide them”
from the discussion
time
activity
task
sub-tasks or
task details
51© Jeff Patton, all rights reserved, www.AgileProductDesign.com
This simple model is easy to stack
1
2
3
4
5
6
7
8 9
1
0
1
11
.
1110
9
8
76
5
4
32
1
2.
1110987654321
3.
52© Jeff Patton, all rights reserved, www.AgileProductDesign.com
By arranging activity and task-centric
story cards spatially, we can tell bigger
storiesAdd a vertical axis to indicate necessity
Move tasks up and down this axis to indicate how necessary they are
to the activity.
 For a user to successfully engage in this activity, is it necessary they
perform this task? If it’s not absolutely necessary, how critical is it?
time
necessity
53© Jeff Patton, all rights reserved, www.AgileProductDesign.com
By arranging activity and task-centric
story cards spatially, we can tell bigger
storiesTest the Story Map by telling bigger stories with it
 Choose an activity to start with
 When reading left to right use the conjunction “and then” to connect cards in the story
 With cards in the same row use “or” to connect cards in the story
 For cards below the top, “absolutely necessary” axis, use the phrase “might optionally”
to communicate optionality
 Chose a concrete user name to help tell the story
time
necessity
54© Jeff Patton, all rights reserved, www.AgileProductDesign.com
By arranging activity and task-centric
story cards spatially, we can tell bigger
stories
time
necessity
“Steve knows the title of what he’s looking for. He steps up to
the kiosk and searches by title. Optionally he might have
searched by artist. After seeing titles that match what he
typed in, Steve views the price new and used, and then views
the status – whether it’s in stock or not. He notices it’s in stock
as both new and used, so then Steve views the location in the
store for the used title.”
Notice the bold faced user tasks
from our story map
Notice the conjunctions that knit the
cards together into a longer story
55© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Discussions over story maps help drive
out more details
QuickTime™ and a
YUV420 codec decompressor
are needed to see this picture.
Repeated review of the story map with
multiple users and subject matter experts will
help test the model for completeness
56© Jeff Patton, all rights reserved, www.AgileProductDesign.com
The user story map contains two
important anatomical features
The backbone of the application is the list of
essential activities the application supports
The walking skeleton is the software we build
that supports the least number of necessary tasks
across the full span of user experience
time
necessity
The backbone
The walking skeleton
57© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Using discussion, fill in your story map
Work together as a team
Look for alternative tasks
 What else might users of the system have
done that didn’t come up in your
scenarios?
Look for exceptions
 What could go wrong, and what would the
user have to do to recover?
Consider other users
 What might other types of users do to
reach their goals?
Knit al these additional stories into your
map
58© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Slice the map to find ideal
incremental releases
59© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Agile teams plan product construction in
layers
60© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Agile teams plan product construction in
layers
61
Release
How can we release value
incrementally?
What subset of business
objectives will each release
achieve?
What user constituencies will
the release serve?
What general capabilities
(big stories) will the release
offer?
Release Roadmap
Target Customers
Target Personas
Story (Backlog
Item)
What user or stakeholder need will
the story serve?
How will it specifically look and
behave?
How will I determine if it’s
completed?
Story Details
Acceptance Tests© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Product
or Project
What business
objectives will the
product fulfill?
Product Goals
Product Charter
Customers
User Personas
Iteration or
Sprint
What specifically will we
build? (user stories)
How will this iteration
move us toward release
objectives?
Iteration Goal
Development or
Construction Tasks
62© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Given story map organized vertically by
necessity, we need only slice to plan
Choose coherent groups of features that consider the span of business
functionality and user activities
Support all necessary activities with the first release
Improve activity support and add additional activities with subsequent
releases
time
optionality
necessary
less
optional
more
optional
first release
second release
third release
63© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Given story map organized vertically by
necessity, we need only slice to plan
64© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Adding tape lines to the wall lets
participants organize stories into layers
65© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Adding tape lines to the wall lets
participants organize stories into layers
66© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Planning incremental releases can be
facilitated as a collaborative event
67© Jeff Patton, all rights reserved, www.AgileProductDesign.com
There’s a secret to
effective prioritization
(Before I give my ideas about what it is,
what’s worked for you?)
68© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Identify and prioritize desired outcomes
before prioritizing the backlog
Product goals describe what
outcome or benefit received by
the organization after the
product is in use
69© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Product goals suggest how the business will earn value
from the product, and how we can tell we’re getting it
Software built for internal use usually saves
money or helps improve service to customers
indirectly earning money
Software built for use by customers earns money
through direct sales, improved customer
retention, or improved customer loyalty
Product goals are specific to that product - not
generic to any product. A goal to earn more
money isn’t useful
Given a product goal, ask:
“if we’re making progress towards this goal,
how would we know it? What would we
observe in our organization that indicates
success?”
The answer to these questions are useful metrics
70© Jeff Patton, all rights reserved, www.AgileProductDesign.com
incremental releases, where each release delivers
benefit
incremental releases, where each release delivers
benefitCreate horizontal swim-lanes to group features into releases
Arrange features vertically by necessity from the user’s perspective
Split tasks into parts that can be deferred till later releases
Use the product goals from your handouts to identify slices that incrementally
realize product goals
optionality
necessary
less
optional
more
optional
71© Jeff Patton, all rights reserved, www.AgileProductDesign.com
The software we choose to build is a
consequence of smaller upstream
choices
Choices in business
goals, users, and use
have big
consequences to
software scope
Use
(Activities & Tasks)
Software to build
(Specified as User
Stories)
User
Constituencies
Business
Goals
72© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Segmenting scope into incremental releases
also segments use, user goals, and business
goals
Use
(Activities & Tasks)
Software to build
(Specified as User
Stories)
User
Constituencies
Business
Goals
1 2 3
Work top down (goals to
scope) or bottom up
(scope back to goals), but
always work to ensure
you’re delivering scope
that delivers on targeted
business and user goals
73
EasyPOS Point of Sale Software
Release 1: Replace the cash register
Business: gets rid of old manual cash registers and gets accurate up to the
minute sales information across locations.
Users: Cashiers get an easier to use cash register that helps them make
less mistakes, corrects them when they do, and saves time balancing cash
ry night.© Jeff Patton, all rights reserved, www.AgileProductDesign.com
A product release roadmap targets
benefit delivered over time
A roadmap serves to clearly communicate release level product goals and
benefits to stakeholders
For each incremental release:
 Give the release a name or simple statement describing its purpose – think
mantra
 Write a short sentence or two describing what value or benefit the business
gets
 Write a short sentence or two describing what value or benefit the users get
74
EasyPOS Point of Sale Software
Release 1: Replace the cash register
Business: gets rid of old manual cash registers and gets accurate up to the
minute sales information across locations.
Users: Cashiers get an easier to use cash register that helps them make
less mistakes, corrects them when they do, and saves time balancing cash
ry night.© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Turn your sliced story map into a
roadmap
For each slice in your release:
 Give the release a name or simple statement describing its
purpose – think mantra
 Write a short sentence or two describing what value or benefit
the business gets
 Write a short sentence or two describing what value or benefit
the users get
75© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Iteratively and
incrementally construct
software
76© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Traditional software development fixes scope
then estimates, and attempts to fix time and
cost
Traditional software
development
Scope
Time Cost
(resources)
77© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Agile development fixes time and cost, then
leverages iteration and incrementing to maximize
scope
Traditional software
development
Scope
Time Cost
(resources)
Scope
Time
Cost
(resources)
Agile software
development
78© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Leverage a shared understanding of desired
product goals to minimize scope while maximizing
value
Traditional software
development
Scope
Time Cost
(resources)
Scope
Time
Cost
(resources)
Agile software
development
Target business goals &
outcomes
79© Jeff Patton, all rights reserved, www.AgileProductDesign.com
To release benefit on a
schedule we’ll need to
leverage incremental and
iterative thinking
(What’s the difference?)
80© Jeff Patton, all rights reserved, www.AgileProductDesign.com
“incrementing” builds a bit at a time
1 2 3 4 5
Incrementing calls for a fully
formed idea.
And, doing it on time requires
dead accurate estimation.
81© Jeff Patton, all rights reserved, www.AgileProductDesign.com
“iterating” builds a rough version,
validates it, then slowly builds up quality
1 2 3
A more iterative allows you to
move from vague idea to
realization making course
corrections as you go.
4 5
82© Jeff Patton, all rights reserved, www.AgileProductDesign.com
193 82
Many organizations consider revising the same
functionality as failure. Iteration is not
tolerated.
83© Jeff Patton, all rights reserved, www.AgileProductDesign.com
As a product owner, you need a more refined
understanding of “shippable”
84© Jeff Patton, all rights reserved, www.AgileProductDesign.com
tool
Keeping our user stories task-centric
allowed us to defer solution decisions
user goal
user task
85
hold my options open
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Make feature decisions in the context of
time and budget limitations
hole
(to put the flower in)
dig hole
?
86© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Commit to satisfying user needs, not to
specific features
hole
(to put the flower in)
dig hole
?
87© Jeff Patton, all rights reserved, www.AgileProductDesign.com
51
Products with similar features often vary
substantially in the price we pay
low cost moderate cost high cost
Think about the high-level features
in a car - well a bus in our example
At a high level, all features are
necessary
But we know that all buses don’t
have the same price
Each essential feature varies in
subjective quality affecting the final
price
engine
transmission
brakes
suspension
seats
steering wheel
…
88© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Kano cautions us to consider quality as being
composed of objective and subjective
elements
“Discussions of quality have
revolved around the two aspects of
subjectivity and objectivity since the
time of Aristotle.
Embedded in this objective-
subjective split is the idea that
objective quality pertains to the
‘conformance to requirements’
while subjective quality pertains
to the ‘satisfaction of users.’”
--Noriaki Kano
There’s more to
me than that
silly survey
technique!
89© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Kano explains three general classifications for product
features: must-haves, one-dimensionals, and
delighters
Must-haves
The products must have
this features for me to be
consider the product
acceptable
One-dimensionals
The more of this I get, the
better
Delighters
I love this element of the
product!
“This car has many flaws. Buy it
anyway. It’s so much fun to
drive”
-- from a NY Times review of the
Mini Cooper
90© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Separate objective quality from
subjective quality
Objective quality refers to the visible measurable,
and easily validated characteristics of the product
usually in relation to the products’ specifications.
 Does the product perform bug free as
specified?
 Expect objective quality to be high.
Subjective quality refers to the specification
or product design choices you make as a
product owner. These choices affect the
product users’ perception of quality
Is the product simple to use?
Is the product efficient to use?
Do I like using the product?
91© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Use the Kano classifications to both
prioritize and split
Brakes
(must have)
Basic brakes
(must have)
Stopping
distance
(one dimensional)
Anti-locking
(delighter)
Cool dashboard
light when slipping
(delighter)
Keep in mind: you must know your customers and users to
determine subjective value.
One person’s delighter may leave others apathetic.
Another’s must have is useless to other customers
92© Jeff Patton, all rights reserved, www.AgileProductDesign.com
features
release
engine
transmission
suspension
brakes
exteriorbody
Interiorseating
tires
sprint
1234
Product goal: (in 4 sprints) be driving the coolest bus in town
Let’s look at what happens if we take a
naive incremental aproach to
construction
Let’s start with the basic features of our bus.
93© Jeff Patton, all rights reserved, www.AgileProductDesign.com
1 2 3
Iterating affords
building up quality
over time
We can leverage iteration to build up
quality
95© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Consider these four story splitting
heuristics that build up quality
Bare Necessity
For the feature to be minimally demonstrable – but not releasable, what is the minimal
functionality
Example: A form with only necessary fields and no validation
Capability & Flexibility
What would add the ability to perform the user task in different ways? Adding in sub
tasks that are optionally performed?
Example: a form with optional fields, date lookup tools, input translation on
dates
Safety
What would make this feature safer for me to use? For both the user, and for the
business paying for the software?
Example: input validation, enforcement of business rules such as credit card
validation* Adapted from Gerard Meszaros’ “Storyotypes”
96© Jeff Patton, all rights reserved, www.AgileProductDesign.com
usertaskstosupport
releaseD D D D D I IB- C C- D D D DA- B B- B B B B-A- A B A A- A- B-
sprint
1234
Product goal: (in 4 sprints) be driving the highest quality bus possible
Building up quality iteratively and
incrementally ships the best product
possibleWe know each story can be split into at least four parts
Early iterations strive to build bare necessities, later iterations build up
quality
Evaluating readiness based on subjective quality to understand doneness
97© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Divide release design & development
into three phases
Opening Game: Build a simple system span of necessary features first –
the walking skeleton
Mid-Game: Add flexibility and safety next
End Game: Finish with comfort, performance, and luxury
Reserve time in the remaining third for unforeseen additions
and adaptations
time
uncertainty decreases over time
uncertainty
Opening
Game
Build up
necessities
Mid-Game
Build out
flexibility and
business rule
enforcement
End-Game
Refine the UI and
interactions, take
advantage of
iterative learning
Construx on the Cone of Uncertainty: http://www.construx.com/Page.aspx?hid=1648
Visdos on the cone: http://www.implementingscrum.com/2008/02/19/vegas-hangover-enlightenment/
98© Jeff Patton, all rights reserved, www.AgileProductDesign.com
time
uncertainty decreases over time
uncertainty
This product growing strategy slowly
brings the product into focus
An artist envisions an entire painting by starting with a sketch or an
under-painting and slowly building up detail
Apply the same strategy to learn about the product domain as
quickly as possible – to chase out uncertainty before too heavily
investing
Opening
Game
Build up
necessities
Mid-Game
Build out
flexibility and
business rule
enforcement
End-Game
Refine the UI and
interactions, take
advantage of
iterative learning
99© Jeff Patton, all rights reserved, www.AgileProductDesign.com
End Game
Over time the value of
stories begin to diminish
signaling it’s time for
release
Mid Game
Once we’re confident
we have the “shape” of
the product right, we
begin to pile in value
Opening
Game
Early stories emphasize
iteration and learning.
We need to be sure
we’re building the right
product
Looking at the release of business value
over time lets us see what’s going on
here To finish on time
we may “trim
the tail” by
deferring stories
of modest value
time
cumulativebusinessvalue
100© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Split a task-centric backlog item into smaller
iteration stories using the 4 quality heuristics
Work in small groups of 2-3 people.
Review the Story Map – the organized backlog –
for the Barney’s problem
Choose a story you’d like to work with, one
where your group can imagine a prospective
user interface.
Brainstorm the smaller stories that could build
up the larger story to its full quality.
Arrange your brainstormed stories into 3 pile:
101© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Guidelines for releasing on time
Thin stories aggressively during early sprints to
build all essential functionality early.
Build up functionality only after all necessities
are in place.
Protect time in the final sprints for product
refinement.
Assess release readiness at the end of each
sprint as part of product review.
102© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Parting thoughts
103© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Questions?
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Building Better Products Using
User Story Mapping
Jeff Patton
jpatton@acm.org
www.agileproductdesign.com

More Related Content

What's hot

User Story Workshop
User Story WorkshopUser Story Workshop
User Story WorkshopPeter Antman
 
A crash course to user story mapping
A crash course to user story mappingA crash course to user story mapping
A crash course to user story mappingFrances Place
 
Lean Startup + Story Mapping = Awesome Products Faster
Lean Startup + Story Mapping = Awesome Products FasterLean Startup + Story Mapping = Awesome Products Faster
Lean Startup + Story Mapping = Awesome Products FasterBrad Swanson
 
Story maps and personas an intro
Story maps and personas   an introStory maps and personas   an intro
Story maps and personas an introMark Kilby
 
Certified Scrum Product Owner: class desk, posters and photos
Certified Scrum Product Owner: class desk, posters and photosCertified Scrum Product Owner: class desk, posters and photos
Certified Scrum Product Owner: class desk, posters and photosAlexey Krivitsky
 
User Story Mapping Workshop
User Story Mapping WorkshopUser Story Mapping Workshop
User Story Mapping WorkshopDana Pylayeva
 
Splitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step ProcessSplitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step ProcessStephen Tucker
 
Product Owner & Product Manager Training
Product Owner & Product Manager TrainingProduct Owner & Product Manager Training
Product Owner & Product Manager TrainingRob Betcher
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptxPaul Boos
 
The Product Owner Role
The Product Owner RoleThe Product Owner Role
The Product Owner RoleRoman Pichler
 
User Story Splitting
User Story SplittingUser Story Splitting
User Story Splittingtrishly
 
Agile Product Roadmaps
Agile Product RoadmapsAgile Product Roadmaps
Agile Product RoadmapsRoman Pichler
 
Dealing with Difficult Stakeholders: Tips for Product People
Dealing with Difficult Stakeholders: Tips for Product PeopleDealing with Difficult Stakeholders: Tips for Product People
Dealing with Difficult Stakeholders: Tips for Product PeopleRoman Pichler
 
Becoming an Effective Product Owner
Becoming an Effective Product OwnerBecoming an Effective Product Owner
Becoming an Effective Product OwnerMike Cohn
 
Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)one80
 
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
 

What's hot (20)

User Story Workshop
User Story WorkshopUser Story Workshop
User Story Workshop
 
A crash course to user story mapping
A crash course to user story mappingA crash course to user story mapping
A crash course to user story mapping
 
Story of user story
Story of user storyStory of user story
Story of user story
 
Lean Startup + Story Mapping = Awesome Products Faster
Lean Startup + Story Mapping = Awesome Products FasterLean Startup + Story Mapping = Awesome Products Faster
Lean Startup + Story Mapping = Awesome Products Faster
 
Story maps and personas an intro
Story maps and personas   an introStory maps and personas   an intro
Story maps and personas an intro
 
Certified Scrum Product Owner: class desk, posters and photos
Certified Scrum Product Owner: class desk, posters and photosCertified Scrum Product Owner: class desk, posters and photos
Certified Scrum Product Owner: class desk, posters and photos
 
User Story Mapping Workshop
User Story Mapping WorkshopUser Story Mapping Workshop
User Story Mapping Workshop
 
Splitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step ProcessSplitting Stories with the Hamburger Method - A Simple 5 Step Process
Splitting Stories with the Hamburger Method - A Simple 5 Step Process
 
Product Owner & Product Manager Training
Product Owner & Product Manager TrainingProduct Owner & Product Manager Training
Product Owner & Product Manager Training
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
 
The Product Owner Role
The Product Owner RoleThe Product Owner Role
The Product Owner Role
 
Product Owner
Product OwnerProduct Owner
Product Owner
 
WTF is a Product Roadmap?
WTF is a Product Roadmap?WTF is a Product Roadmap?
WTF is a Product Roadmap?
 
User Story Splitting
User Story SplittingUser Story Splitting
User Story Splitting
 
Scrum Product Owner
Scrum Product OwnerScrum Product Owner
Scrum Product Owner
 
Agile Product Roadmaps
Agile Product RoadmapsAgile Product Roadmaps
Agile Product Roadmaps
 
Dealing with Difficult Stakeholders: Tips for Product People
Dealing with Difficult Stakeholders: Tips for Product PeopleDealing with Difficult Stakeholders: Tips for Product People
Dealing with Difficult Stakeholders: Tips for Product People
 
Becoming an Effective Product Owner
Becoming an Effective Product OwnerBecoming an Effective Product Owner
Becoming an Effective Product Owner
 
Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)Writing Good User Stories (Hint: It's not about writing)
Writing Good User Stories (Hint: It's not about writing)
 
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
 

Viewers also liked

Roger Martin and Integrative Thinking
Roger Martin and Integrative ThinkingRoger Martin and Integrative Thinking
Roger Martin and Integrative ThinkingN_Albro
 
How do you get more out of your User Stories?
How do you get more out of your User Stories?How do you get more out of your User Stories?
How do you get more out of your User Stories?Thoughtworks
 
[Kit agile] Jeu sur le Backlog
[Kit agile] Jeu sur le Backlog[Kit agile] Jeu sur le Backlog
[Kit agile] Jeu sur le BacklogFou Cha
 
Formation tests decembre2010
Formation tests decembre2010Formation tests decembre2010
Formation tests decembre2010Fou Cha
 
Marc halevy optimisme_de_demain_vs_cynisme_d_hier
Marc halevy optimisme_de_demain_vs_cynisme_d_hierMarc halevy optimisme_de_demain_vs_cynisme_d_hier
Marc halevy optimisme_de_demain_vs_cynisme_d_hierChristophe Delire
 
Af2012 abaisser les_barrieres
Af2012 abaisser les_barrieresAf2012 abaisser les_barrieres
Af2012 abaisser les_barrieresFou Cha
 

Viewers also liked (6)

Roger Martin and Integrative Thinking
Roger Martin and Integrative ThinkingRoger Martin and Integrative Thinking
Roger Martin and Integrative Thinking
 
How do you get more out of your User Stories?
How do you get more out of your User Stories?How do you get more out of your User Stories?
How do you get more out of your User Stories?
 
[Kit agile] Jeu sur le Backlog
[Kit agile] Jeu sur le Backlog[Kit agile] Jeu sur le Backlog
[Kit agile] Jeu sur le Backlog
 
Formation tests decembre2010
Formation tests decembre2010Formation tests decembre2010
Formation tests decembre2010
 
Marc halevy optimisme_de_demain_vs_cynisme_d_hier
Marc halevy optimisme_de_demain_vs_cynisme_d_hierMarc halevy optimisme_de_demain_vs_cynisme_d_hier
Marc halevy optimisme_de_demain_vs_cynisme_d_hier
 
Af2012 abaisser les_barrieres
Af2012 abaisser les_barrieresAf2012 abaisser les_barrieres
Af2012 abaisser les_barrieres
 

Similar to User Story Mapping for Better Product Design

Patton Building Better Products Using.pdf
Patton Building Better Products Using.pdfPatton Building Better Products Using.pdf
Patton Building Better Products Using.pdfAung Ko Ko Thet
 
From Use to User Interface
From Use     to User InterfaceFrom Use     to User Interface
From Use to User Interfaceabcd82
 
Patton product owner_role
Patton product owner_rolePatton product owner_role
Patton product owner_roleHindu Dharma
 
Product Backlog Mapping
Product Backlog MappingProduct Backlog Mapping
Product Backlog MappingPaul Nil
 
Citrix Labs Rapid Prototyping Workshop
Citrix Labs Rapid Prototyping WorkshopCitrix Labs Rapid Prototyping Workshop
Citrix Labs Rapid Prototyping WorkshopReuven Cohen
 
Email first a lean strategy & a workflow lens
Email first  a lean strategy & a workflow lensEmail first  a lean strategy & a workflow lens
Email first a lean strategy & a workflow lensMike Biggs GAICD
 
Building Better Products Using User Story Mapping
Building Better Products Using User Story MappingBuilding Better Products Using User Story Mapping
Building Better Products Using User Story MappingIT Weekend
 
CSCI-383 Lecture 5-6-7: Object-Oriented Design
CSCI-383 Lecture 5-6-7: Object-Oriented DesignCSCI-383 Lecture 5-6-7: Object-Oriented Design
CSCI-383 Lecture 5-6-7: Object-Oriented DesignJI Ruan
 
Patton user modeling
Patton user modelingPatton user modeling
Patton user modelingidplay
 
Agile Product Owner in Wonderland!
Agile Product Owner in Wonderland!Agile Product Owner in Wonderland!
Agile Product Owner in Wonderland!Tathagat Varma
 
GUI toolkits comparison for python
GUI toolkits comparison for pythonGUI toolkits comparison for python
GUI toolkits comparison for pythonDarren Su
 
Bridging Current Reality & Future Vision with Reality Maps
Bridging Current Reality & Future Vision with Reality MapsBridging Current Reality & Future Vision with Reality Maps
Bridging Current Reality & Future Vision with Reality MapsMalini Rao
 
COMPUTER APPLICATION PROJECT ON
COMPUTER APPLICATION PROJECT ON COMPUTER APPLICATION PROJECT ON
COMPUTER APPLICATION PROJECT ON Jitender Suryavansh
 
CampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile DevelopmentCampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile DevelopmentJawdatTI
 
User Story Mapping Definitions & Basics - StoriesOnBoard.pdf
User Story Mapping Definitions & Basics - StoriesOnBoard.pdfUser Story Mapping Definitions & Basics - StoriesOnBoard.pdf
User Story Mapping Definitions & Basics - StoriesOnBoard.pdfStoriesOnBoard
 
User Experience Distilled
User Experience DistilledUser Experience Distilled
User Experience DistilledHindu Dharma
 
PCC2 - How do I incorporate Apple-like design into my products?
PCC2 - How do I incorporate Apple-like design into my products?PCC2 - How do I incorporate Apple-like design into my products?
PCC2 - How do I incorporate Apple-like design into my products?ProductCamp Chicago
 

Similar to User Story Mapping for Better Product Design (20)

Patton Building Better Products Using.pdf
Patton Building Better Products Using.pdfPatton Building Better Products Using.pdf
Patton Building Better Products Using.pdf
 
From Use to User Interface
From Use     to User InterfaceFrom Use     to User Interface
From Use to User Interface
 
Patton product owner_role
Patton product owner_rolePatton product owner_role
Patton product owner_role
 
Product Backlog Mapping
Product Backlog MappingProduct Backlog Mapping
Product Backlog Mapping
 
Citrix Labs Rapid Prototyping Workshop
Citrix Labs Rapid Prototyping WorkshopCitrix Labs Rapid Prototyping Workshop
Citrix Labs Rapid Prototyping Workshop
 
Email first a lean strategy & a workflow lens
Email first  a lean strategy & a workflow lensEmail first  a lean strategy & a workflow lens
Email first a lean strategy & a workflow lens
 
Building Better Products Using User Story Mapping
Building Better Products Using User Story MappingBuilding Better Products Using User Story Mapping
Building Better Products Using User Story Mapping
 
CSCI-383 Lecture 5-6-7: Object-Oriented Design
CSCI-383 Lecture 5-6-7: Object-Oriented DesignCSCI-383 Lecture 5-6-7: Object-Oriented Design
CSCI-383 Lecture 5-6-7: Object-Oriented Design
 
Patton user modeling
Patton user modelingPatton user modeling
Patton user modeling
 
Agile Product Owner in Wonderland!
Agile Product Owner in Wonderland!Agile Product Owner in Wonderland!
Agile Product Owner in Wonderland!
 
GUI toolkits comparison for python
GUI toolkits comparison for pythonGUI toolkits comparison for python
GUI toolkits comparison for python
 
Agile user story mapping
Agile user story mappingAgile user story mapping
Agile user story mapping
 
Bridging Current Reality & Future Vision with Reality Maps
Bridging Current Reality & Future Vision with Reality MapsBridging Current Reality & Future Vision with Reality Maps
Bridging Current Reality & Future Vision with Reality Maps
 
COMPUTER APPLICATION PROJECT ON
COMPUTER APPLICATION PROJECT ON COMPUTER APPLICATION PROJECT ON
COMPUTER APPLICATION PROJECT ON
 
CampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile DevelopmentCampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile Development
 
User Story Mapping Definitions & Basics - StoriesOnBoard.pdf
User Story Mapping Definitions & Basics - StoriesOnBoard.pdfUser Story Mapping Definitions & Basics - StoriesOnBoard.pdf
User Story Mapping Definitions & Basics - StoriesOnBoard.pdf
 
306 belmont ssp08agileit
306 belmont ssp08agileit306 belmont ssp08agileit
306 belmont ssp08agileit
 
User Experience Distilled
User Experience DistilledUser Experience Distilled
User Experience Distilled
 
Successful Agile/UX
Successful Agile/UXSuccessful Agile/UX
Successful Agile/UX
 
PCC2 - How do I incorporate Apple-like design into my products?
PCC2 - How do I incorporate Apple-like design into my products?PCC2 - How do I incorporate Apple-like design into my products?
PCC2 - How do I incorporate Apple-like design into my products?
 

Recently uploaded

Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptxVinzoCenzo
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
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
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolsosttopstonverter
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorTier1 app
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
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
 
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
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profileakrivarotava
 
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
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesKrzysztofKkol1
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesVictoriaMetrics
 

Recently uploaded (20)

Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
Osi security architecture in network.pptx
Osi security architecture in network.pptxOsi security architecture in network.pptx
Osi security architecture in network.pptx
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
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
 
eSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration toolseSoftTools IMAP Backup Software and migration tools
eSoftTools IMAP Backup Software and migration tools
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Effectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryErrorEffectively Troubleshoot 9 Types of OutOfMemoryError
Effectively Troubleshoot 9 Types of OutOfMemoryError
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
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...
 
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
 
SoftTeco - Software Development Company Profile
SoftTeco - Software Development Company ProfileSoftTeco - Software Development Company Profile
SoftTeco - Software Development Company Profile
 
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...
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilitiesAmazon Bedrock in Action - presentation of the Bedrock's capabilities
Amazon Bedrock in Action - presentation of the Bedrock's capabilities
 
What’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 UpdatesWhat’s New in VictoriaMetrics: Q1 2024 Updates
What’s New in VictoriaMetrics: Q1 2024 Updates
 

User Story Mapping for Better Product Design

  • 1. © Jeff Patton, all rights reserved, www.AgileProductDesign.com Building Better Products Using User Story Mapping Jeff Patton jpatton@acm.org www.agileproductdesign.com
  • 2. 2© Jeff Patton, all rights reserved, www.AgileProductDesign.com Our goals and agenda today Goal: Learn to use the user story backlog as a way to describe user’s experience with your product Part 1: Mapping user stories  User story essentials  Telling stories about the user experience  Mapping user stories based on experience Part 2: Planning valuable incremental releases  Identifying product goals that delivery value  Slicing the story map into valuable releases Part 3: Iteratively constructing software (time permitting)  Identifying an iterative and incremental construction strategy  Splitting and thinning stories for upcoming development iterations
  • 3. 3© Jeff Patton, all rights reserved, www.AgileProductDesign.com Starting with the User Story What do you know about user stories? What do you like about user stories? What causes you trouble with user stories
  • 4. 4© Jeff Patton, all rights reserved, www.AgileProductDesign.com QuickTime™ and a Cinepak decompressor are needed to see this picture. User Stories are multi-purpose © NBC Studios
  • 5. 5© Jeff Patton, all rights reserved, www.AgileProductDesign.com User Stories are multi-purpose Stories are a:  User’s need  Product description  Planning item  Token for a conversation  Mechanism for deferring conversation * Kent Beck coined the term user stories in Extreme Programming Explained 1st Edition, 1999
  • 6. 6© Jeff Patton, all rights reserved, www.AgileProductDesign.com Stories gain detail over time Start with a title Add a concise description often using this useful template: As a [type of user] I want to [perform some task] so that I can [reach some goal] Add other relevant notes, specifications, or sketches Before building software write acceptance criteria (how do we know when we’re done?)
  • 7. 7© Jeff Patton, all rights reserved, www.AgileProductDesign.com Agile customers or product owner prioritize stories into a backlog A collection of stories for a software product is referred to as the product backlog The backlog is prioritized such that the most valuable items are highest
  • 8. 8© Jeff Patton, all rights reserved, www.AgileProductDesign.com Let’s talk about the nature of multi-purpose things (yes I’m going meta. I blame Brian.)
  • 9. 9© Jeff Patton, all rights reserved, www.AgileProductDesign.com User Stories are boundary objects “A boundary object is a concept in sociology to describe information used in different ways by different communities. They are plastic, interpreted differently across communities but with enough immutable content to maintain integrity” --Wikipedia “They are weakly structured in common use, and become strongly structured in individual-site use. They may be abstract or concrete. They have different meanings in different social worlds but their structure is common enough to more than one world to make them recognizable means of translation. The creation and management of boundary objects is key in developing and maintaining coherence across intersecting social worlds.” -- Leigh & Griesemer
  • 10. 10© Jeff Patton, all rights reserved, www.AgileProductDesign.com User Stories act as the boundary to facilitate conversation between many people user w do I de scr ibe to you wh at I wa nt? w do I und ers tan d use rs and the ir nee ds? UX person th e de tai ls of thi s fe atu re I ne ed de scr ibe ? BA ta ils of w ha t I ne ed to w or k on to da y? eveloper li d at e th is w or k is d on e ? tester thi s wo rk an d tra ck it its pr og re ss ? PM gs m y pr o d u ct n e e d s to b e su cc e ss fu l? business leader
  • 11. 11© Jeff Patton, all rights reserved, www.AgileProductDesign.com But size always matters... How big is the story we want to talk about? 11
  • 12. 12© Jeff Patton, all rights reserved, www.AgileProductDesign.com And, it’s easy to get lost in the sheer number of them 12
  • 13. 13© Jeff Patton, all rights reserved, www.AgileProductDesign.com And, as we start moving forward, how do we stay on track? 13
  • 14. 14© Jeff Patton, all rights reserved, www.AgileProductDesign.com User Story Mapping is an an approach to Organizing and Prioritizing user stories Unlike typical user story backlogs, Story Maps:  make visible the workflow or value chain  show the relationships of larger stories to their child stories  help confirm the completeness of your backlog  provide a useful context for prioritization  Plan releases in complete and
  • 15. 15© Jeff Patton, all rights reserved, www.AgileProductDesign.com User Story Mapping is an an approach to Organizing and Prioritizing user stories Story Maps support the primary intent of user stories, rich discussion
  • 16. 16© Jeff Patton, all rights reserved, www.AgileProductDesign.com The foundational building block of a story map is the user task
  • 17. 17© Jeff Patton, all rights reserved, www.AgileProductDesign.com First let’s do a warm-up exercise to understand a few concepts What were all the things you did to get ready to be here today?  Starting from the moment you woke up until you arrived here  Write one item per sticky note 17
  • 18. 18© Jeff Patton, all rights reserved, www.AgileProductDesign.com First let’s do a warm-up exercise to understand a few concepts In a small group (3 to 5 people) merge these stickies into a single model  Arrange them left to right in an order that makes sense to the group  Eliminate duplicates  Cluster items that seem similar and create labels for the clusters if items that seem to go together
  • 19. 19© Jeff Patton, all rights reserved, www.AgileProductDesign.com What’s common about the items each of you wrote down? What was different? How did the models created by different groups vary?
  • 20. 20© Jeff Patton, all rights reserved, www.AgileProductDesign.com People achieve goals through interaction problem or goal How I’d like to feel, or what I’d like to achieve Take some action action evaluation Did that action deliver the results I expected? goal evaluation Is my goal met or problem resolved? the world Information and tools
  • 21. 21© Jeff Patton, all rights reserved, www.AgileProductDesign.com problem or goal How I’d like to feel, or what I’d like to achieve Think of three levels: goal, task, and tool the world Information and tools Take some action action evaluation Did that action deliver the results I expected? goal evaluation Is my goal met or problem resolved? goal task tool
  • 22. 22© Jeff Patton, all rights reserved, www.AgileProductDesign.com Think of three levels: goal, task, and tool goal task tool
  • 23. 23© Jeff Patton, all rights reserved, www.AgileProductDesign.com Software contains features that support a variety of tasks and a variety of goals software goals tasks toolsfeatures
  • 24. 25© Jeff Patton, all rights reserved, www.AgileProductDesign.com Goals, tasks, and tools apply at both a personal and organizational level business processes employees, vendors, & systems business objectives asks ools oals
  • 25. 26© Jeff Patton, all rights reserved, www.AgileProductDesign.com activity User tasks are decompose to smaller tasks and organize into activities Tasks require intentional action on behalf of a tool’s user Tasks have an objective that can be completed Tasks decompose into smaller tasks Tasks often cluster together into activities of related tasks task task task task task
  • 26. 27© Jeff Patton, all rights reserved, www.AgileProductDesign.com activitymanage email User tasks are decompose to smaller tasks and organize into activities Tasks require intentional action on behalf of a tool’s user Tasks have an objective that can be completed Tasks decompose into smaller tasks Tasks often cluster together into activities of related tasks “Read an email message” is a task, “Managing email” is an activity. task task task task task task read message send message create folder delete message prioritize message place message in folder
  • 27. 28© Jeff Patton, all rights reserved, www.AgileProductDesign.com tasktasktasktask Activities have characteristics relevant to the software we’ll choose to build some number of common tasks a general goal or purpose a primary human participant usually other human participants a physical place or location some number of tools including computers, software, electronic files, telephones, information, paper, etc.. activity
  • 28. 29© Jeff Patton, all rights reserved, www.AgileProductDesign.com Be sensitive to your user task’s “altitude” * from Cockburn’s Writing Effective Use Cases Functional or “Sea level” I’d reasonably expect to complete this in a single sitting Sub-Functional or “Fish level” Small tasks that by themselves don’t mean much. I’ll do several of these before I reach a functional level goal Activity or “Kite level” Longer term goals often with no precise ending. I’ll perform several functional tasks in the context of an activity Too abstract Too detailed Think about user experience at this level
  • 29. 30© Jeff Patton, all rights reserved, www.AgileProductDesign.com User tasks make ideal user stories: Title: Take a shower As an instructor I want to take a shower So that I don’t offend my colleagues
  • 30. 31© Jeff Patton, all rights reserved, www.AgileProductDesign.com user story In practice user stories may be written to describe user tasks or the tools that support them software tasks features goals As a weekend gardener I want to dig a hole so that I can plant a tree More task-centric: As a weekend gardener I want a shovel so that I can [dig a hole to] plant a tree More tool-centric: (or feature-centric)
  • 31. 33© Jeff Patton, all rights reserved, www.AgileProductDesign.com Barney’s Getting started with a Story Mapping Problem Read the Barney’s Information Kiosk problem Think about the experience of someone using the kiosk (5 minutes) In small workgroups (3-5 people) discuss:  What are Barney’s goals or pains?  What types of users might use the kiosk and why?  Try to talk about users tasks without talking about the kiosk (tool) – this can be difficult (5 minutes) Your team 33
  • 32. 34© Jeff Patton, all rights reserved, www.AgileProductDesign.com What are the goals & tasks? Business goals or pain points? Types of users using this system? User’s goals or pains? How will users of the system reach their goals? 34
  • 33. 35© Jeff Patton, all rights reserved, www.AgileProductDesign.com Start with an understanding or user experience
  • 34. 36© Jeff Patton, all rights reserved, www.AgileProductDesign.com experience Field Manager enters daily performance reports The shift has just ended and his reps are coming up with their totals. They have printed sheets with totals written on them. Steve quickly looks them over and signs them off. His assistant manager brings him other sheets with totals he’s signed off. In between visits by reps, Steve opens his Field Manager Workbench on his laptop. After logging in he sees today’s date and the planned number of applications his reps should be gathering – 180 for today. He also sees yesterday’s numbers, and last week’s numbers, and the last 30 days in graph that shows applications relative to approval rate. Last week’s numbers were bad, and it’s the last week of the month, so Steve knows he’s got to do well today. Steve clicks “enter rep performance data.” He shuffles his reps 5. The date is defaulted to today, and the shift is defaulted to ‘morning’ since he hasn’t yet entered info for today. Steve begins to enter the reps name, but after a few characters the system auto-completes his name. 6. The rep’s ID is already filled in, along with the code for the credit card promotion they’re working on today. 7. Steve fills in the shift information for his rep. He then enters the total number of applications taken. 8. It looks like from the notes on this sheet that this rep left sick two hours early. Steve adds a note about this in the system. 9. Time passes as more reps bring in their sheets and Steve completes entering them in between conversations. 10. After all the sheets are done, Steve looks at a summary screen for the day. It looks like he’s close to his goal. If the next shift continues at this rate he’ll beat the plan by 5% or so. That’s good. 11. Steve validates that the base pay is correct at $5 per app, and that he’s set an individual bonus giving reps $50 each if they reach 20 apps. Next to each rep he sees the calculated pay, base, bonus, and total pay for the day. 12. The annual sale at Macy’s has brought a lot of people in today. Steve chooses a “sale increases mall foot traffic” code to add to his shift data sheet. Frank, his boss, has pestered him to make sure he includes this type of information in his daily summaries. Steven Credit Card Marketing Field Manager Steven is a field manager working at the local shopping center. He’s in the middle of a long workday supervising 13 reps who are busy talking to people trying to convince them to apply for a credit card.
  • 35. 37© Jeff Patton, all rights reserved, www.AgileProductDesign.com A user scenario is a simple way to think through user experience concretely A user scenario tells a story about a main character with a problem or goal  Describes how that character reaches their goal  contains important facts  describes external context  describes goals and concerns of our character include interesting plot points that help us envision important aspects of the system A scenario can gloss over uninteresting details
  • 36. 38© Jeff Patton, all rights reserved, www.AgileProductDesign.com Imagine the user experience as a scenario as a scenarioSeparate your team of four into two pairs One person imagine out loud the experience of someone using the kiosk. Think about:  Typical use, including typical problems  Interesting plot points  Goals and pains of your user The other ask questions to better understand After 5 minutes of discussion write out the scenario Pair one think about Carol: casual browser “I want to find something good from a band I heard on the radio.” Goal: : have fun finding something interesting Pair two think about Isaac: Impatient buyer “I wan to find a specific hard to find foreign film.” Goal: : Find it and get out quickly without wasting my time
  • 37. 39© Jeff Patton, all rights reserved, www.AgileProductDesign.com Extract task-centric user stories from your user scenarios from your user scenarios Come back together as a team Reviewing each others scenarios, extract task- centric stories using yellow stickies Write only the tasks verb-phrase for your title
  • 38. 40© Jeff Patton, all rights reserved, www.AgileProductDesign.com Organize user stories into a map that communicates experience
  • 39. 41© Jeff Patton, all rights reserved, www.AgileProductDesign.com By arranging activity and task-centric story cards spatially, we can tell bigger storiesTell a big story of the product by starting with the major user activities the kiosk will be used for  Arrange activities left to right in the order you’d explain them to someone when asked the question: “What do people do with this system?” time
  • 40. 42© Jeff Patton, all rights reserved, www.AgileProductDesign.com By arranging task-centric story cards spatially, we can tell bigger stories Add task-centric stories in under each activity in workflow order left to right.  If you were to explain to someone what a person typically does in this activity, arrange tasks in the order you’d tell the story. Don’t get too uptight about the order. time
  • 41. 43© Jeff Patton, all rights reserved, www.AgileProductDesign.com By arranging task-centric story cards spatially, we can tell bigger stories Overlap user tasks vertically if a user may do one of several tasks at approximately the same time  If in telling the story I say the systems’ user typically “does this or this or this, and then does that,” “or’s” signal a stacking vertically, “and then’s” signal stepping horizontally. time
  • 42. 44© Jeff Patton, all rights reserved, www.AgileProductDesign.com The map shows decomposition and typical flow across the entire system Reading the activities across the top of the system helps us understand end-to-end use of the system. (Talk through just these when talking with people with short attention spans.) time Below each activity, or large story are the child stories that make it up
  • 43. 45© Jeff Patton, all rights reserved, www.AgileProductDesign.com Building a story map helps facilitate discussion – but requires a bit of space Gary Levitt, owner & designer of Mad Mimi
  • 44. 46© Jeff Patton, all rights reserved, www.AgileProductDesign.com A story map for a reasonable sized system can fill a room
  • 45. 47© Jeff Patton, all rights reserved, www.AgileProductDesign.com Assemble your harvested task-centric stories into a simple story map Work as a team to organize your stories Look for activities: tasks that seems similar, are done by similar people in pursuit of similar goals Use a different color sticky to label activities time
  • 46. 48© Jeff Patton, all rights reserved, www.AgileProductDesign.com Discuss, fill in, refine the map, and test for completeness
  • 47. 49© Jeff Patton, all rights reserved, www.AgileProductDesign.com Once you’ve got the idea down, it’s quick to record stories as you discuss the experience with users Discuss the steps of the process with candidate users  Record tasks as they say them  Rearrange tasks and insert tasks as you clarify the big story  Add activities as you identify them from discussion time
  • 48. 50© Jeff Patton, all rights reserved, www.AgileProductDesign.com As details emerge in conversation, trap them under their associated task cards Record details so they’re not lost, and so those who you’re working with know that you’re listening  Consider tucking them under tasks cards to “hide them” from the discussion time activity task sub-tasks or task details
  • 49. 51© Jeff Patton, all rights reserved, www.AgileProductDesign.com This simple model is easy to stack 1 2 3 4 5 6 7 8 9 1 0 1 11 . 1110 9 8 76 5 4 32 1 2. 1110987654321 3.
  • 50. 52© Jeff Patton, all rights reserved, www.AgileProductDesign.com By arranging activity and task-centric story cards spatially, we can tell bigger storiesAdd a vertical axis to indicate necessity Move tasks up and down this axis to indicate how necessary they are to the activity.  For a user to successfully engage in this activity, is it necessary they perform this task? If it’s not absolutely necessary, how critical is it? time necessity
  • 51. 53© Jeff Patton, all rights reserved, www.AgileProductDesign.com By arranging activity and task-centric story cards spatially, we can tell bigger storiesTest the Story Map by telling bigger stories with it  Choose an activity to start with  When reading left to right use the conjunction “and then” to connect cards in the story  With cards in the same row use “or” to connect cards in the story  For cards below the top, “absolutely necessary” axis, use the phrase “might optionally” to communicate optionality  Chose a concrete user name to help tell the story time necessity
  • 52. 54© Jeff Patton, all rights reserved, www.AgileProductDesign.com By arranging activity and task-centric story cards spatially, we can tell bigger stories time necessity “Steve knows the title of what he’s looking for. He steps up to the kiosk and searches by title. Optionally he might have searched by artist. After seeing titles that match what he typed in, Steve views the price new and used, and then views the status – whether it’s in stock or not. He notices it’s in stock as both new and used, so then Steve views the location in the store for the used title.” Notice the bold faced user tasks from our story map Notice the conjunctions that knit the cards together into a longer story
  • 53. 55© Jeff Patton, all rights reserved, www.AgileProductDesign.com Discussions over story maps help drive out more details QuickTime™ and a YUV420 codec decompressor are needed to see this picture. Repeated review of the story map with multiple users and subject matter experts will help test the model for completeness
  • 54. 56© Jeff Patton, all rights reserved, www.AgileProductDesign.com The user story map contains two important anatomical features The backbone of the application is the list of essential activities the application supports The walking skeleton is the software we build that supports the least number of necessary tasks across the full span of user experience time necessity The backbone The walking skeleton
  • 55. 57© Jeff Patton, all rights reserved, www.AgileProductDesign.com Using discussion, fill in your story map Work together as a team Look for alternative tasks  What else might users of the system have done that didn’t come up in your scenarios? Look for exceptions  What could go wrong, and what would the user have to do to recover? Consider other users  What might other types of users do to reach their goals? Knit al these additional stories into your map
  • 56. 58© Jeff Patton, all rights reserved, www.AgileProductDesign.com Slice the map to find ideal incremental releases
  • 57. 59© Jeff Patton, all rights reserved, www.AgileProductDesign.com Agile teams plan product construction in layers
  • 58. 60© Jeff Patton, all rights reserved, www.AgileProductDesign.com Agile teams plan product construction in layers
  • 59. 61 Release How can we release value incrementally? What subset of business objectives will each release achieve? What user constituencies will the release serve? What general capabilities (big stories) will the release offer? Release Roadmap Target Customers Target Personas Story (Backlog Item) What user or stakeholder need will the story serve? How will it specifically look and behave? How will I determine if it’s completed? Story Details Acceptance Tests© Jeff Patton, all rights reserved, www.AgileProductDesign.com Product or Project What business objectives will the product fulfill? Product Goals Product Charter Customers User Personas Iteration or Sprint What specifically will we build? (user stories) How will this iteration move us toward release objectives? Iteration Goal Development or Construction Tasks
  • 60. 62© Jeff Patton, all rights reserved, www.AgileProductDesign.com Given story map organized vertically by necessity, we need only slice to plan Choose coherent groups of features that consider the span of business functionality and user activities Support all necessary activities with the first release Improve activity support and add additional activities with subsequent releases time optionality necessary less optional more optional first release second release third release
  • 61. 63© Jeff Patton, all rights reserved, www.AgileProductDesign.com Given story map organized vertically by necessity, we need only slice to plan
  • 62. 64© Jeff Patton, all rights reserved, www.AgileProductDesign.com Adding tape lines to the wall lets participants organize stories into layers
  • 63. 65© Jeff Patton, all rights reserved, www.AgileProductDesign.com Adding tape lines to the wall lets participants organize stories into layers
  • 64. 66© Jeff Patton, all rights reserved, www.AgileProductDesign.com Planning incremental releases can be facilitated as a collaborative event
  • 65. 67© Jeff Patton, all rights reserved, www.AgileProductDesign.com There’s a secret to effective prioritization (Before I give my ideas about what it is, what’s worked for you?)
  • 66. 68© Jeff Patton, all rights reserved, www.AgileProductDesign.com Identify and prioritize desired outcomes before prioritizing the backlog Product goals describe what outcome or benefit received by the organization after the product is in use
  • 67. 69© Jeff Patton, all rights reserved, www.AgileProductDesign.com Product goals suggest how the business will earn value from the product, and how we can tell we’re getting it Software built for internal use usually saves money or helps improve service to customers indirectly earning money Software built for use by customers earns money through direct sales, improved customer retention, or improved customer loyalty Product goals are specific to that product - not generic to any product. A goal to earn more money isn’t useful Given a product goal, ask: “if we’re making progress towards this goal, how would we know it? What would we observe in our organization that indicates success?” The answer to these questions are useful metrics
  • 68. 70© Jeff Patton, all rights reserved, www.AgileProductDesign.com incremental releases, where each release delivers benefit incremental releases, where each release delivers benefitCreate horizontal swim-lanes to group features into releases Arrange features vertically by necessity from the user’s perspective Split tasks into parts that can be deferred till later releases Use the product goals from your handouts to identify slices that incrementally realize product goals optionality necessary less optional more optional
  • 69. 71© Jeff Patton, all rights reserved, www.AgileProductDesign.com The software we choose to build is a consequence of smaller upstream choices Choices in business goals, users, and use have big consequences to software scope Use (Activities & Tasks) Software to build (Specified as User Stories) User Constituencies Business Goals
  • 70. 72© Jeff Patton, all rights reserved, www.AgileProductDesign.com Segmenting scope into incremental releases also segments use, user goals, and business goals Use (Activities & Tasks) Software to build (Specified as User Stories) User Constituencies Business Goals 1 2 3 Work top down (goals to scope) or bottom up (scope back to goals), but always work to ensure you’re delivering scope that delivers on targeted business and user goals
  • 71. 73 EasyPOS Point of Sale Software Release 1: Replace the cash register Business: gets rid of old manual cash registers and gets accurate up to the minute sales information across locations. Users: Cashiers get an easier to use cash register that helps them make less mistakes, corrects them when they do, and saves time balancing cash ry night.© Jeff Patton, all rights reserved, www.AgileProductDesign.com A product release roadmap targets benefit delivered over time A roadmap serves to clearly communicate release level product goals and benefits to stakeholders For each incremental release:  Give the release a name or simple statement describing its purpose – think mantra  Write a short sentence or two describing what value or benefit the business gets  Write a short sentence or two describing what value or benefit the users get
  • 72. 74 EasyPOS Point of Sale Software Release 1: Replace the cash register Business: gets rid of old manual cash registers and gets accurate up to the minute sales information across locations. Users: Cashiers get an easier to use cash register that helps them make less mistakes, corrects them when they do, and saves time balancing cash ry night.© Jeff Patton, all rights reserved, www.AgileProductDesign.com Turn your sliced story map into a roadmap For each slice in your release:  Give the release a name or simple statement describing its purpose – think mantra  Write a short sentence or two describing what value or benefit the business gets  Write a short sentence or two describing what value or benefit the users get
  • 73. 75© Jeff Patton, all rights reserved, www.AgileProductDesign.com Iteratively and incrementally construct software
  • 74. 76© Jeff Patton, all rights reserved, www.AgileProductDesign.com Traditional software development fixes scope then estimates, and attempts to fix time and cost Traditional software development Scope Time Cost (resources)
  • 75. 77© Jeff Patton, all rights reserved, www.AgileProductDesign.com Agile development fixes time and cost, then leverages iteration and incrementing to maximize scope Traditional software development Scope Time Cost (resources) Scope Time Cost (resources) Agile software development
  • 76. 78© Jeff Patton, all rights reserved, www.AgileProductDesign.com Leverage a shared understanding of desired product goals to minimize scope while maximizing value Traditional software development Scope Time Cost (resources) Scope Time Cost (resources) Agile software development Target business goals & outcomes
  • 77. 79© Jeff Patton, all rights reserved, www.AgileProductDesign.com To release benefit on a schedule we’ll need to leverage incremental and iterative thinking (What’s the difference?)
  • 78. 80© Jeff Patton, all rights reserved, www.AgileProductDesign.com “incrementing” builds a bit at a time 1 2 3 4 5 Incrementing calls for a fully formed idea. And, doing it on time requires dead accurate estimation.
  • 79. 81© Jeff Patton, all rights reserved, www.AgileProductDesign.com “iterating” builds a rough version, validates it, then slowly builds up quality 1 2 3 A more iterative allows you to move from vague idea to realization making course corrections as you go. 4 5
  • 80. 82© Jeff Patton, all rights reserved, www.AgileProductDesign.com 193 82 Many organizations consider revising the same functionality as failure. Iteration is not tolerated.
  • 81. 83© Jeff Patton, all rights reserved, www.AgileProductDesign.com As a product owner, you need a more refined understanding of “shippable”
  • 82. 84© Jeff Patton, all rights reserved, www.AgileProductDesign.com tool Keeping our user stories task-centric allowed us to defer solution decisions user goal user task
  • 83. 85 hold my options open © Jeff Patton, all rights reserved, www.AgileProductDesign.com Make feature decisions in the context of time and budget limitations hole (to put the flower in) dig hole ?
  • 84. 86© Jeff Patton, all rights reserved, www.AgileProductDesign.com Commit to satisfying user needs, not to specific features hole (to put the flower in) dig hole ?
  • 85. 87© Jeff Patton, all rights reserved, www.AgileProductDesign.com 51 Products with similar features often vary substantially in the price we pay low cost moderate cost high cost Think about the high-level features in a car - well a bus in our example At a high level, all features are necessary But we know that all buses don’t have the same price Each essential feature varies in subjective quality affecting the final price engine transmission brakes suspension seats steering wheel …
  • 86. 88© Jeff Patton, all rights reserved, www.AgileProductDesign.com Kano cautions us to consider quality as being composed of objective and subjective elements “Discussions of quality have revolved around the two aspects of subjectivity and objectivity since the time of Aristotle. Embedded in this objective- subjective split is the idea that objective quality pertains to the ‘conformance to requirements’ while subjective quality pertains to the ‘satisfaction of users.’” --Noriaki Kano There’s more to me than that silly survey technique!
  • 87. 89© Jeff Patton, all rights reserved, www.AgileProductDesign.com Kano explains three general classifications for product features: must-haves, one-dimensionals, and delighters Must-haves The products must have this features for me to be consider the product acceptable One-dimensionals The more of this I get, the better Delighters I love this element of the product! “This car has many flaws. Buy it anyway. It’s so much fun to drive” -- from a NY Times review of the Mini Cooper
  • 88. 90© Jeff Patton, all rights reserved, www.AgileProductDesign.com Separate objective quality from subjective quality Objective quality refers to the visible measurable, and easily validated characteristics of the product usually in relation to the products’ specifications.  Does the product perform bug free as specified?  Expect objective quality to be high. Subjective quality refers to the specification or product design choices you make as a product owner. These choices affect the product users’ perception of quality Is the product simple to use? Is the product efficient to use? Do I like using the product?
  • 89. 91© Jeff Patton, all rights reserved, www.AgileProductDesign.com Use the Kano classifications to both prioritize and split Brakes (must have) Basic brakes (must have) Stopping distance (one dimensional) Anti-locking (delighter) Cool dashboard light when slipping (delighter) Keep in mind: you must know your customers and users to determine subjective value. One person’s delighter may leave others apathetic. Another’s must have is useless to other customers
  • 90. 92© Jeff Patton, all rights reserved, www.AgileProductDesign.com features release engine transmission suspension brakes exteriorbody Interiorseating tires sprint 1234 Product goal: (in 4 sprints) be driving the coolest bus in town Let’s look at what happens if we take a naive incremental aproach to construction Let’s start with the basic features of our bus.
  • 91. 93© Jeff Patton, all rights reserved, www.AgileProductDesign.com 1 2 3 Iterating affords building up quality over time We can leverage iteration to build up quality
  • 92. 95© Jeff Patton, all rights reserved, www.AgileProductDesign.com Consider these four story splitting heuristics that build up quality Bare Necessity For the feature to be minimally demonstrable – but not releasable, what is the minimal functionality Example: A form with only necessary fields and no validation Capability & Flexibility What would add the ability to perform the user task in different ways? Adding in sub tasks that are optionally performed? Example: a form with optional fields, date lookup tools, input translation on dates Safety What would make this feature safer for me to use? For both the user, and for the business paying for the software? Example: input validation, enforcement of business rules such as credit card validation* Adapted from Gerard Meszaros’ “Storyotypes”
  • 93. 96© Jeff Patton, all rights reserved, www.AgileProductDesign.com usertaskstosupport releaseD D D D D I IB- C C- D D D DA- B B- B B B B-A- A B A A- A- B- sprint 1234 Product goal: (in 4 sprints) be driving the highest quality bus possible Building up quality iteratively and incrementally ships the best product possibleWe know each story can be split into at least four parts Early iterations strive to build bare necessities, later iterations build up quality Evaluating readiness based on subjective quality to understand doneness
  • 94. 97© Jeff Patton, all rights reserved, www.AgileProductDesign.com Divide release design & development into three phases Opening Game: Build a simple system span of necessary features first – the walking skeleton Mid-Game: Add flexibility and safety next End Game: Finish with comfort, performance, and luxury Reserve time in the remaining third for unforeseen additions and adaptations time uncertainty decreases over time uncertainty Opening Game Build up necessities Mid-Game Build out flexibility and business rule enforcement End-Game Refine the UI and interactions, take advantage of iterative learning Construx on the Cone of Uncertainty: http://www.construx.com/Page.aspx?hid=1648 Visdos on the cone: http://www.implementingscrum.com/2008/02/19/vegas-hangover-enlightenment/
  • 95. 98© Jeff Patton, all rights reserved, www.AgileProductDesign.com time uncertainty decreases over time uncertainty This product growing strategy slowly brings the product into focus An artist envisions an entire painting by starting with a sketch or an under-painting and slowly building up detail Apply the same strategy to learn about the product domain as quickly as possible – to chase out uncertainty before too heavily investing Opening Game Build up necessities Mid-Game Build out flexibility and business rule enforcement End-Game Refine the UI and interactions, take advantage of iterative learning
  • 96. 99© Jeff Patton, all rights reserved, www.AgileProductDesign.com End Game Over time the value of stories begin to diminish signaling it’s time for release Mid Game Once we’re confident we have the “shape” of the product right, we begin to pile in value Opening Game Early stories emphasize iteration and learning. We need to be sure we’re building the right product Looking at the release of business value over time lets us see what’s going on here To finish on time we may “trim the tail” by deferring stories of modest value time cumulativebusinessvalue
  • 97. 100© Jeff Patton, all rights reserved, www.AgileProductDesign.com Split a task-centric backlog item into smaller iteration stories using the 4 quality heuristics Work in small groups of 2-3 people. Review the Story Map – the organized backlog – for the Barney’s problem Choose a story you’d like to work with, one where your group can imagine a prospective user interface. Brainstorm the smaller stories that could build up the larger story to its full quality. Arrange your brainstormed stories into 3 pile:
  • 98. 101© Jeff Patton, all rights reserved, www.AgileProductDesign.com Guidelines for releasing on time Thin stories aggressively during early sprints to build all essential functionality early. Build up functionality only after all necessities are in place. Protect time in the final sprints for product refinement. Assess release readiness at the end of each sprint as part of product review.
  • 99. 102© Jeff Patton, all rights reserved, www.AgileProductDesign.com Parting thoughts
  • 100. 103© Jeff Patton, all rights reserved, www.AgileProductDesign.com Questions?
  • 101. © Jeff Patton, all rights reserved, www.AgileProductDesign.com Building Better Products Using User Story Mapping Jeff Patton jpatton@acm.org www.agileproductdesign.com

Editor's Notes

  1. "The problem is all inside your head", she said to meThe answer is easy if you take it logicallyI'd like to help you in your struggle to be freeThere must be fifty ways to leave your loverShe said it's really not my habit to intrudeFurthermore, I hope my meaning won't be lost or misconstruedBut I'll repeat myself at the risk of being crudeThere must be fifty ways to leave your loverFifty ways to leave your loverYou just slip out the back, JackMake a new plan, StanYou don't need to be coy, RoyJust get yourself freeHop on the bus, GusYou don't need to discuss muchJust drop off the key, LeeAnd get yourself freeOoo slip out the back, JackMake a new plan, StanYou don't need to be coy, RoyJust listen to meHop on the bus, GusYou don't need to discuss muchJust drop off the key, LeeAnd get yourself freeShe said it grieves me so to see you in such painI wish there was something I could do to make you smile againI said I appreciate that and would you please explainAbout the fifty waysShe said why don't we both just sleep on it tonightAnd I believe in the morning you'll begin to see the lightAnd then she kissed me and I realized she probably was rightThere must be fifty ways to leave your loverFifty ways to leave your loverYou just slip out the back, JackMake a new plan, StanYou don't need to be coy, RoyJust get yourself freeHop on the bus, GusYou don't need to discuss muchJust drop off the key, LeeAnd get yourself freeSlip out the back, JackMake a new plan, StanYou don't need to be coy, RoyJust listen to meHop on the bus, GusYou don't need to discuss muchJust drop off the key, LeeAnd get yourself free
  2. "The problem is all inside your head", she said to meThe answer is easy if you take it logicallyI'd like to help you in your struggle to be freeThere must be fifty ways to leave your loverShe said it's really not my habit to intrudeFurthermore, I hope my meaning won't be lost or misconstruedBut I'll repeat myself at the risk of being crudeThere must be fifty ways to leave your loverFifty ways to leave your loverYou just slip out the back, JackMake a new plan, StanYou don't need to be coy, RoyJust get yourself freeHop on the bus, GusYou don't need to discuss muchJust drop off the key, LeeAnd get yourself freeOoo slip out the back, JackMake a new plan, StanYou don't need to be coy, RoyJust listen to meHop on the bus, GusYou don't need to discuss muchJust drop off the key, LeeAnd get yourself freeShe said it grieves me so to see you in such painI wish there was something I could do to make you smile againI said I appreciate that and would you please explainAbout the fifty waysShe said why don't we both just sleep on it tonightAnd I believe in the morning you'll begin to see the lightAnd then she kissed me and I realized she probably was rightThere must be fifty ways to leave your loverFifty ways to leave your loverYou just slip out the back, JackMake a new plan, StanYou don't need to be coy, RoyJust get yourself freeHop on the bus, GusYou don't need to discuss muchJust drop off the key, LeeAnd get yourself freeSlip out the back, JackMake a new plan, StanYou don't need to be coy, RoyJust listen to meHop on the bus, GusYou don't need to discuss muchJust drop off the key, LeeAnd get yourself free
  3. "The problem is all inside your head", she said to meThe answer is easy if you take it logicallyI'd like to help you in your struggle to be freeThere must be fifty ways to leave your loverShe said it's really not my habit to intrudeFurthermore, I hope my meaning won't be lost or misconstruedBut I'll repeat myself at the risk of being crudeThere must be fifty ways to leave your loverFifty ways to leave your loverYou just slip out the back, JackMake a new plan, StanYou don't need to be coy, RoyJust get yourself freeHop on the bus, GusYou don't need to discuss muchJust drop off the key, LeeAnd get yourself freeOoo slip out the back, JackMake a new plan, StanYou don't need to be coy, RoyJust listen to meHop on the bus, GusYou don't need to discuss muchJust drop off the key, LeeAnd get yourself freeShe said it grieves me so to see you in such painI wish there was something I could do to make you smile againI said I appreciate that and would you please explainAbout the fifty waysShe said why don't we both just sleep on it tonightAnd I believe in the morning you'll begin to see the lightAnd then she kissed me and I realized she probably was rightThere must be fifty ways to leave your loverFifty ways to leave your loverYou just slip out the back, JackMake a new plan, StanYou don't need to be coy, RoyJust get yourself freeHop on the bus, GusYou don't need to discuss muchJust drop off the key, LeeAnd get yourself freeSlip out the back, JackMake a new plan, StanYou don't need to be coy, RoyJust listen to meHop on the bus, GusYou don't need to discuss muchJust drop off the key, LeeAnd get yourself free
  4. For business goals or pains: Why would the business pay for this software to be built? What outcome is expected that will compensate for the cost of building the software? Identify types of users as: Actor User Role User Profile User Persona For each type of user, what goals or pains motivate the use of the product? If I as a user accomplish this goal, I’ll consider myself successful. Look for goals that motivate the use of software