From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

10,412 views

Published on

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.

Published in: Technology

From impact to stakeholder examples: Three techniques for end-to-end requirements discovery

  1. 1. CHRISTIAN HASSA (CH@TECHTALK.AT) TWITTER: @CHRISHASSA Agile Adria, April 22nd 2013 From impact to stakeholder examples Three techniques for end-to-end requirements discovery
  2. 2. About me • Managing Partner at TechTalk: agile consulting and delivery • Working in: Vienna, Budapest, Zurich Vienna/Austria
  3. 3. 3 Why agile requirements? Successful problem solving requires finding the right solution to the right problem. Russell Ackoff, 1974 We fail more often, because we solve the wrong problem than because we get the wrong solution to the right problem.
  4. 4. 4 User Stories
  5. 5. 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 artifact at the heart of the continuing dialog between what is possible and what is desirable.“ ~ Kent Beck (http://c2.com/cgi/wiki?UserStory)
  6. 6. 6 Impact Mapping Story Mapping Specification-By-Example Discovering the problem to solve Why? How? Code Acceptance Criteria Epics Deliverables, Outputs Impacts, Outcomes Easier to define upfront Harder to define upfront User Activities User Stories Examples Goals
  7. 7. 7 Specification-By-Example Defining experiments Story Mapping User Activities Impact Mapping Why? How? Code Acceptance Criteria Epics Deliverables, Outputs Impacts, Outcomes Easier to define upfront Harder to define upfront User Stories Examples Goals
  8. 8. 8 delivering software that generates Impact
  9. 9. 9 Impact Mapping From: Gojko Adzic: www.impactmapping.org Based on: Ingrid Domingues, Mijo Balic Effect Managing IT “Impact Mapping helps us plan better! It is collaborative, visual and fast.”
  10. 10. 10 Impact Map structure Goal Actors Impacts Deliverables What is our goal? Sell 10.000 books within the first 6 months after 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 goal Shopper for mainstream books: • get books faster/more convenient • find popular books easily Deliverables or features supporting/preventing these behavioural changes (impacts): Shopper for mainstream books: • get books faster/more convenient: • order books online • semi-automated distribution center
  11. 11. 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 months after launching the business. Actor Impact Deliverable Actor Impact Deliverable
  12. 12. 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 orders of books Sell 10.000 books in the first 6 months Shop system 0 1.000 10.000 Tom Gilb: Competitive Engineering, PLANGUAGE
  13. 13. 13 Combining Goals Selling books in 6 months Development+ Operational Costs Returning customers Scale # Monthly orders of books Team Salaries + Hosting Costs % of Customers ordering for a second 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. 14. 14 Evolving goals over time Selling books in 6 months Development+ Operational Costs Returning customers Scale # Monthly orders of books Team Salaries + Hosting Costs % of Customers ordering for a second 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 Customers ordering for a second 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. 15. 15 Brainstorming experiments
  16. 16. 16 Story Maps
  17. 17. 17 Impact Mapping Specification-By-Example Optimizing and refining scope Story Mapping Why? How? Code Acceptance Criteria Epics Deliverables, Outputs Impacts, Outcomes Easier to define upfront Harder to define upfront User Activities User Stories Examples Goals
  18. 18. 18 Story Maps • Concept by Jeff Patton • Helps optimizing for desired impact/outcome • User path through the system • Skeleton for user stories
  19. 19. 19 Building story maps Mainstream shoppers get books faster/more convenient Find book I want Collect books Complete order Wait for book Receive book time browse best sellers put into basket enter address receive delivery slip receive delivery notificat. pay with credit card search book by title create wish list inquiry order status Scenario delivers output (deliverable) user activities system features necessity Order books online
  20. 20. 20 Walking skeleton Enabling build – measure - learn Find book I want Collect books Complete order Wait for book Receive book time browse best sellers enter address receive delivery slip pay with credit card search book by title create wish list inquiry order status put into basket receive delivery notificat. necessity manual workaround omitted steps Feedback Mainstream shoppers get books faster/more convenient Order books online
  21. 21. 21 Story Map Example: eVoting System Provision and support Nominate candidates Vote and determine results
  22. 22. 22 Sprint 1 Nominate candidates
  23. 23. 23 Sprint 2 Nominate candidates
  24. 24. 24 Sprint 3 Vote and determine results
  25. 25. 25 Sprint 4 Provision and support
  26. 26. 26 Not implemented functionality
  27. 27. 27 Added functionality
  28. 28. 28 Creation of Story Maps
  29. 29. 29 Product Design with Story Maps
  30. 30. 30 Tools
  31. 31. 31 Transport and Conservation
  32. 32. 32 Specification-By-Example
  33. 33. 33 Impact Mapping Story Mapping Specification-By-Example Establishing a shared understanding Why? How? Code Acceptance Criterion Epic Capability Impact, Goal Easier to define upfront Harder to define upfront Bug report Isolated, formalized example Feature User Story Example Reminder for a discussion
  34. 34. 34 UI wire frames, existing UI rules, key examples existing artifacts, samples Examples for user stories
  35. 35. 35 Specification-by-Example Examples … • make abstract descriptions better understandable However … • examples are usually not formally exchanged or documented Brian Marick Examples Tests Requirements consist of describe verify fulfillment of
  36. 36. 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 Dinwiddie http://blog.gdinwidiee.com
  37. 37. 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 Dinwiddie http://blog.gdinwidiee.com
  38. 38. 38 Discover hidden assumptions Actually, this is not quite right: Books on sale should be excluded. Original idea for the illustration: George Dinwiddie http://blog.gdinwidiee.com
  39. 39. 39 Collaboration: 3 amigos “Happy Path” Technical feasability Exceptions, border cases Original idea for the illustration: George Dinwiddie http://blog.gdinwidiee.com
  40. 40. 40 Purpose of the examples • Shared understanding: acceptance criteria • Documentation: Look-up detail aspects of the system • Regression-tests: Understand what assumptions have been violated
  41. 41. 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 steps to an automatable interface of the application. Automatable interface UI Automation Automation does not necessarily have to bind to the UI. Automatability of system is supported/evolving with development.
  42. 42. 42 Linking within ALM Refinement for Sprint planning Link with Sprint Backlog (Tasks, Taskboard, Burndown) Drill into Details (Specification-By-Example)
  43. 43. 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. 44. 44 Books Gojko Adzic Impact Mapping Gojko Adzic Specification by Example
  45. 45. 45
  46. 46. 46 Christian Hassa: ch@techtalk.at - @chrishassa

×