9 min read • Guide 741 of 877
Story Mapping for Product Development
Story maps create shared understanding between product and development teams. GitScrum supports story mapping with visual planning tools and easy conversion to backlog items.
Story Mapping Basics
What Is a Story Map
STORY MAP STRUCTURE:
┌─────────────────────────────────────────────────────────────┐
│ │
│ HORIZONTAL AXIS: User Journey (Activities over time) │
│ VERTICAL AXIS: Priority (Essential at top, nice-to-have │
│ at bottom) │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ User Goal: "Complete a purchase" │
│ │
│ Browse → Cart → Checkout → Confirm │
│ ───── ───── ──────── ─────── │
│ MVP │ View │ Add to │ Enter │ Confirm │
│ │ products │ cart │ payment │ order │
│ │ │ │ │ │
│ │ Search │ View cart │ Apply │ Email │
│ │ products │ │ coupon │ receipt │
│ └────────────┴────────────┴─────────────┴──────────│
│ R2 │ Filter │ Save for │ Choose │ Track │
│ │ products │ later │ shipping │ order │
│ │ │ │ │ │
│ │ Compare │ Update │ Split │ Order │
│ │ products │ quantity │ payment │ history │
│ └────────────┴────────────┴─────────────┴──────────│
│ R3 │ Wishlist │ Share cart │ Subscribe │ Return │
│ │ │ │ │ items │
│ └────────────┴────────────┴─────────────┴──────────│
│ │
│ Reading the map: │
│ Left to right: User journey │
│ Top to bottom: Decreasing priority │
│ Horizontal line: Release boundary │
└─────────────────────────────────────────────────────────────┘
Map Components
STORY MAP ELEMENTS:
┌─────────────────────────────────────────────────────────────┐
│ │
│ BACKBONE (Top Row): │
│ User activities at the highest level │
│ Answer: "What big things does the user do?" │
│ │
│ Example: │
│ [Browse] → [Select] → [Purchase] → [Receive] │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ WALKING SKELETON (Second Row): │
│ Minimum to make each activity work │
│ Answer: "What's the simplest version?" │
│ │
│ Example: │
│ [View list] → [Add to cart] → [Pay] → [Confirmation] │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ USER TASKS (Below): │
│ Specific things users do within each activity │
│ Answer: "What are all the ways users do this?" │
│ │
│ Under "Browse": │
│ [Search by name] [Filter by category] [Sort by price] │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ RELEASE SLICES (Horizontal Lines): │
│ Group stories into releases │
│ Answer: "What ships together?" │
│ │
│ ━━━━━━━━━ MVP ━━━━━━━━━ │
│ ━━━━━━━━━ Release 2 ━━━━━━━━━ │
│ ━━━━━━━━━ Release 3 ━━━━━━━━━ │
└─────────────────────────────────────────────────────────────┘
Creating Story Maps
Story Mapping Session
STORY MAPPING WORKSHOP:
┌─────────────────────────────────────────────────────────────┐
│ │
│ PARTICIPANTS: │
│ • Product Owner │
│ • Developers (2-3) │
│ • Designer │
│ • Key stakeholders │
│ 5-8 people ideal │
│ │
│ DURATION: 2-4 hours │
│ │
│ MATERIALS: │
│ • Sticky notes (multiple colors) │
│ • Large wall or digital whiteboard │
│ • Markers │
│ │
│ ═══════════════════════════════════════════════════════════ │
│ │
│ PHASE 1: FRAME THE PROBLEM (15 min) │
│ │
│ "Who is the user?" │
│ "What are they trying to accomplish?" │
│ "What's the scope?" │
│ │
│ Example: │
│ User: Online shopper │
│ Goal: Buy products easily │
│ Scope: Checkout experience │
│ │
│ PHASE 2: BUILD THE BACKBONE (30 min) │
│ │
│ "What activities does the user do?" │
│ "In what order?" │
│ │
│ Write each activity on a sticky note │
│ Arrange left to right │
│ │
│ PHASE 3: WALK THE SKELETON (30 min) │
│ │
│ "For each activity, what's the minimum needed?" │
│ │
│ Add tasks under each activity │
│ Keep it simple │
│ │
│ PHASE 4: EXPLORE ALTERNATIVES (60 min) │
│ │
│ "What else might users do here?" │
│ "What variations exist?" │
│ "What edge cases?" │
│ │
│ Add all ideas, don't filter yet │
│ │
│ PHASE 5: SLICE INTO RELEASES (30 min) │
│ │
│ "What's our MVP?" │
│ "What comes next?" │
│ │
│ Draw horizontal lines │
│ Move stories up or down │
└─────────────────────────────────────────────────────────────┘
Defining MVP
MVP SLICING:
┌─────────────────────────────────────────────────────────────┐
│ │
│ MVP CRITERIA: │
│ │
│ ✅ COMPLETE: End-to-end user journey works │
│ "User can accomplish the core goal" │
│ │
│ ✅ MINIMAL: No extra features │
│ "Only what's necessary, nothing more" │
│ │
│ ✅ VALUABLE: Worth using │
│ "Users would choose this over nothing" │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ MVP SLICING QUESTIONS: │
│ │
│ FOR EACH STORY: │
│ "Can we launch without this?" │
│ │
│ Yes → Below MVP line │
│ No → Above MVP line │
│ Unsure → Discuss until clear │
│ │
│ "What's the simplest version of this?" │
│ │
│ Can the story be smaller? │
│ Can we do it manually first? │
│ Can we do it for fewer users? │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ EXAMPLE MVP SLICE: │
│ │
│ Browse Select Checkout Confirm │
│ ─────────────────────────────────────────────────────────── │
│ View list Add to cart Credit card Order confirm │ MVP
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
│ Search View cart Shipping Email receipt │ R2
│ Filter Edit qty Saved cards Track order │
│ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │
│ Wishlist Save later Split pay Returns │ R3
└─────────────────────────────────────────────────────────────┘
From Map to Backlog
Converting Stories
STORY MAP TO GITSCRUM BACKLOG:
┌─────────────────────────────────────────────────────────────┐
│ │
│ STORY MAP: │
│ │
│ Checkout Activity: │
│ ├── [Enter payment] │
│ ├── [Apply coupon] │
│ ├── [Choose shipping] │
│ └── [Split payment] │
│ │
│ ↓ TRANSLATES TO ↓ │
│ │
│ GITSCRUM: │
│ │
│ EPIC: Checkout │
│ │
│ STORIES: │
│ ├── As a customer, I can enter credit card details │
│ │ to pay for my order │
│ │ Acceptance: Form validates, payment processes, │
│ │ confirmation shown │
│ │ MVP: ✓ │
│ │ │
│ ├── As a customer, I can apply a coupon code │
│ │ to get a discount │
│ │ Acceptance: Code validates, discount applied, │
│ │ total updates │
│ │ MVP: ✓ │
│ │ │
│ ├── As a customer, I can choose shipping method │
│ │ to control delivery cost/speed │
│ │ Acceptance: Options shown, selection updates total │
│ │ Release 2 │
│ │ │
│ └── As a customer, I can split payment across cards │
│ to use multiple payment methods │
│ Acceptance: Add cards, split amount, process all │
│ Release 3 │
│ │
│ PRESERVE CONTEXT: │
│ • Link stories to map activity │
│ • Note release target │
│ • Maintain user perspective │
└─────────────────────────────────────────────────────────────┘
Prioritization
USING MAP FOR PRIORITIZATION:
┌─────────────────────────────────────────────────────────────┐
│ │
│ VERTICAL POSITION = PRIORITY: │
│ │
│ TOP: Essential (must have) │
│ MIDDLE: Important (should have) │
│ BOTTOM: Nice to have (could have) │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ PRIORITIZATION DISCUSSIONS: │
│ │
│ "This story is higher than that one because..." │
│ Makes reasoning visible │
│ │
│ "Can we move this up if we simplify it?" │
│ Encourages scope conversations │
│ │
│ "Users need this before that" │
│ User journey informs sequence │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ SPRINT PLANNING USING MAP: │
│ │
│ "What slice are we working on this sprint?" │
│ │
│ Team selects stories from a horizontal slice │
│ Ensures balanced progress across activities │
│ Avoids building deep on one area, neglecting others │
│ │
│ INSTEAD OF: │
│ Sprint 1: All of Browse │
│ Sprint 2: All of Cart │
│ Sprint 3: All of Checkout (← too late!) │
│ │
│ DO THIS: │
│ Sprint 1: Basic Browse + Basic Cart + Basic Checkout │
│ Sprint 2: Enhanced Browse + Enhanced Cart + Options │
│ → Working end-to-end earlier │
└─────────────────────────────────────────────────────────────┘
Maintaining the Map
Keeping Map Updated
STORY MAP MAINTENANCE:
┌─────────────────────────────────────────────────────────────┐
│ │
│ WHEN TO UPDATE: │
│ │
│ • New stories discovered → Add to map │
│ • Story completed → Mark done │
│ • Priority changed → Move up/down │
│ • Scope changed → Add/remove │
│ • Release boundary moved → Adjust line │
│ │
│ HOW OFTEN: │
│ │
│ • Quick check: Sprint planning │
│ • Deep review: Quarterly or major milestone │
│ • After major learning: Immediately │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ MAP HEALTH INDICATORS: │
│ │
│ 🟢 HEALTHY: │
│ • Team references it │
│ • Reflects current understanding │
│ • Stakeholders can read it │
│ • Informs prioritization │
│ │
│ 🔴 UNHEALTHY: │
│ • Nobody looks at it │
│ • Outdated information │
│ • Doesn't match backlog │
│ • Too detailed or too vague │
│ │
│ IF UNHEALTHY: │
│ Either update it or stop maintaining it │
│ Don't keep a zombie map │
└─────────────────────────────────────────────────────────────┘