When listening to agile teams I coach, I hear that right-sizing user stories is one of the biggest challenges they encounter. In fact, Mike Cohn gave some advice about splitting reporting user stories, which generated a lot of comments and discussion on his blog.
Because this is such a hot topic, I was interested in attending a webinar hosted by Scrum Inc. CEO and Scrum co-creater, Jeff Sutherland, which featured Ellen Gottesdiener, titled: "Getting Your User Stories Ready: Slicing and Visualizing." Gottesdiener is co-author with Mary Gorman of the book "Discover to Deliver: Agile Product Planning and Analysis," and I’d been wanting to learn more about the seven product dimensions that I’d heard about. Gottesdiener did an excellent job of providing examples of how the seven dimensions can be applied to “slicing stories” (a term she prefers over “splitting stories”) appropriately.
Gorman and Gottesdiener have been teaching how to slice stories to optimize value for a while. In "Slicing Requirements for Agile Success," they write:To do that [provide high-value working software], teams and business customers need to jointly explore requirements options, identify the most important ones, and slice chunky stories into manageable pieces. The optimal slicing technique would be reusable in all problem domains, leverage the discipline of requirements analysis, be quick to learn and efficient to use, engage product owners (a.k.a. customers), put the “user” back into user stories, directly feed into acceptance tests, and deepen the entire team’s knowledge of the requirements.
Gottesdiener and Gorman tend to teach by example. Their book starts out with a case study about a fictitious window cleaning company, so that the reader can see end-to-end examples of how the processes and dimensions are applied. As with any agile process, refinement continues over time with a continued cycle of discovery and delivery.
In order to create a product of high value, the seven product dimensions are used for each product option identified. Partners, falling into three groups: business, customer and technology, are identified and each group identifies the value sought from the product option. A plan is created for delivering the product option and structured conversations are used for ongoing collaborative discovery.
Regardless of initial size of the product need, which may be expressed in a variety of ways--feature, use case or story, for example--using structured conversations, alternatives are explored, which then lead to product options.
Let’s take a look at each of the seven product dimensions that are used to clarify each product option:User: How will users will interact with the product? Interface: How will the product connect to users, systems and devices? Action: What capabilities does the product provide for users? Data: What type of data and information is needed and where is it stored? Control: What type of constraints does the product enforce? Environment: What type of physical properties and technology platforms must the product conform to? Quality attribute: What quality attributes constrain and control the product?
Gottesdiener and Gorman teach teams how to use discovery sessions with visual thinking and visual language to help stakeholders come to consensus on appropriate product requirements and how to create the right level of detail in their user stories. Using low-tech tools, sketches, diagrams, colored sticky notes and most importantly, structured conversation, teams collaboratively come together in reaching consensus on highest-value product requirements.
I’ve barely scratched the surface in this blog post on how these processes and tools can be used. The model is one that provides a systematic solution to a difficult problem. Check it out and let me know what you think!