15 Ways to Split an Epic, a Team Exercise

Your Scrum Team has been hired by a physical fitness expert to develop a mobile device application to prescribe daily personalized exercise routines and diets for a wide range of people. The app should adapt the routines to users’ fitness goals, current health, age, gender, preferences, food allergies, lifestyle, etc.

The fitness expert is excited about all the possibilities of this app but promised a key user a working system in 30 days.

The main feature of the system will be this epic:

Generate Anyone’s Exercise Routine and Diet

Your mission, should you choose to accept it: Extract stories from the “Generate Anyone’s Exercise Routine and Diet” epic and write them out as new stories. For now it’s OK for the stories to overlap or contradict each other — we’re looking for 15 different ways to make an initial vertical slice. In each case, be prepared to explain why the extracted story is smaller than the original epic.

  1. Extract a smaller story by focusing on a particular user role or persona. (“Prioritize your users first, then your user stories.” — Jeff Patton) E.g.: “first time user,” “social networker,” “my mom,” etc.
  2. Extract a smaller story by substituting basic utility for usability. (First make it work, then make it pretty.)
  3. Extract a smaller story by splitting on CRUD (Create, Read, Update, Delete) boundaries.
  4. Extract a smaller story by focusing on distinct scenarios, such as the “happy path” (main success scenario) vs. alternate (exception) flows.
  5. Extract a smaller story by focusing on a simplified data set.
  6. Extract a smaller story by focusing on a simplified algorithm.
  7. Extract a smaller story by buying some component(s) instead of building everything yourself.
  8. Extract a smaller story by discarding technologies that increase hassle, dependency, and vendor lock.
  9. Extract a smaller story by substituting some manual processes for full automation.
  10. Extract a smaller story by substituting batch processing for online processing.
  11. Extract a smaller story by substituting generic for custom.
  12. Extract a smaller story by reducing supported hardware/OS/client platforms.
  13. Extract a smaller story from the acceptance criteria of another story.
  14. Extract a smaller story by substituting “1” for “all.” (NOTE: Look for implied instances of “all,” as the word often won’t be written explicitly.)
  15. Extract a smaller story by scanning for keywords such as “and,” “or,” periods, and other kinds of separators.

This exercise uses ideas by Bill Wake, Lasse Koskela, Mark Levison, and Jeff Patton. This is stuff I’ve seen work, but I’ve probably twisted their ideas in ways they may or may not agree with. To read what they have to say, see:

–mj
(Michael)

Watch an example Backlog Grooming Meeting.
Read a 6-page illustrated Scrum Reference Card.

Michael James

Michael James is a software process mentor, team coach, and Scrum Trainer with a focus on the engineering practices (TDD, refactoring, continuous integration, pair programming) that allow Agile project management practices. He is also a software developer (a recovering "software architect" who still loves good design).

Tagged with:
Posted in Agile

Leave a Reply

Your email address will not be published. Required fields are marked *

*

CAPTCHA Image

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

connect with CollabNet
   Contact Us
sign up for emails
conversations

CollabNet: Join the webinar: A Proven Path for Migrating from ClearCase to #Git or #Subversion http://t.co/IzQQRsV6cX
Date: 29 September 2014 | 4:46 pm

CollabNet: Join the webinar: A Proven Path for Migrating from ClearCase to #Git or #Subversion http://t.co/IzQQRsV6cX
Date: 26 September 2014 | 8:30 pm

CollabNet: Join @tech_mahindra: and @CollabNet: for this webinar: Achieving #DevOps Using Open Source Tools in the Enterprise http://t.co/sjUJewOojf
Date: 26 September 2014 | 5:26 pm