View
1.339
Download
11
Category
Tags:
Preview:
Citation preview
Jeff Pattonjeff@jpattonassociates.comtwitter: @jeffpatton
Story Mappingdiscover the whole story
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Stupid stuff I used to believe about Agile stories:
1. Stories are way to document requirements in Agile processes
2. Good stories are small3. Good product backlogs are
prioritized lists of stories4. Each story we build is valuable to
customers and users
2
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Documents don’t work the way you
think they do
3
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Imagine a simple phone conversa?on...
Jen Yates’ Cake Wrecks: www.cakewrecks.com4
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Specifying in wri?ng doesn’t work well
h5p://www.cakewrecks.com/
Cake Wrecks, book by Jen Yates, 5
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Specifying in wri?ng doesn’t work well
Jen Yates’ Cake Wrecks: www.cakewrecks.com6
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Specifying in wri?ng doesn’t work well
Jen Yates’ Cake Wrecks: www.cakewrecks.com7
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Specifying in wri?ng doesn’t work well
Jen Yates’ Cake Wrecks: www.cakewrecks.com8
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Specifying in wri?ng doesn’t work well
Jen Yates’ Cake Wrecks: www.cakewrecks.com9
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Specifying in wri?ng doesn’t work well
Jen Yates’ Cake Wrecks: www.cakewrecks.com10
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Specifying in wri?ng doesn’t work well
Some<mes mistakes are less funny11
“... engineers failed to make a simple conversion between English units and metric, an
embarrassing laps...”
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
When we share and sign off a document we may believe we understand
12
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Kent has a disruptively simple idea
13
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Stop it.Stop exchanging documents.
Tell me your story.
If we we could just talk about this, we could figure it out
together.
14
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
The original idea of a story was simple: use it to facilitate a conversa?on
15
someone who wants something
I’ve written on the card what
I want
We’ll talk about it to
discover the details of what I need to build.
someone who builds
something
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Stories get their name from how we use them, not how we
write them.
16
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
But, we still managed to screw that up
17
blah blah blahdy-blah b’blah blah blahdy-blah blah
blah blahdy-blah
b’blah blah blahdy-blah blah
blah blahdy-blah
b’blah blah blahdy-blah blah
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
This is a Scrum backlog grooming session
18
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
This isn’t the kind of conversation Kent
had in mind
19
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Something special is going on during an
effective conversation
20
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
With a shallow discussion, we may all take away something different
21
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
When we externalize our thinking with words and pictures, we detect differences
22
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
When we combine and refine, we arrive at something be'er
23
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
A4erwards, when we say the same thing, we actually mean it
24
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Shared understanding and alignment are the objec;ves of collabora;ve work
✴ Credit for this illustra;on goes to ThoughtWorks’ Luke Barret. Jeff PaGon drew these illustra;ons based on Luke’s. Luke doesn’t recall where he first saw this cartoon.
25
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Words and pictures help everyone build shared understanding
26
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
To build shared understanding, use sketching and recording on walls and whiteboards
27
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on 28
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Shared Understanding and collabora?on at Atlassian
29
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Shared Understanding and collabora?on at Atlassian
30
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Shared Understanding and collabora?on at Atlassian
31
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
What you record during conversa?ons works like a vaca?on photo
Looking at it helps you remember details that aren’t in the photo
32
!Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
What you record during conversa?ons works like a vaca?on photo
Looking at it helps you remember details that aren’t in the photo
33
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Effective story conversations build shared understanding
The best documents use words and pictures to help recall our
conversations, they don’t replace conversations
34
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Y
You’ll have to think things through
35
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
This is a cake for a baby shower
Jen Yates’ Cake Wrecks: www.cakewrecks.com36
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Y
I don’t think they thought this through...
37
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
This is a cake for a baby shower
Jen Yates’ Cake Wrecks: www.cakewrecks.com38
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on 39
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on 40
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Talk about the outcome, not just the output
output outcome
we want thiswe build this
41
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Stories are an an?dote to “requirements”
SoYware development has been steered wrong by the word ‘requirement,’ defined in the
dic?onary as “something mandatory or obligatory.”
The word carries a connota?on of absolu?sm and permanence, inhibitors to embracing change. And
the word ‘requirement’ is just plain wrong.
42
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Kent suggested we talk about what
happens when things come out
43
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Talk about who does what, and why What I was thinking
of was the way users some?mes tell stories about the cool new things the
soYware they use does:
“I type in the zip code and it automatically fills in the city and state without me having to touch a button!” I think that was the example that triggered the idea. If you can tell stories about what the soYware does and generate energy and interest and a vision in
your listener's mind, then why not tell stories before the soYware does it?
44
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Say “Hi” to Rachel45
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Rachel and her team at Connextra created a clever conversa?on starter
46
whowhatwhy
conversation starter
good short title
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Focus discussion and collaboration around
who will use the product and how they’ll work “later,” after delivery
47
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Stories have a simple lifecycle
Conversa?on
Confirma?on
* Ron Jeffries coined the 3 C’s in Extreme Programming Installed
!! !
?
Card
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
If you replace a conversa?on with a document, you’ve stopped using stories
49
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Stories aren’t a different way to write requirements, they’re
a different way to work
50
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
It’s easy to get nowhere fast
51
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
A Story Map helps organize discussion about user’s experience with our product
Gary Levitt, owner & designer of Mad Mimi
52
Explore Details• smaller steps• alternative steps• UI details• technical details
Map Use (from the user’s perspective)
backbone (gives structure to the map)
Frame the idea(why build the
product)
Understand Users(what are their goals)
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Gary ul;mately built a successful product
53
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
A story map is a simple way to tell a story and break it down into parts
54
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Build story maps in small collabora?ve groups
55
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Use the map for con?nuous discussion
56
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Discussions drive out more details, validate, and build shared understanding
57
Talking through the map with multiple users and subject matter experts helps test it for completeness
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Use story maps to understand your whole product or feature’s experience
Use mapping to break down big stories without losing the
big picture
58
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
If I hear MVP one more time, I’m going
to shoot myself
59
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Plan by slicing the map into holis?c valuable releases
60
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Plan by slicing the map into holis?c valuable releases
61
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Plan by slicing the map into holis?c valuable releases
62
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Target outcome
Outcome-centric roadmap
MVP MVP: Minimal Viable Product๏ The smallest product
you could build that reaches your target outcomes
It’s NOT -‐ the crappiest thing that could possibly work
If it dies in the market, it’s wasn’t viable
Your job is to build LESS soYware
63
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
But, how do you know if you’re
hypothesis is correct?
64
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
You don’t
65
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Delivering your hypothe?cal solu?on a piece at a ?me delays learning
66
Hypothesis:
output outcome
$$$impact
* Artwork and concept described by Henrik Kniberg
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Deliver minimum viable product tests to a smaller audience to find what’s really viable
67
Hypothesis:
output outcome
$$$impact
MVP?somewhere around here
* Artwork and concept described by Henrik Kniberg
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Eric has organized his backlog into a series of release slices
68
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Nothing leaves their board un?l there’s been a discussion on what they’ve learned
Snag-‐a-‐Job’s task board photo courtesy of David Bi5enbender
Explicit release step
Explicit measure step & metrics
69
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
You won’t finish on time
72
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
“accurate estimate” is an oxymoron
73
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
To release benefit on a schedule we’ll need to budget, and leverage
incremental and iterative thinking
(What’s the difference?)
74
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
“incremen?ng” builds a bit at a ?me
1 2 3 4 5
Incrementing calls for a fully formed idea.
And, doing it on time requires dead accurate estimation.
75
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
“itera;ng” and “incremen;ng” 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
76
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on193 77
Many organiza?ons consider revising the same func?onality as failure. Itera?on is not tolerated.
timeJeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Work like an ar?st to envision and build the product holis?cally
78
“Art is never finished, only abandoned.”
-Leonardo DaVinci
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
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 GameEarly stories emphasize iteration and learning. We need to be sure we’re building the right product
Organize work to maximize learning
The inverse of risk is knowledge
Learning earlier about delivery risks helps us finish on ?me
Alistair Cockburn refers to cuhng the small “polishing” stories as “trimming the tail.”
timeac
qui
red
pro
duc
t kno
wle
dg
e
79
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Use a story map to slice out a delivery strategy
80
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Consider these four story splihng heuris?cs that build up qualityBare Necessity For the feature to be minimally demonstrable – but not releasable, what is the minimal func<onalityExample: A form with only necessary fields and no valida9on
Capability & Flexibility What would add the ability to perform the user task in different ways? Adding in sub tasks that are op<onally performed?Example: a form with op9onal fields, date lookup tools, input transla9on on dates
Safety What would make this feature safer to use? For both the user, and for the business paying for the soPware?Example: input valida9on, enforcement of business rules such as credit card valida9on
Usability, Performance, Sex AppealWhat would make this feature easier to use? More desirable to use? Faster to use?Example: auto-‐comple9on, sexy visual design, speed keys
81
* Adapted from Gerard Meszaros’ “Storyotypes”
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
user
task
s to
sup
port
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) ship the best product possible82
Building up quality itera?vely and incrementally ships the best product possible
1. We know each story can be split into at least four parts2. Early itera<ons strive to build bare necessi<es, later itera<ons build up quality
3. Evalua<ng readiness based on subjec<ve quality to understand doneness
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on 83
Sculpture at various stages of comple<on, Musée d’Orsay, Paris
Product Owners must understand the delivery strategy that leads
to a finished product
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
Build up software iteratively and
incrementally to release the highest quality possible on time
84
Jeff Pa'on & Associates, jeff@jpa'onassociates.com, twi'er@jeffpa'on
1. Tell stories, don’t just write them2. Use simple visualizations to anchor the stories
you tell
3.Tell the whole story to find the parts that matter most
4. Think things through: minimize output, maximize outcome and impact
5. Build to minimum viable product tests to find what’s minimum and viable in the market
Effective stories connect everyone to the purpose of your product
70
Jeff Pattonjeff@jpattonassociates.comtwitter: @jeffpatton
Story Mappingdiscover the whole story
Recommended