Upload
chassa
View
8.227
Download
0
Embed Size (px)
DESCRIPTION
Build – Measure – Learn is one of the most important mechanisms of agile software development. However, this mechanism is often crippled in nowadays projects, where traditional approaches of requirements gathering are bloating up product backlogs that cannot be prioritized anymore in a meaningful way. The results are customers not interested in iteration results, release to production that happens only at the end of the project, and feedback from customers when it is already too late and the budget is burned up. Story mapping is a method that aligns user stories along desirable outcomes, so that customers can give sooner meaningful feedback, and release to production can happen earlier. The method helps slicing and prioritizing user stories, and addresses the product design aspect that is missing when just working with a product backlog. The method is highly visual and facilitates shared product ownership among product owner, team and customer. This presentation provide an introduction to the concept of story mapping, with examples and experience gathered in own projects.
Citation preview
CHRISTIAN HASSA ([email protected])
TWITTER: @CHRISHASSA
Budapest Agile MeetUp, May 9th 2013
Story Maps in practiceenable early feedback to build what really matters
2
About TechTalk• Agile consulting and delivery• Offices: Vienna, Budapest, Zurich
TechTalk Team
3
Why agile requirements?Successful problem solving requires
finding the right solutionto the right problem.
Russell Ackoff, 1974
We fail more often,
because we solve the wrong problemthan because we get thewrong solution to the right problem.
4
User Stories
5
• Describe user needs or features• Unit of planning/prioritization• Future options for evolving the system• Reminder for a conversation• Deferring detail to the last responsible
moment
What makes user stories agile?
„User stories are really the artifactat the heart of the continuing dialog between
what is possible and what is desirable.“~ Kent Beck (http://c2.com/cgi/wiki?UserStory)
6
Impact Mapping
Story Mapping
Specification-By-Example
Discovering the problem to solveWhy?
How?Code
AcceptanceCriteria
Epics
Deliverables, Outputs
Impacts, Outcomes
Easier to define upfront Harder to define upfront
User Activities
User Stories
Examples
Goals
7
Specification-By-Example
Defining experiments
Story Mapping
User Activities
Impact Mapping
Why?
How?Code
AcceptanceCriteria
Epics
Deliverables, Outputs
Impacts, Outcomes
Easier to define upfront Harder to define upfront
User Stories
Examples
Goals
8
delivering softwarethat generates
Impact
9
Impact Mapping
From: Gojko Adzic: www.impactmapping.org
Based on:Ingrid Domingues,
Mijo BalicEffect Managing IT
“Impact Mapping helps us plan better!It is collaborative, visual and fast.”
10
Impact Map structure
Goal
Actors
Impacts
Deliverables
What is our goal?Sell 10.000 books within the first 6 monthsafter launching the business.
Who can help/prevent us reaching our goal?Shopper of mainstream books,Shopper of rarely available books,Shipping Department, Hackers
Impact triggering behavior change to help/obstruct goalShopper of mainstream books:• Receive books quicker• find popular books more easily
Deliverables or features supporting/preventingthese impacts (behavior changes):Shopper of mainstream books:• Receive books quicker
• order books online• semi-automated distribution center
11
Defining Impacts as User Stories
As a Shopper of mainstream books
I want to order books online
So that I can receive books quicker.
Sell 10.000 books within the first 6 monthsafter launching the business.
Actor Impact Deliverable
Actor
Impact
Deliverable
12
Defining Goals
• Scale: What to measure• (Alternative scales to consider)
• Meter: How to measure• (Different options how to meter)
• Levels• Benchmark: Current Situation• Constraint: Break-Even for
Investment, Minimum Acceptable Result
• Target: Desired Result• (Further possible levels: Trend, Fail,
Record, Survival)
# Monthly ordersof books
Sell 10.000 books in thefirst 6 months
Shop systemdatabase
0
1.000
10.000
Tom Gilb: Competitive Engineering, PLANGUAGE
13
Combining Goals
Selling books in6 months
Development+Operational Costs
Returning customers
Scale # Monthly orders of books
Team Salaries +Operation Costs
% of Customersordering for asecond time within 2 months
Meter Shop System database
Financial Accounts
Shop System
Benchmark
Constraint 1.000 EUR 200.000 20%
Target 10.000 EUR 100.000 50%
14
Evolving goals over time
Selling books in6 months
Development+Operational Costs
Returning customers
Scale # Monthly orders of books
Team Salaries +Operation Costs
% of Customersordering for asecond time within 2 months
Meter Shop System database
Financial Accounts
Shop System
Benchmark
Constraint 1.000 EUR 200.000 20%
Target 10.000 EUR 100.000 50%
Increasing book sales in 6 months
Development+Operational Costs
Returning customers
Scale # Monthly orders of books
Team Salaries +Operation Costs
% of Customersordering for asecond time within 2 months
Meter Shop System database
Financial Accounts
Shop System
Benchmark 7.500 EUR 180.000 27%
Constraint 15.000 EUR 200.000 20%
Target 50.000 EUR 100.000 50%
15
Brainstorming experiments
16
Story Maps
17
Impact Mapping
Specification-By-Example
Optimizing and refining scope
Story Mapping
Why?
How?Code
AcceptanceCriteria
Epics
Deliverables, Outputs
Impacts, Outcomes
Easier to define upfront Harder to define upfront
User Activities
User Stories
Examples
Goals
18
Incremental development
1 2 3 4 5
Requires specifying the solution in detail upfront.
Hard to estimate, errors are hard to correct, no adaption possible.
Hard to provide feedback on incremental shipment.
From: Jeff Patton, Story Map Workshop
19
Iterative development
1 2 3
Allows to refine the solution.
Allows for feedback to better understand the problem.
4 5
From: Jeff Patton, Story Map Workshop
20
Story Maps
• Concept byJeff Patton
• Prioritize for impact/outcome
• Optimize design for user goal
• Inject features to support user scenario
21
Building story mapsImpact: Shopper ofmainstream books
receive books quicker
Find book I want
Collect books
Commitorder
Wait forbook
Receive book
time
browse best
sellers
put into basket
enter address
receivedelivery
slip
receive delivery notificat.
pay with credit card
search book by
title
create wish list
inquiry order status
Deliverable achieving impact(Scenario delivers output)
useractivities
systemfeatures
ne
cess
ity
Order books online
22
Walkingskeleton
Enablingbuild – measure - learn
Find book I want
Collect books
Commitorder
Wait forbook
Receive book
time
browse best
sellers
enter address
receivedelivery
slip
pay with credit card
search book by
title
create wish list
inquiry order status
put into basket
receive delivery notificat.
ne
cess
ity
manualworkaround
omittedsteps
Does the deliverableachieve the impact?
Impact: Shopper ofmainstream books
receive books quicker
Order books online
Does the impacthelp the business goal?
23
Iterative delivery of featuresBase RequirementsMinimum for demo. „walking skeleton“. Not for production.
Example: Form with mandatory fields without validation.
Capability and FlexibilityVariations of usage. Additional functions, sub-functions.
Example: lookup-control, optional fields
SecuritySecurity for users and stakeholders
Examples: Input validation, additional business rules
Usability, PerformanceMore efficient, attractive, easier to use
Example: auto-complete, UI-design, hotkeys
From: Jeff Patton, Story Map Workshop
24
Iterative planning for the release• Opening Game: simplest possible path,
„Walking Skeleton“• Mid Game: flexibility, capability and security• End-Game: fine-tuning, performance,
buffer for unexpected
timeuncertainty decreases over time
un
cert
ain
ty
OpeningGame
Build up necessities
Mid-GameBuild out flexibility and business rules
enforcement
End-GameRefine the UI and interactions, take
advantage of iterative learning
From: Jeff Patton, Story Map Workshop
25
Realized business value
End GameFine-tuning in the end.
Mid GameBuild features. “Meat” for the “walking skeleton”.
Opening GameFocus on understanding the problem. Are we building the right product?
time
real
ized
bu
sin
ess
valu
e
From: Jeff Patton, Story Map Workshop
26
Learning curve
End GameFine-tuning in the end.
Mid GameBuild features. “Meat” for the “walking skeleton”.
Opening GameFocus on understanding the problem. Are we building the right product?
timeacq
uir
ed p
rod
uct
kn
ow
led
ge
From: Jeff Patton, Story Map Workshop
27
Story Map Example: eVoting System
Provision and support
Nominate candidates
Vote and determine results
28
Sprint 1
Nominate candidates
29
Sprint 2
Nominate candidates
30
Sprint 3
Vote and determine results
31
Sprint 4
Provision and support
32
Not implemented functionality
33
Added functionality
34
Creation of Story Maps
35
Product Design with Story Maps
36
Tools
37
Transport and Conservation
38
Linking within ALM
Refinement forSprint planning
Link with Sprint Backlog(Tasks, Taskboard, Burndown)
Drill into Details(Specification-By-Example)
39
Summary
Impact Maps• Define business goals• Brainstorm impacts on actors to support
(not obstruct) business goals• Evaluate deliverables achieving impact
Story Maps• Prioritize a deliverable to achieve impact• Optimize a deliverable for user goal• Inject features to support given user scenario
40
Books
Gojko AdzicImpact Mapping
41
43
Further information
• SpecLog: www.speclog.net
• XP Conference Vienna: xp2013.org, June 3rd-7th
• Agile Trainings: www.techtalk.at/scrum-trainingsGojko Adzic, Mitch Lacey, Gaspar Nagy
• Q&A: after the Pizza• Email: [email protected] – Twitter: @chrishassa
Working at [email protected] - http://experts.techtalk.athttp://www.techtalk.at/TechTalk/Jobs.aspx