Professional Documents
Culture Documents
Jeff Patton
jpatton@acm.org
www.agileproductdesign.com
Jeff Patton, all rights reserved, www.AgileProductDesign.com
QuickTime and a
Cinepak decompressor
are needed to see this picture.
NBC Studios
Jeff Patton, all rights reserved, www.AgileProductDesign.com
Users need
Product description
Planning item
Token for a conversation
Mechanism for deferring
conversation
10
11
12
13
14
15
16
17
18
goal evaluation
Is my goal met or problem
resolved?
Take some
action
action evaluation
Did that action deliver the results I
expected?
the world
19
goal
task
tool
Jeff Patton, all rights reserved, www.AgileProductDesign.com
20
goals
tasks
software
features
Jeff Patton, all rights reserved, www.AgileProductDesign.com
21
activity
task
task
task
task
task
23
manageactivity
email
read
task
message
create
task
folder
send
task
message
delete
task
message
prioritize
task
message
place
message
task
in folder
24
Too detailed
* from Cockburns Writing
Effective Use Cases
Jeff Patton, all rights reserved, www.AgileProductDesign.com
25
As an instructor
I want to take a shower
So that I dont offend my
colleagues
Jeff Patton, all rights reserved, www.AgileProductDesign.com
26
28
Start with an
understanding or user
experience
Jeff Patton, all rights reserved, www.AgileProductDesign.com
29
5. The date is defaulted to today, and the shift is defaulted to morning since he
hasnt 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 reps ID is already filled in, along with the code for the credit card
promotion theyre 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 hes close to his goal. If the next shift continues at this rate hell
beat the plan by 5% or so. Thats good.
11. Steve validates that the base pay is correct at $5 per app, and that hes 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 Macys 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.
30
31
casual browser
I want to find something
good from a band I heard
on the radio.
Goal: : have fun finding
something interesting
Impatient buyer
I wan to find a specific hard
to find foreign film.
Goal: : Find it and get out
quickly without wasting my
time
32
33
34
time
35
time
36
time
37
time
38
39
40
41
42
time
43
time
task
sub-tasks or
task details
44
necessity
time
45
necessity
time
46
necessity
47
48
The backbone
time
necessity
49
50
51
52
53
Release
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
Story (Backlog
Item)
Acceptance Tests
54
more
optional
first release
optionality
less
optional
second release
third release
55
56
57
58
59
Theres a secret to
effective prioritization
(Before I give my ideas about what it is,
whats worked for you?)
60
61
62
less
optional
more
optional
optionality
necessary
63
Choices in business
goals, users, and use
have big
consequences to
software scope
Use
(Activities & Tasks)
Software to build
(Specified as User
Stories)
64
Business
Goals
User
Constituencies
Use
(Activities & Tasks)
Software to build
(Specified as User
Stories)
3
65
66
67
Iteratively and
incrementally construct
software
Jeff Patton, all rights reserved, www.AgileProductDesign.com
68
Traditional
software
development
Time
Cost
(resources)
69
Time
Scope
Agile software
development
Traditional
software
development
Time
Cost
(resources)
Scope
70
Time
Scope
Agile software
development
Traditional
software
development
Time
Cost
(resources)
Scope
71
To release benefit on a
schedule well need to
leverage incremental and
iterative thinking
(Whats the difference?)
Jeff Patton, all rights reserved, www.AgileProductDesign.com
72
73
74
75
76
user goal
user task
tool
Jeff Patton, all rights reserved, www.AgileProductDesign.com
77
hole
dig hole
hold my options open
Jeff Patton, all rights reserved, www.AgileProductDesign.com
78
hole
dig hole
79
engine
transmission
brakes
suspension
seats
steering wheel
moderate cost
high cost
51
80
Theres more to
me than that
silly survey
technique!
81
Must-haves
The products must have
this features for me to be
consider the product
acceptable
One-dimensionals
This car has many flaws. Buy it
anyway. Its so much fun to
drive
-- from a NY Times review of the
Mini Cooper
Delighters
I love this element of the
product!
82
83
Basic brakes
(must have)
Stopping
distance
(one dimensional)
Anti-locking
(delighter)
Cool dashboard
light when slipping
(delighter)
84
tires
Interior seating
exterior body
brakes
suspension
transmission
release
engine
features
4
3
2
1
85
86
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
88
sprint
ABD
C
D
A
B
CBD
B
D
A
B
release
AD
B
AD
BI
BD
I
4
3
2
1
Product goal: (in 4 sprints) be driving the highest quality bus possible
Jeff Patton, all rights reserved, www.AgileProductDesign.com
89
uncertainty
Mid-Game
Build out
flexibility and
business rule
enforcement
End-Game
Refine the UI and
interactions, take
advantage of
iterative learning
90
uncertainty
Mid-Game
Build out
flexibility and
business rule
enforcement
End-Game
Refine the UI and
interactions, take
advantage of
iterative learning
91
To finish on time
we may trim
the tail by
deferring stories
of modest value
time
Opening
Game
Mid Game
Once were confident
we have the shape of
the product right, we
begin to pile in value
End Game
Over time the value of
stories begin to diminish
signaling its time for
release
92
93
94
Parting thoughts
95
Questions?
96
Jeff Patton
jpatton@acm.org
www.agileproductdesign.com
Jeff Patton, all rights reserved, www.AgileProductDesign.com