User story mapping is a technique that arranges user stories spatially — by user activity across the top and by priority within each activity going down — to create a shared team view of the product that reveals gaps in the backlog and makes release planning visible in a way that a flat list of tickets never can.
Flat backlogs lose context. A story map puts user stories in the context of the workflow they support, making it immediately obvious when a release is missing a story that would break the user experience, or when the backlog has five stories for one activity and none for another. This tutorial walks through the complete process.
The User Story Map Structure
Activities (horizontal, left to right = user journey sequence)
↓
User Tasks (horizontal, within each activity)
↓
User Stories (vertical, by priority — top = highest priority)
The horizontal axis tells the story of how a user moves through your product. The vertical axis lets you define what a release looks like by drawing a horizontal line through the map — everything above the line is in the release, everything below is deferred.
Step 1: Define the User and Their Goal
Before mapping stories, define:
- Who is the user? (Specific persona, not "users")
- What is their ultimate goal? (The outcome they want, not the features they use)
Example: Maria, a freelance designer, wants to invoice a client and get paid within 3 business days.
Step 2: Map the Activities (Backbone)
Activities are the high-level phases of the user's journey toward their goal. For Maria's invoicing workflow:
Activities (left to right):
- Create Invoice → 2. Review and Edit → 3. Send Invoice → 4. Track Payment → 5. Receive Payment
Activities form the backbone of the map. They are written on sticky notes (or cards) placed in a horizontal row at the top.
Step 3: Map the Tasks (Spine)
For each activity, map the specific tasks the user performs. Tasks are more granular than activities but still describe what the user does, not what the system does.
Tasks for Create Invoice:
- Select client
- Add line items
- Set due date
- Apply tax rate
- Add payment terms
Tasks are placed below their parent activity, forming the spine of the map.
Step 4: Map the User Stories (Body)
Below each task, write the user stories — the specific product capabilities that enable the task. These are your backlog items.
Stories for Add line items:
- As Maria, I can add a line item with description and amount so my invoice reflects the work done
- As Maria, I can duplicate a previous line item so I save time on recurring invoices
- As Maria, I can add a discount line item so I can honor client agreements
Priority is represented vertically — the most important stories sit at the top of each column.
Step 5: Slice Releases
Draw a horizontal line across the map to define release scope. Everything above the line is the release; everything below is deferred.
Walking skeleton (MVP release): The minimum set of stories that creates a complete, if thin, end-to-end experience. Maria can create, send, and receive payment for a basic invoice — nothing more.
Release 2: Add the next row of stories — tax rates, discounts, duplicate line items.
FAQ
Q: What is user story mapping? A: A technique that arranges user stories spatially — with user activities across the top and priority going down — to create a shared team view that makes release planning visible and reveals backlog gaps that flat ticket lists hide.
Q: What is the difference between activities, tasks, and stories in a user story map? A: Activities are high-level journey phases; tasks are specific actions users perform within each activity; stories are the product capabilities that enable each task. Activities form the backbone, tasks form the spine, and stories form the body.
Q: What is a walking skeleton in user story mapping? A: The minimum set of stories that creates a complete end-to-end user experience — thin but functional across all activities, not deep in any single one. It forms the MVP release slice.
Q: How do you slice releases in a user story map? A: Draw a horizontal line across the map — everything above the line is the release. The first release line defines your MVP; subsequent lines define incremental releases that add depth to each activity.
Q: What is the most common mistake in user story mapping? A: Building the map from the system's perspective rather than the user's — mapping features and system functions instead of user activities and tasks. This produces a map that mirrors the codebase architecture, not the user's mental model.
HowTo: Build a User Story Map
- Define the user and their ultimate goal before placing any sticky notes on the map
- Map the activities — the high-level phases of the user's journey — in a horizontal row forming the backbone
- Map the tasks for each activity — what the user specifically does — placing them below their parent activity to form the spine
- Write user stories below each task, stacking them vertically with the most important stories at the top
- Draw a release slice line across the map identifying the walking skeleton — the minimum end-to-end experience for the first release
- Review the map with the full team and identify any activity that has no stories — these gaps represent missing backlog items