SlideShare a Scribd company logo
1 of 94
Download to read offline
© 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
But size always matters...
How big is the story we
want to talk about?
10
11
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
And, it’s easy to get lost in the sheer
number of them
11
12
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
And, as we start moving forward, how do
we stay on track?
12
13
© 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
valuable slices of functionality.
14
© 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
15
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
The foundational building
block of a story map is
the user task
16
© 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
16
17
© 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
18
© 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?
19
© 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
20
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Think of three levels: goal, task, and
tool
goal
task
tool
21
© 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
features
23
© 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
24
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
activity
manage 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
25
© 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
26
© 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
28
© 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?
28
29
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Start with an
understanding or user
experience
30
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Write user scenarios to think through
user 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
performance sheets and grabs the first one.
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.
31
© 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
32
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Imagine the user experience
as a scenario
Separate 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
33
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Extract task-centric user stories
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
34
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Organize user stories into
a map that
communicates
experience
35
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
By arranging activity and task-centric story
cards spatially, we can tell bigger stories
Tell 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
36
© 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
37
© 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
38
© 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
39
© 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
40
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
A story map for a reasonable sized
system can fill a room
41
© 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
42
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Discuss, fill in, refine the
map, and test for
completeness
43
© 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
44
© 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
45
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
By arranging activity and task-centric story
cards spatially, we can tell bigger stories
Add 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
46
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
By arranging activity and task-centric story
cards spatially, we can tell bigger stories
Test 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
47
© 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
48
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Discussions over story maps help drive
out more details
Repeated review of the story map with
multiple users and subject matter experts will
help test the model for completeness
49
© 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
50
© 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 all these additional stories into your
map
51
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Slice the map to find ideal
incremental releases
52
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Agile teams plan product construction in
layers
53
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Agile teams plan product construction in
layers
54
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
55
© 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
56
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Given story map organized vertically by
necessity, we need only slice to plan
57
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Adding tape lines to the wall lets
participants organize stories into layers
58
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Adding tape lines to the wall lets
participants organize stories into layers
59
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Planning incremental releases can be
facilitated as a collaborative event
60
© 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?)
61
© 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
62
© 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
63
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Use product goals to identify candidate
incremental releases, where each release delivers
benefit
Create 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
64
© 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
65
© 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
66
© 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
67
© 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
68
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Iteratively and
incrementally construct
software
69
© 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)
70
© 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
71
© 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
72
© 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?)
73
© 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.
74
© 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
75
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
193 75
Many organizations consider revising the same
functionality as failure. Iteration is not
tolerated.
76
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
As a product owner, you need a more refined
understanding of “shippable”
77
© 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
78
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
?
79
© 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
?
80
© 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
…
81
© 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!
82
© 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
83
© 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?
84
© 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
85
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
features
release
engine
transmission
suspension
brakes
exterior
body
Interior
seating
tires
sprint
1
2
3
4
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.
86
© 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
88
© 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
Usability, Performance, Sex Appeal
What would make this feature easier to use? More desirable to use? Faster to use?
Example: auto-completion, sexy visual design, speed keys
* Adapted from Gerard Meszaros’ “Storyotypes”
89
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
user
tasks
to
support
release
D D D D D I I
B- C C- D D D D
A- B B- B B B B-
A- A B A A- A- B-
sprint
1
2
3
4
Product goal: (in 4 sprints) be driving the highest quality bus possible
Building up quality iteratively and incrementally
ships the best product possible
We 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
90
© 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/
91
© 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
92
© 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
cumulative
business
value
93
© 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: opening,
mid, and end game.
94
© 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.
95
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Parting thoughts
96
© 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

Similar to Patton Building Better Products Using.pdf

Delightful UX
Delightful UXDelightful UX
Delightful UXFDConf
 
COMPUTER APPLICATION PROJECT ON
COMPUTER APPLICATION PROJECT ON COMPUTER APPLICATION PROJECT ON
COMPUTER APPLICATION PROJECT ON Jitender Suryavansh
 
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
 
AAC2018_We're all just doing waterfall really with Iain McKenna
AAC2018_We're all just doing waterfall really with Iain McKennaAAC2018_We're all just doing waterfall really with Iain McKenna
AAC2018_We're all just doing waterfall really with Iain McKennaAgile Austria Conference
 
User Story Mapping: Discover the whole story, build the right product
User Story Mapping: Discover the whole story, build the right productUser Story Mapping: Discover the whole story, build the right product
User Story Mapping: Discover the whole story, build the right productJoan Choi
 
Responsive Web Design: Clever Tips and Techniques - Vitaly Friedman (UX Riga ...
Responsive Web Design: Clever Tips and Techniques - Vitaly Friedman (UX Riga ...Responsive Web Design: Clever Tips and Techniques - Vitaly Friedman (UX Riga ...
Responsive Web Design: Clever Tips and Techniques - Vitaly Friedman (UX Riga ...UX Riga
 
Week 4 Assignment - Software Development PlanScenario-Your team has be.docx
Week 4 Assignment - Software Development PlanScenario-Your team has be.docxWeek 4 Assignment - Software Development PlanScenario-Your team has be.docx
Week 4 Assignment - Software Development PlanScenario-Your team has be.docxestefana2345678
 
User Story Mapping in Practice
User Story Mapping in PracticeUser Story Mapping in Practice
User Story Mapping in PracticeSteve Rogalsky
 
4 philip lew - how to improve the mobile user experience
4   philip lew - how to improve the mobile user experience4   philip lew - how to improve the mobile user experience
4 philip lew - how to improve the mobile user experienceIevgenii Katsan
 
Disciplined Entrepreneurship: What can you do for your customer?
Disciplined Entrepreneurship: What can you do for your customer?Disciplined Entrepreneurship: What can you do for your customer?
Disciplined Entrepreneurship: What can you do for your customer?Elaine Chen
 
Horse Essay In Hindi Language
Horse Essay In Hindi LanguageHorse Essay In Hindi Language
Horse Essay In Hindi LanguageSarah Camacho
 
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
 
Agile Protoyping in Academia
Agile Protoyping in AcademiaAgile Protoyping in Academia
Agile Protoyping in AcademiaDavid F. Flanders
 
User-Story_Primer_Agile_Methodology_.pdf
User-Story_Primer_Agile_Methodology_.pdfUser-Story_Primer_Agile_Methodology_.pdf
User-Story_Primer_Agile_Methodology_.pdfSLowe7
 
From DevOps to NoOps how not to get Equifaxed Apidays
From DevOps to NoOps how not to get Equifaxed ApidaysFrom DevOps to NoOps how not to get Equifaxed Apidays
From DevOps to NoOps how not to get Equifaxed ApidaysOri Pekelman
 
Requirements Engineering for the Humanities
Requirements Engineering for the HumanitiesRequirements Engineering for the Humanities
Requirements Engineering for the HumanitiesShawn Day
 

Similar to Patton Building Better Products Using.pdf (20)

Delightful UX
Delightful UXDelightful UX
Delightful UX
 
COMPUTER APPLICATION PROJECT ON
COMPUTER APPLICATION PROJECT ON COMPUTER APPLICATION PROJECT ON
COMPUTER APPLICATION PROJECT ON
 
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
 
How To Use Transfer Paper
How To Use Transfer PaperHow To Use Transfer Paper
How To Use Transfer Paper
 
AAC2018_We're all just doing waterfall really with Iain McKenna
AAC2018_We're all just doing waterfall really with Iain McKennaAAC2018_We're all just doing waterfall really with Iain McKenna
AAC2018_We're all just doing waterfall really with Iain McKenna
 
User Story Mapping: Discover the whole story, build the right product
User Story Mapping: Discover the whole story, build the right productUser Story Mapping: Discover the whole story, build the right product
User Story Mapping: Discover the whole story, build the right product
 
Responsive Web Design: Clever Tips and Techniques - Vitaly Friedman (UX Riga ...
Responsive Web Design: Clever Tips and Techniques - Vitaly Friedman (UX Riga ...Responsive Web Design: Clever Tips and Techniques - Vitaly Friedman (UX Riga ...
Responsive Web Design: Clever Tips and Techniques - Vitaly Friedman (UX Riga ...
 
Week 4 Assignment - Software Development PlanScenario-Your team has be.docx
Week 4 Assignment - Software Development PlanScenario-Your team has be.docxWeek 4 Assignment - Software Development PlanScenario-Your team has be.docx
Week 4 Assignment - Software Development PlanScenario-Your team has be.docx
 
User Story Mapping in Practice
User Story Mapping in PracticeUser Story Mapping in Practice
User Story Mapping in Practice
 
Lean UX workshop - Part One
Lean UX workshop  - Part OneLean UX workshop  - Part One
Lean UX workshop - Part One
 
4 philip lew - how to improve the mobile user experience
4   philip lew - how to improve the mobile user experience4   philip lew - how to improve the mobile user experience
4 philip lew - how to improve the mobile user experience
 
Disciplined Entrepreneurship: What can you do for your customer?
Disciplined Entrepreneurship: What can you do for your customer?Disciplined Entrepreneurship: What can you do for your customer?
Disciplined Entrepreneurship: What can you do for your customer?
 
Horse Essay In Hindi Language
Horse Essay In Hindi LanguageHorse Essay In Hindi Language
Horse Essay In Hindi Language
 
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?
 
Agile Protoyping in Academia
Agile Protoyping in AcademiaAgile Protoyping in Academia
Agile Protoyping in Academia
 
User-Story_Primer_Agile_Methodology_.pdf
User-Story_Primer_Agile_Methodology_.pdfUser-Story_Primer_Agile_Methodology_.pdf
User-Story_Primer_Agile_Methodology_.pdf
 
Dropbox Case Study
Dropbox Case StudyDropbox Case Study
Dropbox Case Study
 
From DevOps to NoOps how not to get Equifaxed Apidays
From DevOps to NoOps how not to get Equifaxed ApidaysFrom DevOps to NoOps how not to get Equifaxed Apidays
From DevOps to NoOps how not to get Equifaxed Apidays
 
Requirements Engineering for the Humanities
Requirements Engineering for the HumanitiesRequirements Engineering for the Humanities
Requirements Engineering for the Humanities
 
SahilaMirajkar
SahilaMirajkarSahilaMirajkar
SahilaMirajkar
 

Recently uploaded

Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verifiedDelhi Call girls
 
➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men 🔝jhansi🔝 Escorts S...
➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men  🔝jhansi🔝   Escorts S...➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men  🔝jhansi🔝   Escorts S...
➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men 🔝jhansi🔝 Escorts S...amitlee9823
 
Q4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentationQ4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentationZenSeloveres
 
Sector 105, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 105, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 105, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 105, Noida Call girls :8448380779 Model Escorts | 100% verifiedDelhi Call girls
 
8377087607, Door Step Call Girls In Majnu Ka Tilla (Delhi) 24/7 Available
8377087607, Door Step Call Girls In Majnu Ka Tilla (Delhi) 24/7 Available8377087607, Door Step Call Girls In Majnu Ka Tilla (Delhi) 24/7 Available
8377087607, Door Step Call Girls In Majnu Ka Tilla (Delhi) 24/7 Availabledollysharma2066
 
➥🔝 7737669865 🔝▻ dehradun Call-girls in Women Seeking Men 🔝dehradun🔝 Escor...
➥🔝 7737669865 🔝▻ dehradun Call-girls in Women Seeking Men  🔝dehradun🔝   Escor...➥🔝 7737669865 🔝▻ dehradun Call-girls in Women Seeking Men  🔝dehradun🔝   Escor...
➥🔝 7737669865 🔝▻ dehradun Call-girls in Women Seeking Men 🔝dehradun🔝 Escor...amitlee9823
 
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...sriharipichandi
 
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...instagramfab782445
 
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...RitikaRoy32
 
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...nirzagarg
 
Just Call Vip call girls diu Escorts ☎️9352988975 Two shot with one girl (diu )
Just Call Vip call girls diu Escorts ☎️9352988975 Two shot with one girl (diu )Just Call Vip call girls diu Escorts ☎️9352988975 Two shot with one girl (diu )
Just Call Vip call girls diu Escorts ☎️9352988975 Two shot with one girl (diu )gajnagarg
 
Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...
Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...
Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...Nitya salvi
 
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...amitlee9823
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
WhatsApp Chat: 📞 8617697112 Call Girl Baran is experienced
WhatsApp Chat: 📞 8617697112 Call Girl Baran is experiencedWhatsApp Chat: 📞 8617697112 Call Girl Baran is experienced
WhatsApp Chat: 📞 8617697112 Call Girl Baran is experiencedNitya salvi
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
Hire 💕 8617697112 Meerut Call Girls Service Call Girls Agency
Hire 💕 8617697112 Meerut Call Girls Service Call Girls AgencyHire 💕 8617697112 Meerut Call Girls Service Call Girls Agency
Hire 💕 8617697112 Meerut Call Girls Service Call Girls AgencyNitya salvi
 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...Pooja Nehwal
 

Recently uploaded (20)

Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 104, Noida Call girls :8448380779 Model Escorts | 100% verified
 
➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men 🔝jhansi🔝 Escorts S...
➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men  🔝jhansi🔝   Escorts S...➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men  🔝jhansi🔝   Escorts S...
➥🔝 7737669865 🔝▻ jhansi Call-girls in Women Seeking Men 🔝jhansi🔝 Escorts S...
 
Q4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentationQ4-W4-SCIENCE-5 power point presentation
Q4-W4-SCIENCE-5 power point presentation
 
Sector 105, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 105, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 105, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 105, Noida Call girls :8448380779 Model Escorts | 100% verified
 
8377087607, Door Step Call Girls In Majnu Ka Tilla (Delhi) 24/7 Available
8377087607, Door Step Call Girls In Majnu Ka Tilla (Delhi) 24/7 Available8377087607, Door Step Call Girls In Majnu Ka Tilla (Delhi) 24/7 Available
8377087607, Door Step Call Girls In Majnu Ka Tilla (Delhi) 24/7 Available
 
➥🔝 7737669865 🔝▻ dehradun Call-girls in Women Seeking Men 🔝dehradun🔝 Escor...
➥🔝 7737669865 🔝▻ dehradun Call-girls in Women Seeking Men  🔝dehradun🔝   Escor...➥🔝 7737669865 🔝▻ dehradun Call-girls in Women Seeking Men  🔝dehradun🔝   Escor...
➥🔝 7737669865 🔝▻ dehradun Call-girls in Women Seeking Men 🔝dehradun🔝 Escor...
 
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️call girls in Dakshinpuri  (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Dakshinpuri (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
 
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
Anupama Kundoo Cost Effective detailed ppt with plans and elevations with det...
 
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
Abortion pill for sale in Muscat (+918761049707)) Get Cytotec Cash on deliver...
 
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman MuscatAbortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
Abortion Pills in Oman (+918133066128) Cytotec clinic buy Oman Muscat
 
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...
UI:UX Design and Empowerment Strategies for Underprivileged Transgender Indiv...
 
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard  ...
Anamika Escorts Service Darbhanga ❣️ 7014168258 ❣️ High Cost Unlimited Hard ...
 
Just Call Vip call girls diu Escorts ☎️9352988975 Two shot with one girl (diu )
Just Call Vip call girls diu Escorts ☎️9352988975 Two shot with one girl (diu )Just Call Vip call girls diu Escorts ☎️9352988975 Two shot with one girl (diu )
Just Call Vip call girls diu Escorts ☎️9352988975 Two shot with one girl (diu )
 
Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...
Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...
Just Call Vip call girls Nagpur Escorts ☎️8617370543 Starting From 5K to 25K ...
 
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
Whitefield Call Girls Service: 🍓 7737669865 🍓 High Profile Model Escorts | Ba...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
WhatsApp Chat: 📞 8617697112 Call Girl Baran is experienced
WhatsApp Chat: 📞 8617697112 Call Girl Baran is experiencedWhatsApp Chat: 📞 8617697112 Call Girl Baran is experienced
WhatsApp Chat: 📞 8617697112 Call Girl Baran is experienced
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Hire 💕 8617697112 Meerut Call Girls Service Call Girls Agency
Hire 💕 8617697112 Meerut Call Girls Service Call Girls AgencyHire 💕 8617697112 Meerut Call Girls Service Call Girls Agency
Hire 💕 8617697112 Meerut Call Girls Service Call Girls Agency
 
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
Pooja 9892124323, Call girls Services and Mumbai Escort Service Near Hotel Hy...
 

Patton Building Better Products Using.pdf

  • 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 But size always matters... How big is the story we want to talk about? 10
  • 11. 11 © Jeff Patton, all rights reserved, www.AgileProductDesign.com And, it’s easy to get lost in the sheer number of them 11
  • 12. 12 © Jeff Patton, all rights reserved, www.AgileProductDesign.com And, as we start moving forward, how do we stay on track? 12
  • 13. 13 © 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 valuable slices of functionality.
  • 14. 14 © 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
  • 15. 15 © Jeff Patton, all rights reserved, www.AgileProductDesign.com The foundational building block of a story map is the user task
  • 16. 16 © 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 16
  • 17. 17 © 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
  • 18. 18 © 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?
  • 19. 19 © 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
  • 20. 20 © Jeff Patton, all rights reserved, www.AgileProductDesign.com Think of three levels: goal, task, and tool goal task tool
  • 21. 21 © 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 features
  • 22. 23 © 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
  • 23. 24 © Jeff Patton, all rights reserved, www.AgileProductDesign.com activity manage 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
  • 24. 25 © 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
  • 25. 26 © 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
  • 26. 28 © 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? 28
  • 27. 29 © Jeff Patton, all rights reserved, www.AgileProductDesign.com Start with an understanding or user experience
  • 28. 30 © Jeff Patton, all rights reserved, www.AgileProductDesign.com Write user scenarios to think through user 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 performance sheets and grabs the first one. 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.
  • 29. 31 © 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
  • 30. 32 © Jeff Patton, all rights reserved, www.AgileProductDesign.com Imagine the user experience as a scenario Separate 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
  • 31. 33 © Jeff Patton, all rights reserved, www.AgileProductDesign.com Extract task-centric user stories 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
  • 32. 34 © Jeff Patton, all rights reserved, www.AgileProductDesign.com Organize user stories into a map that communicates experience
  • 33. 35 © Jeff Patton, all rights reserved, www.AgileProductDesign.com By arranging activity and task-centric story cards spatially, we can tell bigger stories Tell 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
  • 34. 36 © 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
  • 35. 37 © 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
  • 36. 38 © 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
  • 37. 39 © 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
  • 38. 40 © Jeff Patton, all rights reserved, www.AgileProductDesign.com A story map for a reasonable sized system can fill a room
  • 39. 41 © 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
  • 40. 42 © Jeff Patton, all rights reserved, www.AgileProductDesign.com Discuss, fill in, refine the map, and test for completeness
  • 41. 43 © 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
  • 42. 44 © 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
  • 43. 45 © Jeff Patton, all rights reserved, www.AgileProductDesign.com By arranging activity and task-centric story cards spatially, we can tell bigger stories Add 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
  • 44. 46 © Jeff Patton, all rights reserved, www.AgileProductDesign.com By arranging activity and task-centric story cards spatially, we can tell bigger stories Test 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
  • 45. 47 © 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
  • 46. 48 © Jeff Patton, all rights reserved, www.AgileProductDesign.com Discussions over story maps help drive out more details Repeated review of the story map with multiple users and subject matter experts will help test the model for completeness
  • 47. 49 © 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
  • 48. 50 © 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 all these additional stories into your map
  • 49. 51 © Jeff Patton, all rights reserved, www.AgileProductDesign.com Slice the map to find ideal incremental releases
  • 50. 52 © Jeff Patton, all rights reserved, www.AgileProductDesign.com Agile teams plan product construction in layers
  • 51. 53 © Jeff Patton, all rights reserved, www.AgileProductDesign.com Agile teams plan product construction in layers
  • 52. 54 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
  • 53. 55 © 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
  • 54. 56 © Jeff Patton, all rights reserved, www.AgileProductDesign.com Given story map organized vertically by necessity, we need only slice to plan
  • 55. 57 © Jeff Patton, all rights reserved, www.AgileProductDesign.com Adding tape lines to the wall lets participants organize stories into layers
  • 56. 58 © Jeff Patton, all rights reserved, www.AgileProductDesign.com Adding tape lines to the wall lets participants organize stories into layers
  • 57. 59 © Jeff Patton, all rights reserved, www.AgileProductDesign.com Planning incremental releases can be facilitated as a collaborative event
  • 58. 60 © 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?)
  • 59. 61 © 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
  • 60. 62 © 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
  • 61. 63 © Jeff Patton, all rights reserved, www.AgileProductDesign.com Use product goals to identify candidate incremental releases, where each release delivers benefit Create 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
  • 62. 64 © 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
  • 63. 65 © 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
  • 64. 66 © 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
  • 65. 67 © 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
  • 66. 68 © Jeff Patton, all rights reserved, www.AgileProductDesign.com Iteratively and incrementally construct software
  • 67. 69 © 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)
  • 68. 70 © 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
  • 69. 71 © 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
  • 70. 72 © 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?)
  • 71. 73 © 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.
  • 72. 74 © 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
  • 73. 75 © Jeff Patton, all rights reserved, www.AgileProductDesign.com 193 75 Many organizations consider revising the same functionality as failure. Iteration is not tolerated.
  • 74. 76 © Jeff Patton, all rights reserved, www.AgileProductDesign.com As a product owner, you need a more refined understanding of “shippable”
  • 75. 77 © 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
  • 76. 78 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 ?
  • 77. 79 © 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 ?
  • 78. 80 © 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 …
  • 79. 81 © 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!
  • 80. 82 © 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
  • 81. 83 © 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?
  • 82. 84 © 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
  • 83. 85 © Jeff Patton, all rights reserved, www.AgileProductDesign.com features release engine transmission suspension brakes exterior body Interior seating tires sprint 1 2 3 4 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.
  • 84. 86 © 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
  • 85. 88 © 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 Usability, Performance, Sex Appeal What would make this feature easier to use? More desirable to use? Faster to use? Example: auto-completion, sexy visual design, speed keys * Adapted from Gerard Meszaros’ “Storyotypes”
  • 86. 89 © Jeff Patton, all rights reserved, www.AgileProductDesign.com user tasks to support release D D D D D I I B- C C- D D D D A- B B- B B B B- A- A B A A- A- B- sprint 1 2 3 4 Product goal: (in 4 sprints) be driving the highest quality bus possible Building up quality iteratively and incrementally ships the best product possible We 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
  • 87. 90 © 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/
  • 88. 91 © 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
  • 89. 92 © 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 cumulative business value
  • 90. 93 © 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: opening, mid, and end game.
  • 91. 94 © 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.
  • 92. 95 © Jeff Patton, all rights reserved, www.AgileProductDesign.com Parting thoughts
  • 93. 96 © Jeff Patton, all rights reserved, www.AgileProductDesign.com Questions?
  • 94. © Jeff Patton, all rights reserved, www.AgileProductDesign.com Building Better Products Using User Story Mapping Jeff Patton jpatton@acm.org www.agileproductdesign.com