User Story Map Template (Jeff Patton)
Personas, backbone of activities, walking skeleton, stories in release slices, release goals, Given/When/Then criteria
사용법: Use it to plan a product or feature as a whole user journey and slice releases by outcome. Lay out the backbone of activities left to right first. The main pitfall is slicing by component instead of releases a user can use end to end.
미리보기
User Story Map: [Product or feature name]
User story map following the story mapping technique described by Jeff Patton in User Story Mapping. The backbone of user activities runs left to right in the order users experience them; stories hang below each task, and horizontal slices define releases, starting with a walking skeleton. Replace every
[bracketed]value and every row marked Example.
| Field | Value |
|---|---|
| Product / feature | [Name] |
| Map owner | [@product-owner] |
| Participants | [@designer], [@dev-lead], [@qa], [@stakeholder] |
| Mapping session date | YYYY-MM-DD |
| Version | [0.1] |
| Last updated | YYYY-MM-DD |
| Board link | [Link to digital board or photo] |
1. Product goal and scope
Goal. [Who] will be able to [achieve what] so that [outcome].
Example: Independent fitness studios will be able to sell class passes and take bookings online so that front-desk phone bookings fall by half.
Scope of this map. [The journey from first visit to repeat booking; excludes payroll and instructor scheduling.]
2. Personas
| Persona | Role | Goals | Frustrations today |
|---|---|---|---|
| Example: Maya, studio member | Customer | Book a class in under a minute from her phone | Has to call during opening hours |
| Example: Tom, studio owner | Administrator | Fill classes, get paid upfront | Spends 2 hours a day on the phone |
| Example: Lin, instructor | Staff | Know who is coming before class | Paper lists are out of date |
| [Name] | [Role] | [Goals] | [Frustrations] |
3. Backbone: user activities and tasks
| Order | Activity | User tasks (left to right) | Main persona |
|---|---|---|---|
| A1 | Example: Discover classes | Browse timetable; filter by type; view class details | Maya |
| A2 | Example: Buy a pass | Choose pass; create account; pay | Maya |
| A3 | Example: Book a class | Pick a slot; confirm booking; add to calendar | Maya |
| A4 | Example: Attend | Receive reminder; check in; cancel if needed | Maya, Lin |
| A5 | Example: Manage studio | Set up timetable; see bookings; view revenue | Tom |
| [An] | [Activity] | [Tasks] | [Persona] |
4. Walking skeleton
The walking skeleton for this map is one story per activity:
| Activity | Skeleton story |
|---|---|
| A1 Discover classes | Example: See this week's timetable as a list |
| A2 Buy a pass | Example: Pay for a 10-class pass by card |
| A3 Book a class | Example: Book a slot with a pass credit |
| A4 Attend | Example: Instructor sees the booking list on a phone |
| A5 Manage studio | Example: Owner enters classes in a simple form |
5. Story map with release slices
| Slice | Browse timetable | Filter | Choose and pay for pass | Book slot | Reminder and check-in | Owner dashboard |
|---|---|---|---|---|---|---|
| Release 1: walking skeleton | List of this week's classes | none | Card payment for 10-class pass | Book with pass credit | Instructor booking list | Enter classes in form |
| Release 2: members self-serve | Calendar view, 4 weeks ahead | By class type | Account with saved card | Waitlist when full | Email reminder 2 h before | Bookings per class |
| Release 3: grow revenue | Instructor profiles | By instructor, time | Memberships, promo codes | Recurring booking | QR check-in, late-cancel fee | Revenue and fill-rate report |
| [Release n] | [Story] | [Story] | [Story] | [Story] | [Story] | [Story] |
The same map is shown as a diagram, with activities on top and stories grouped by release below.
6. Release goals and success metrics
| Release | Goal | Success metric | Target | Measured by | Date |
|---|---|---|---|---|---|
| R1 | Example: Prove members will book online | Share of bookings made online at pilot studio | 30% within 4 weeks | Booking data | YYYY-MM-DD |
| R2 | Example: Cut front-desk phone load | Phone bookings per day | Down 50% from baseline | Studio log | YYYY-MM-DD |
| R3 | Example: Increase revenue per class | Average fill rate | 75% | Owner dashboard | YYYY-MM-DD |
| [Rn] | [Goal] | [Metric] | [Target] | [Source] | YYYY-MM-DD |
7. Story template and acceptance criteria
Story format. As a [persona], I want [capability] so that [benefit].
| Field | Value |
|---|---|
| Story ID | [KEY-nnn] |
| Activity / task | [A3 / Book slot] |
| Release slice | [R2] |
| Estimate | [Points] |
| Dependencies | [KEY-nnn] |
Example: KEY-214 As Maya, a studio member, I want to join a waitlist when a class is full so that I get a place if someone cancels.
Acceptance criteria:
- Given a class is full and I have a pass credit, when I select "Join waitlist", then I see my position in the waitlist.
- Given I am first on the waitlist, when a booked member cancels, then I am booked automatically, one credit is used and I receive an email.
- Given the class starts in less than 1 hour, when a place frees up, then waitlisted members are not auto-booked and the place is shown as available.
8. Mapping session agenda
| Time | Step | Output |
|---|---|---|
| 0:00 | Introduce goal, personas and scope | Shared understanding |
| 0:20 | Silent writing: each person writes user tasks on cards | Raw tasks |
| 0:40 | Arrange tasks left to right; group into activities | Backbone |
| 1:10 | Walk the narrative aloud; fill gaps | Complete backbone |
| 1:30 | Break | Rest |
| 1:40 | Add stories, alternatives and details under each task | Story body |
| 2:30 | Draw slice lines: walking skeleton, then releases by outcome | Release slices |
| 3:10 | Define goals and metrics for each slice; list open questions | Sections 6 and 9 |
| 3:30 | Close: owners for follow-up actions | Action list |
9. Open questions and assumptions
| ID | Question or assumption | Owner | Due | Status |
|---|---|---|---|---|
| Q-01 | Example: Do studios accept card payment only, or cash at desk too? | [@po] | YYYY-MM-DD | Open |
| A-01 | Example: Members book mainly on mobile | [@ux] | YYYY-MM-DD | To validate in R1 |
| [ID] | [Question] | [@name] | YYYY-MM-DD | [Status] |
Standard and licence note
Based on the story mapping technique described by Jeff Patton in User Story Mapping: Discover the Whole Story, Build the Right Product (O'Reilly, 2014), and on the common Given/When/Then convention for acceptance criteria. This template is original text written for this collection and reproduces no text from the book. Template licence: MIT.
관련 템플릿
Business Requirements Specification (BRS) Template
Business purpose, measurable objectives, processes, rules, business requirements with attributes, success metrics (BRS/BRD)
요구사항 및 분석Concept of Operations (ConOps) Template
Current situation, justification for change, proposed operations, step-by-step scenarios, impacts and alternatives
요구사항 및 분석Data Requirements Specification Template
Entities, data dictionary, quality targets, retention, privacy basis, lineage, data interfaces, migration, ERD