Upload
chassa
View
9.335
Download
1
Embed Size (px)
DESCRIPTION
Presented Agile Adria 2013, April 22nd A recording of the talk is available here: https://www.youtube.com/watch?v=IiX5FZLxSUE Requirements in agile development are much more than just a prioritized list of user stories. Release planning can be as important as the documentation of implemented business rule details. This talk introduces three popular techniques for discovering user needs on different goal levels, and how they fit together: Impact Mapping for strategic release planning, Story Mapping for designing and optimizing the scope of a release and Specification-By-Example for establishing a shared understanding about domain details and as an enabler for automated, business readable acceptance tests. You will leave this session with an overview about these three techniques, and how you can combine them in your daily work. The target audience are teams already working in an agile (or somewhat agile) environment and are familiar with the basic agile practices.
Citation preview
CHRISTIAN HASSA ([email protected])
TWITTER: @CHRISHASSA
Agile Adria, April 22nd 2013
From impact tostakeholder examplesThree techniques for end-to-end requirements discovery
About me
• Managing Partner at TechTalk:agile consulting and delivery
• Working in: Vienna, Budapest, Zurich
Vienna/Austria
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 discussion•Mechanism for deferring detail
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 for mainstream books,Shopper for rarely available books,Agent preparing shipments, Hackers
Behavioural change helping/obstructing our goalShopper for mainstream books:• get books faster/more convenient• find popular books easily
Deliverables or features supporting/preventingthese behavioural changes (impacts):Shopper for mainstream books:• get books faster/more convenient:
• order books online• semi-automated distribution center
11
Defining Impacts as User Stories
As a Shopper for Mainstream Books
I want to order books online
So that I can get books faster and more convenient.
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 system
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 +Hosting Costs
% of Customersordering for asecond time within 2 months
Meter Shop System 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 +Hosting Costs
% of Customersordering for asecond time within 2 months
Meter Shop System 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 +Hosting Costs
% of Customersordering for asecond time within 2 months
Meter Shop System 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
Story Maps
• Concept byJeff Patton•Helps optimizing
for desired impact/outcome•User path through
the system• Skeleton for
user stories
19
Building story mapsMainstream shoppers
get booksfaster/more convenient
Find book I want
Collect books
Completeorder
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
Scenario delivers output(deliverable)
useractivities
systemfeatures
ne
cess
ity
Order books online
20
Walkingskeleton
Enablingbuild – measure - learn
Find book I want
Collect books
Completeorder
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
Feedback
Mainstream shoppersget books
faster/more convenient
Order books online
21
Story Map Example: eVoting System
Provision and support
Nominate candidates
Vote and determine results
22
Sprint 1
Nominate candidates
23
Sprint 2
Nominate candidates
24
Sprint 3
Vote and determine results
25
Sprint 4
Provision and support
26
Not implemented functionality
27
Added functionality
28
Creation of Story Maps
29
Product Design with Story Maps
30
Tools
31
Transport and Conservation
32
Specification-By-Example
33
Impact Mapping
Story Mapping
Specification-By-Example
Establishing a shared understanding
Why?
How?
Code
AcceptanceCriterion
Epic
Capability
Impact, Goal
Easier to define upfront Harder to define upfront
Bugreport
Isolated,formalizedexample
Feature
User Story
Example
Reminderfor adiscussion
34
UI wire frames,existing UI
rules, key examples
existing artifacts,samples
Examples for user stories
35
Specification-by-Example
Examples …• make abstract descriptions
better understandable
However …• examples are usually not formally
exchanged or documentedBrian Marick
Examples Tests
Requirements
consist of
describe verifyfulfillment of
36
Discussion of acceptance criteria
public void TestInitialOrderDiscount()
{
Customer newCustomer = new Customer();
Order newOrder = new Order(newCustomer);
newOrder.AddBook(
Catalog.Find(“ISBN-0955683610”)
);
Assert.Equals(33.75,
newOrder.Subtotal);
}
Register as “bart_bookworm”Go to “/catalog/search”Enter “ISBN-0955683610”Click “Search”Click “Add to Cart”Click “View Cart”Verify “Subtotal” is “$33.75”
We would like to encourage new users to buy in our shop.Therefore we offer 10% discount for their first order.
Original idea for the illustration: George Dinwiddiehttp://blog.gdinwidiee.com
37
… illustrated with formalized examples
Given the user has not ordered yet
When the user adds a book with the price of EUR 37.5
into the shopping cart
Then the shopping cart sub-total is EUR 33.75.
Original idea for the illustration: George Dinwiddiehttp://blog.gdinwidiee.com
38
Discover hidden assumptions
Actually, this is not quite right:Books on sale should be excluded.
Original idea for the illustration: George Dinwiddiehttp://blog.gdinwidiee.com
39
Collaboration: 3 amigos
“HappyPath”
Technical feasability
Exceptions, border cases
Original idea for the illustration: George Dinwiddiehttp://blog.gdinwidiee.com
40
Purpose of the examples
• Shared understanding:acceptance criteria
• Documentation:Look-up detail aspectsof the system
• Regression-tests:Understand whatassumptions have been violated
41
Continuous validation with automation
Given my shopping basket contains 1 copy of “Harry Potter”
When I add the book “Harry Potter” to my shopping basket
Then my shopping basket should contain 2 copies of “Harry Potter”
System
„Step Definitions“ are binding individual stepsto an automatable interface of the application.
Automatableinterface
UIAutomation
Automation does not necessarily have to bind to the UI.
Automatability of system is supported/evolving with development.
42
Linking within ALM
Refinement forSprint planning
Link with Sprint Backlog(Tasks, Taskboard, Burndown)
Drill into Details(Specification-By-Example)
43
Summary
Impact Maps• Discover the unknown• Identify and evaluate experiments for
impacts towards goal
Story Maps• Optimize scope and UX for specific outcome• Prioritize for rapid learning through
delivery and feedback
Specification-By-Example• Establish shared understanding• Living documentation and continuous validation
44
Books
Gojko AdzicImpact Mapping
Gojko AdzicSpecification byExample
45
46 Christian Hassa: [email protected] - @chrishassa