Agile Requirements Decomposition

8,471 views

Published on

Requirements decomposition presentation that focuses on story mapping.

Published in: Technology

Agile Requirements Decomposition

  1. 1. Agile Requirements Decomposition<br />Epic to User Story<br />
  2. 2. What Are We Doing Tonight?<br />Decomposing a vision into stories<br />Vision -> Epics/Features -> Stories<br />The use of story mapping to prioritize and plan a release<br />Work through an example together<br />Have fun<br />
  3. 3. Do you use a Vision today?<br />Do you find it valuable?<br />How do you use it?<br />
  4. 4. Vision<br />Describes the problem being solved for a release<br />Describe a product solution<br />Provides a list of features delivered in the release<br />Creates shared understanding of purpose<br />
  5. 5. Vision: Problem Statement<br />
  6. 6. Vision: Product Position<br />
  7. 7. Epics<br />Large initiatives delivering new products, solutions, or services to customers<br />Comprised of a large collection of features which may span releases<br />Represents a theme and are “fuzzy” requirements – at this point<br />
  8. 8. Features<br />Capabilities that the product owner is interested in<br />Are delivered within releases<br />Provides value to users<br />Realized by some number of user stories<br />
  9. 9. Features: ShipFlix<br />Users can cancel their account<br />Ten DVDs can be added to viewing queue<br />Users can create an account with a valid CC<br />Two DVDs can be out at any one time<br /># DVDs out can be increased with higher fee<br />Streaming will be supported in IE and Firefox<br />….<br />Movies can be streamed to Windows computers<br />
  10. 10. What is a story?<br />Once upon a time there was a misunderstood wolf that…<br />
  11. 11. User Story<br />Represents a user’s need<br />Planning item<br />Causes a conversation to occur<br />
  12. 12. User Stories<br />A user story describes functionality that will be of value to a user<br />Represents smallest increment of value<br />Contained within a sprint or less<br />
  13. 13. The 3 C’s of a User Story<br /><ul><li>Written on note cards
  14. 14. Can be annotated with estimates, value, notes, etc.</li></ul>Card<br /><ul><li>Details of the story come out through conversations with the customer</li></ul>Conversation<br /><ul><li>Acceptance tests are defined to confirm the story is complete</li></ul>Confirm<br />
  15. 15. Story written as:<br />Starts with a title<br />Description: As a <role>, I want to <goal>, so that <benefit><br />Acceptance criteria to define when we’re done<br />
  16. 16. INVEST Model for Stories<br />There should be no dependencies between stories<br />Independent<br />Describes functionality to be negotiated between the customer and development <br />Negotiable<br />Valuable to the user or purchaser<br />Valuable<br />Have enough detail to estimate without being too detailed<br />Estimatable<br />They should be small, one sprint or less<br />Small<br />Worded in a way that they can be tested<br />Testable<br />
  17. 17. Stories: ShipFlix<br />As a user, I want to keep 2 DVDs at any time, so I have viewing choices at home<br />As a user, I want pre-paid envelopes for returning DVDs, so I don’t have extra costs.<br />As a shipping clerk, I want to see how many disks are out, so I don’t send too many to a customer.<br />As a warehouse receiver, I want to scan returned disks, so I can quickly credit the customer’s account<br />
  18. 18. Benefits of Story Mapping<br />Provides visibility of the workflow across the system<br />Points out relationships between stories<br />Helps to spotlight missing stories<br />Provides a prioritization mechanism<br />Release planning is improved by focusing on valuable slices<br />
  19. 19. Story Mapping<br />Usage Sequence<br />Feature 3<br />Feature 1<br />Feature 4<br />Feature 2<br />Arrange features or activities in the order they are done.<br />
  20. 20. Story Mapping<br />Usage Sequence<br />Feature 3<br />Feature 1<br />Feature 4<br />Feature 2<br />User Story<br />User Story<br />User Story<br />User Story<br />User Story<br />User Story<br />User Story<br />User Story<br />User Story<br />Identify stories that support features or activities<br />User Story<br />
  21. 21. Prioritize stories<br />Usage Sequence<br />More important<br />Feature 3<br />Feature 1<br />Feature 4<br />Feature 2<br />User Story<br />User Story<br />User Story<br />User Story<br />User Story<br />User Story<br />User Story<br />User Story<br />Less Important<br />User Story<br />Arrange stories so most necessary are at the top<br />User Story<br />
  22. 22. Create horizontal slice<br />Usage Sequence<br />More important<br />Feature 3<br />Feature 1<br />Feature 4<br />Feature 2<br />User Story<br />User Story<br />User Story<br />User Story<br />User Story<br />User Story<br />User Story<br />User Story<br />Less Important<br />User Story<br />Pick necessary stories that are required for a first release<br />User Story<br />
  23. 23. A Skeleton Release<br />Usage Sequence<br />More important<br />Feature 3<br />Feature 1<br />Feature 4<br />Feature 2<br />User Story<br />User Story<br />User Story<br />User Story<br />User Story<br />User Story<br />User Story<br />User Story<br />Less Important<br />User Story<br />Prioritization considers business workflow and value of stories within the context of the whole system<br />User Story<br />
  24. 24. Example Problem<br />
  25. 25. Vision: Problem Statement<br />
  26. 26. Vision: Product Position<br />
  27. 27. Features<br />Request money from another user<br />Send money to another user<br />Configure funding account<br />Sign up for a P2P account<br />Administer P2P system<br />Manage money transfer disputes<br />
  28. 28. Exercise – Features<br />Goal: Based on the problem statement and product position, define a set of features<br />Break into teams<br />Choose someone in your team to present your features<br />You have 10 minutes to define features<br />
  29. 29. Review Features<br />Each team will describe the features<br />Place your “features” on the wall<br />Other teams should listen for duplicates and remove them from their set of features<br />Order features horizontally by usage<br />
  30. 30. Exercise - Stories<br />Each team will be given one or two features<br />Create a set of stories for those features<br />For each story think about:<br />The kind of user who uses it<br />How often it is used (often, sometimes, rarely)<br />How valuable is it (high, medium, low)<br />You have 15 minutes for this exercise<br />
  31. 31. Features arranged by order<br />Order of activities<br />Send money to another user<br />Sign up for a P2P account<br />Request money from another user<br />Configure funding account<br />
  32. 32. Identify stories by feature<br />Order of activities<br />More important<br />Send money to another user<br />Sign up for a P2P account<br />Request money from another user<br />Configure funding account<br />Sign into P2P<br />Sign into P2P<br />Sign into P2P<br />Register for P2P<br />Sign into P2P<br />Configure bank account<br />Send money to P2P user<br />Send money request to P2P user<br />Less Important<br />Confirm bank account<br />Configure credit card account<br />
  33. 33. Create horizontal slice<br />Order of activities<br />More important<br />Send money to another user<br />Sign up for a P2P account<br />Request money from another user<br />Configure funding account<br />Sign into P2P<br />Sign into P2P<br />Sign into P2P<br />Register for P2P<br />Sign into P2P<br />Configure bank account<br />Send money to P2P user<br />Send money request to P2P user<br />Less Important<br />Confirm bank account<br />Identifies a first release<br />Configure credit card account<br />
  34. 34. For Each Release:<br />Give it a name or statement that describes the purpose<br />Describe the benefits and goals for the business<br />Describe the benefits or value the users get<br />Release 1: Two DVDs out to customers<br />Business Value: Begin creating a user base to offer more profitable capabilities<br />User Value: Ability to have two DVDs out for viewing at home without the hassle of storefront rentals.<br />
  35. 35. Exercise – Story Mapping<br />Goal: Create a slice of the system for an initial release<br />Arrange stories under each feature<br />Order stories vertically by importance<br />Identify missing stories and fill in<br />Determine what stories must exist in an initial release – creating a slice<br />
  36. 36. Story Mapping Wrap Up<br />Sets an overall context for the backlog<br />Targets business and user goals for delivery<br />Prioritization capability for release roadmaps*<br />Release N: the necessities (skeleton)<br />Release N+1: more capabilities and flexibility<br />Release N+x: comfort, performance, luxury<br />* As described by Jeff Patton<br />
  37. 37. Rick Austin<br />Email: rick@rickaustin.net<br />Twitter: rickaustin<br />Blog: http://blog.capabilitydevelopment.net<br />

×