Because product backlogs often consist of dozens or hundreds of stories, it’s easy for priorities to get confused and the collection of items delivered at the end of each sprint to be incoherent even if, individually, they represent the highest-priority backlog items.

Story mapping is a powerful technique for prioritizing the sequence in which stories are delivered while simultaneously shaping the collections of stories into coherent packages (Patton, 2014). It also helps with elicitation, analysis, and specification of requirements, and it becomes an aid to status tracking during development.

Story mapping is conducted with the whole team and consists of three steps:

  1. Capture major chunks of functionality on sticky notes, and arrange them in a prioritized line from left to right, highest priority to lowest. Major chunks of functionality will consist of features, epics/big stories, themes, initiatives, and other large-grain requirements. I’ll refer to these generically as epics in the rest of this discussion.

  2. Decompose top-level epics into steps or themes. This elaboration does not change the prioritization of the epics.

  3. Decompose each of the steps or themes into stories captured on sticky notes. Arrange these below each step or theme in priority order.

This process results in a story map that lists requirements in priority order, both from left to right and top to bottom.

The following sections describe these steps in more detail.

Step 1: Prioritize epics and other top-level functionality

Top-level functionality is prioritized using sticky notes from left to right, as illustrated below.

The epics can be prioritized using T-shirt sizing or other techniques, including Weighted Shortest Job First, discussed in the “More Effective Agile Portfolio Management” chapter.

Get hands-on with 1200+ tech skills courses.