- Managing the Product Backlog
- Collaborating to Groom the Product Backlog
- Ranking User Stories with a Dot Voting Method
- Illustrating User Stories with Storyboards
- Sizing User Stories Using Comparison
- Splitting User Stories Along Business Values
- Tracking User Stories with a Collaboration Board
- Delivering a Coherent Set of User Stories
- Planning Work with User Stories
Delivering a Coherent Set of User Stories
Unfortunately, in an iterative and empirical process, it is not because collaborative work produces high-value desirements that you necessarily get a “usable” sprint. Often, collaboration also requires prioritizing low-value desirements to obtain a coherent whole with optimal value. The use of a visual aid is essential in achieving this know-how. In this regard, over the years, experienced practitioners have acknowledged the necessity of structuring the backlog along a two-dimensional collaboration board. This way of organizing the stories to avoid half-baked incremental iterations was initially promoted by Jeff Patton 6 and is now known as story mapping.
Story mapping is the act of using a collaboration board to help in planning sprints and ordering the backlog. As illustrated in Figure 5.14, it combines high-value and low-value user stories in a coherent set, thereby revealing sprints that are of perceptible value to the stakeholders.
Figure 5.14. Planning sprints with story mapping.
The yellow stickies are the user stories from the backlog. They are distributed along the process line on the horizontal axis and simultaneously along the level of necessity on the vertical axis. Finally, they are ordered in “usable” sprints by assessing the expected necessity. Visualizing the desirements according to the process lines enables you to iteratively cut ever closer to the heart of the prioritization challenge. By doing this, you can combine the low-value functionalities and hold everything together.
As is always the case with a collaboration board, it all starts by identifying the columns. Create as many columns as there are features in the process lines. A feature is a piece of high-level functionality; a business activity that delivers value and separates into several stories. Arrange features by usage sequence, with features used early on, on the left, and later on, on the right.
Continue by creating as many rows as there are upcoming sprints. In each sprint, split stories along its feature by placing them in the appropriate column and make them overlap if they are numerous.
Even if the horizontal axis organizes stories along process lines, it does not ensure small and testable stories. Small stories should typically represent a few days of work. Initially, this is not the case as almost all new user stories are too big. They are desirements that need to be disaggregated into a set of constituent stories. Splitting desirements along the level of necessity ensures the identification of simple stories that can be forecast in a sprint. By differentiating the bare minimum necessity from usefulness and delightfulness, the product owner can divide large stories into smaller ones. These smaller stories provide immediate value and can be delivered in a sprint.
Even if desirements expressed as user stories are a starting point in understanding requirements, because they help determine the scope of work during sprints, they are mainly used as a unit of planning and delivery. This is why the overall goal of story mapping is to create a suitable scope to establish a delivery plan.