Roko PlatformDocs

Planning

Story maps

A story map lays out one user journey as stages. It names who does each stage and how they do it today, and it ranks the goals under each stage.

A story map describes one user journey from start to finish. Stages run left to right in the order a person moves through the journey. Under each stage, the map names who does the stage, how they do it today, and the goals that will improve it, most important first.

The story map says what to build and in what order. The roadmap says when each goal lands and who owns it.

This page builds the map of Northwind Industries, a mid-size manufacturer. Today, adding a new supplier takes weeks of emails and spreadsheets. A team of seven builds a supplier onboarding portal in a Roko Platform project called Vendor Onboarding. The journey on the map is Onboard a new supplier. It starts when a plant engineer needs a new supplier and ends when that supplier is paid and its records stay current. Open the Story maps page from the project sidebar to follow along.

Story map

Onboard a new supplier

The journey, in order

Stages

Request a supplier
Invite & register
Check risk & compliance
Approve the supplier
Set up payment
Keep records current

Persona

Plant Engineer
Procurement & Supplier
Compliance & Security
Budget Owner & Finance
Accounts Payable & Supplier
Supplier & Procurement

Workaround today

Excel form by email, then phone calls
Blank form and W-9 PDFs by email
Name search by hand on a sanctions website
Outlook email chain for approval
Bank details retyped into SAP
Yearly reminder emails and a spreadsheet

Stories · most important first

Priority

Online supplier request
Supplier registration form
Automatic sanctions screening
Online approval
Supplier created in SAP
Expiring document reminders
Walking skeleton / MVP
Request status tracking
Tax form upload
Online security questionnaire
Approval rules by spend
Bank detail verification
Supplier updates own details
Duplicate supplier check
Open supplier sign-up page
Supplier risk score
Approval reminders
Payment terms setup
Annual supplier review
Onboard a new supplier, the main example on this page. Read across for the journey and down for priority.

Create a map

On the Story maps page of your project, click New story map, enter a name, and click Create map.

/clients/northwind/projects/vendor-onboarding/story-maps
New story map
1
2
  1. 1Name the map after the journey, for example "Onboard a new supplier".
  2. 2Create map opens the empty map.
The New story map dialog.

Add stages

The new map has one row for stages, one for personas, one for workarounds and one for the stories. Click Add stage at the right end of the stage row for each step in the journey, and name the stage for what the person does.

/clients/northwind/projects/vendor-onboarding/story-maps/onboard-a-new-supplier
Add stage
1
2
  1. 1The new stage. Its description says what the stage covers.
  2. 2The persona slot names who does the stage.
The map after the first stage, Request a supplier.

Each row header has an info icon. Hover it to read what the row holds.

Add personas

Under each stage, the persona slot asks "Who does this stage?". Pick an existing persona, or type a new name and create it. The platform gives each persona its own color and tints the column to match.

/clients/northwind/projects/vendor-onboarding/story-maps/onboard-a-new-supplier
1
2
  1. 1The persona slot. Type to search the project's personas.
  2. 2Creates the persona and fills the slot.
The persona slot of Invite & register, with a new persona typed in.

When two roles share a stage, create one persona that names both, such as "Procurement & Supplier". See shared stages.

Write the workarounds

Click the workaround cell under a persona and type today's process. Name the tool and the manual step.

/clients/northwind/projects/vendor-onboarding/story-maps/onboard-a-new-supplier
Workaround editor
The workaround editor on Set up payment.

Add goals

Click Add at the foot of a column. The dialog has three tabs. On New goal, enter a title, pick a horizon and an owner if you know them, and click Create goal.

1
2
3
  1. 1New goal creates a product delivery goal under this stage.
  2. 2Import goal brings goals that already exist onto this stage.
  3. 3Existing feature records what the product already does.
The top of the Add dialog under Set up payment, on the New goal tab.

A goal made on a story map is a product delivery goal, and it always sits under one stage. The platform draws product goals in teal, on the map and on the roadmap.

Import goal can bring several goals at once. It turns a goal of any other kind into product delivery, moves a product delivery goal away from its old stage, and places each imported goal last in the column.

/clients/northwind/projects/vendor-onboarding/story-maps/onboard-a-new-supplier
1
2
3
  1. 1The top goal. It is part of the walking skeleton.
  2. 2Each card shows the goal number, the kind and the owner.
  3. 3Add opens the dialog for a new goal.
The Set up payment column. The stage, persona and workaround sit above the ranked goals.

Reorder goals

Drag a goal up or down its column to change its priority. The goal at the top of each column is part of the walking skeleton. In the Set up payment column above, the team dragged Bank detail verification from third to second place, above Payment terms setup.

Horizon buckets

Switch on Show horizon buckets in the map toolbar to slice the map by when each goal is due. Each bucket is a time band of the roadmap, such as This week, Next week or Later. Each goal sits in the bucket of its due date, so you can see which part of each column lands first. Hide completed removes finished goals from the map.

/clients/northwind/projects/vendor-onboarding/story-maps/onboard-a-new-supplier
Horizon bucket
1
2
  1. 1Due this week, so it sits in the first bucket.
  2. 2Due next week, so it sits in the next bucket.
The map sliced into horizon buckets.

The band where a goal sits on the roadmap sets its due date. Move a goal to another band there, and it moves to that bucket on the map. See placing goals.

Existing features

Many products are already live. Say Northwind already runs an invoice portal, and the team adds to it. Put what the product already does on the map too, so the map still shows every story.

Under a stage, click Add and choose Existing feature. Enter a title, describe what the feature does today, and click Add feature.

1
2
  1. 1The feature's name.
  2. 2What the feature does today.
The Add dialog on the Existing feature tab.

An existing feature:

  • sits at the top of its column, above the goals,
  • has no owner and no due date,
  • stays off the roadmap.
/clients/northwind/projects/invoice-portal/story-maps/pay-a-supplier-invoice
1
2
  1. 1An existing feature. It has no owner and no due date.
  2. 2A new goal. It sits below the existing features of its stage.
Two stages of the invoice portal map. Existing features sit above the new goals.

Why a map

Every product team faces two risks. A story map guards against both.

1
Risk 1
The wrong thing
?
The software works, but it does not help the people who use it.
2
Risk 2
The complex thing first
MONTHSEVERY STAGE, THIN
The team spends months on the hardest feature and ships nothing. Build every stage a little instead.
A story map guards against both risks. The idea comes from Jeff Patton, The New User Story Backlog Is a Map.

Building the wrong thing

The software works, but it does not help the people who use it. A flat list of tickets hides the big picture, so nobody can see what the product does or what is missing. A map lays out the whole journey on one page. The team, the users and the stakeholders can all read it and point at the gaps.

A flat list

  • NW-141Bank detail verification
  • NW-118Online supplier request
  • NW-156Supplier risk score
  • NW-122Approval reminders
  • NW-137Tax form upload
  • NW-149Annual supplier review
  • NW-130Automatic sanctions screening

Nobody can see the journey or what is missing.

The same work as a map

Gap
Approve the supplier has no goals yet. Everyone who reads the map can point at the gap.
The same work as a ticket list and as a map. Only the map shows that one stage has no goals.

Building the most complex thing first

The team spends months on the hardest feature and ships nothing. The better way is to build every stage of the journey a little at a time, so that every release works end to end. Jeff Patton describes it this way: you never release a car without brakes. The walking skeleton pattern shows how a map makes this slice visible.

Stages

A stage is one step in the journey, named in two or three words. Put the stages in the order you would explain the journey to someone. Together, the stages are the backbone of the product.

Northwind has six stages:

  1. Request a supplier
  2. Invite & register
  3. Check risk & compliance
  4. Approve the supplier
  5. Set up payment
  6. Keep records current

You do not rank stages. The product needs all of them for the journey to work, so the left-to-right order is the order of the journey, not an order of importance.

Stages and features

Name each stage for what the person is trying to do, not for something you build. "Check risk & compliance" is something a person does, and many features sit under it. "Sanctions screening" is a feature, so it goes under that stage as a goal.

Stage: what people do

Check risk & compliance
Compliance & Security
Automatic sanctions screening
Online security questionnaire

A person does this step. Many features sit under it as goals.

Feature: a goal in the column

Sanctions screening

Sounds like something you build

Move it down into the column
Automatic sanctions screening

It becomes a goal under Check risk & compliance.

Stage count

Most journeys have between four and eight stages. Fewer than four usually means a stage hides several steps, which leads to one giant column. More than ten usually means some stages are features or sub-steps. Test each stage with one question: would a person describe this step when they explain the journey to a new colleague?

Personas

A persona names who does a stage. Each stage has exactly one persona. Give each persona its own color, and color each column by its persona. Follow one color across the map to follow one person through the journey.

Shared stages

When two roles share a stage, name them both in one persona with an ampersand. At Northwind, procurement and the supplier share Invite & register: procurement sends the invite, and the supplier fills in the company details. The budget owner and finance share Approve the supplier in the same way.

Request a supplier
Invite & register
Check risk & compliance
Approve the supplier
Plant Engineer
Procurement & Supplier
Compliance & Security
Budget Owner & Finance

Do not split a shared step into two stages only because two roles take part. Split it when each role does a separate step that a user would name on its own.

Workarounds

The workaround is how the job gets done today, without the product. Name the tool and the manual step. At Northwind:

  • Engineers email a New Vendor Excel form to procurement, then phone to ask for status.
  • Compliance checks each supplier name by hand on a government sanctions website.
  • Accounts payable retypes the vendor record and bank details into SAP.

The workaround sets the bar. Your first release has to do the job better than the workaround, or people keep using the workaround.

How well the job gets done

Today

Workaround

Release 1

Supplier created in SAP

The bar to beat. Today: bank details retyped into SAP.

Under Set up payment, release 1 has to beat retyping bank details into SAP.

Goals as stories

On a story map, the goals are the stories. Add them under each stage and rank them, most important at the top. You rank the goals in a column, not the stages.

Under Set up payment, the team ranks three goals. Supplier created in SAP comes first, because it removes the retyping. Bank detail verification comes second, and payment terms setup comes third.

Set up payment
Supplier created in SAP
MVP
Bank detail verification
Payment terms setup

Product goals only

Every goal on a story map is a product delivery goal: a change a user of the product can see. Technical work, such as supplier sign-in or an SAP vendor sync, is an enabling delivery goal. It lives on the roadmap, not on the map. See technical goals. Open questions about a goal's shape become discovery goals on the roadmap, placed in front of the goals they shape.

The MVP line

Read across the top row. The first goal in each column forms the minimum viable product. It is thin, but it covers the whole journey. This slice is called the walking skeleton. Northwind can use it from end to end, and the team adds depth to each column later.

Story map

Onboard a new supplier

Stages

Request a supplier
Invite & register
Check risk & compliance
Approve the supplier
Set up payment
Keep records current

Persona

Plant Engineer
Procurement & Supplier
Compliance & Security
Budget Owner & Finance
Accounts Payable & Supplier
Supplier & Procurement

Workaround today

Excel form by email, then phone calls
Blank form and W-9 PDFs by email
Name search by hand on a sanctions website
Outlook email chain for approval
Bank details retyped into SAP
Yearly reminder emails and a spreadsheet

Stories · most important first

Online supplier request
Supplier registration form
Automatic sanctions screening
Online approval
Supplier created in SAP
Expiring document reminders
Walking skeleton / MVP
Request status tracking
Tax form upload
Online security questionnaire
Approval rules by spend
Bank detail verification
Supplier updates own details
Duplicate supplier check
Open supplier sign-up page
Supplier risk score
Approval reminders
Payment terms setup
Annual supplier review
The top goal in each column is the walking skeleton. Everything below the line adds depth later.

On the roadmap, the team places the walking skeleton in the first time bands and leaves richer goals, such as the supplier risk score, in Later.

A second example

The same method works for any journey. Lumen Home is an online furniture store. Its support team handles damaged deliveries by email, and returns take two weeks. The team maps the journey Return a damaged order.

Story map

Return a damaged order

The journey, in order

Stages

Report the damage
Choose a fix
Send the item back
Inspect the return
Refund or replace

Persona

Customer
Customer & Support
Customer & Courier
Warehouse
Finance

Workaround today

Email with photos to the support inbox
Agent checks a PDF returns policy
Agent emails a label link to print
Returns logged in a shared spreadsheet
Refund keyed by hand in the payment console

Stories · most important first

Priority

Damage report form with photos
Refund or replacement choice
Prepaid return label
Return scan at the dock
Refund on passed inspection
Walking skeleton / MVP
Order lookup by email
Instant approval under $50
Courier pickup booking
Inspection checklist
Replacement order created
Report status page
Partial refund offer
Keep-it option for low-value items
Restock or write-off decision
Refund notice to the customer
A five-stage journey for a different product. The walking skeleton lets a customer report, choose, return and get paid, with no extras.

Two choices in this map follow the rules above. "Choose a fix" is a stage, and "Instant approval under $50" is a goal under it, because approval is one way to do the step. The top goal under "Send the item back" is a prepaid label, not courier pickup, because the label is the thinnest change that beats today's emailed link.

Patterns

These patterns come up in most good maps. Each one names when to use it.

Walking skeleton

Use it for every first release. Rank one goal at the top of every column so the top row covers the whole journey. Resist the urge to finish one stage first.

One stage at a time

Release 1 covers one stage in depth. Nobody can finish the journey, so the old workaround stays.

The thinnest slice first

Release 1 covers every stage with its top goal. The journey works end to end, and later releases add depth.

Beat the workaround first

Use it when you rank the top goal of a column. Pick the goal that removes the worst manual step in the workaround. Under Check risk & compliance, "Automatic sanctions screening" ranks first because the workaround is a name search by hand on a website. The security questionnaire can wait.

Map the live product first

Use it when the product is already live. Record what it does today as existing features before you add goals. The map then shows the whole journey, and new goals read as additions to a working product. See existing features.

Submit an invoice
Match to the order
Approve the invoice

Existing

Upload invoice PDF

Existing

Match invoice to PO number

Existing

Approval by email link

Invoice data read from the PDF
Automatic three-way match
Approve from a phone

One map per journey

Use it when a project serves more than one journey. Northwind's Vendor Onboarding project could hold "Onboard a new supplier" and "Offboard a supplier". Each map covers one journey that one set of people moves through. Most projects need only a handful of maps.

Slice the map by horizon

Use it when you plan the next few weeks. Group the goals of each column by the time band they are due in. Check that the first band holds the walking skeleton and that no column is empty in it. In the platform, the horizon buckets switch shows this view.

Put uncertainty in front

Use it when you cannot yet describe a top goal well enough to build it. Keep the goal on the map, and add a discovery goal on the roadmap with a dependency from it to the goal. Northwind does not yet know if SAP takes vendor records by API or by file drop, so a spike sits in front of "Supplier created in SAP".

Antipatterns

Each antipattern below names the symptom you see on the map, why it hurts, and the fix.

Stages named as features

Symptom
The stage row reads like a component list: “Web form”, “Sanctions API”, “SAP connector”.
Why it hurts
Users and stakeholders cannot read the journey from it, and the columns fill with tasks for that component instead of changes for a person.
Fix

Rename each stage for what the person does, and move the feature into the column as a goal.

Stages named for what you build

Web form
Sanctions API
Approval workflow
SAP connector
Request fields
Screening call
Approver routing
Vendor push

Stages named for what people do

Request a supplier
Check risk & compliance
Approve the supplier
Set up payment
Online supplier request
Automatic sanctions screening
Online approval
Supplier created in SAP

A map per team or component

Symptom
The project has maps called “Frontend”, “Backend” or “SAP integration”.
Why it hurts
No map shows a whole journey, so nobody can see the gaps or the walking skeleton. Each team ranks its own work without the user in view.
Fix

Make one map per user journey. Teams take goals from every map. Ownership is set per goal on the roadmap, see owners and pair goals.

Maps per team

  • FrontendA team
  • Backend APIA component
  • SAP integrationA system
  • Mobile appA channel

Maps per journey

  • Onboard a new supplierPlant engineer to paid supplier
  • Offboard a supplierContract end to closed account

One giant column

Symptom
One stage holds most of the goals, and the other stages hold one or two.
Why it hurts
The big stage hides several steps. Its ranking mixes unrelated work, and the walking skeleton cannot cover the steps inside it.
Fix

Split the stage into the steps a person actually takes, and move each goal under its step.

One stage hides four steps

Request a supplier
Onboard the supplier
Keep records current
Online supplier request
Supplier registration form
Expiring document reminders
Automatic sanctions screening
Online approval
Supplier created in SAP
Tax form upload
Approval rules by spend

Each step is its own stage

Request a supplier
Invite & register
Check risk & compliance
Approve the supplier
Set up payment
Keep records current
Online supplier request
Supplier registration form
Automatic sanctions screening
Online approval
Supplier created in SAP
Expiring document reminders
Tax form upload
Approval rules by spend

Unranked goals

Symptom
Every goal carries the label “High”, or the column order is the order in which people added the goals.
Why it hurts
The top row no longer means anything, so the MVP line is a guess. The roadmap inherits the guess.
Fix

Rank each column strictly from top to bottom. Ask stakeholders to help set the order.

Everything is high priority

Set up payment

High

Payment terms setup

High

Supplier created in SAP

High

Bank detail verification

One order, top to bottom

Set up payment
Supplier created in SAP
MVP
Bank detail verification
Payment terms setup

An MVP row that skips a stage

Symptom
A column has no goal at the top, or its top goal can wait while the rest of the journey ships.
Why it hurts
The first release breaks the journey at that stage, so people fall back to the workaround for the whole process.
Fix

Put the thinnest goal that beats the workaround at the top of every column, even if it is simple.

The journey breaks at approval

Request a supplier
Invite & register
Check risk & compliance
Approve the supplier
Set up payment
Online supplier request
Supplier registration form
Automatic sanctions screening
No goal
Supplier created in SAP
MVP

Every stage has a top goal

Request a supplier
Invite & register
Check risk & compliance
Approve the supplier
Set up payment
Online supplier request
Supplier registration form
Automatic sanctions screening
Online approval
Supplier created in SAP
MVP

Technical tasks as stories

Symptom
Columns hold goals such as “Set up Postgres” or “CI pipeline”.
Why it hurts
A user cannot see these changes, and a stakeholder cannot rank them against user-facing goals. They push real stories below the MVP line.
Fix

Take them off the map. Add them on the roadmap as enabling delivery goals, and link them to the product goals that need them with dependencies.

Technical work in the column

Request a supplier
Set up payment
Set up Postgres
SAP vendor sync
Online supplier request
Supplier created in SAP

Only product goals on the map

Request a supplier
Set up payment
Online supplier request
Supplier created in SAP

A blank workaround row

Symptom
The workaround cells are empty or say “manual”.
Why it hurts
Nobody knows what the first release has to beat, so the team cannot tell which goal belongs at the top.
Fix

Name the tool and the manual step, for example "Compliance searches each name by hand on the government sanctions website". Ask the people who do the work today.

Best practices

  • Write titles a CEO would understand. A goal title names the outcome in a few words. "Supplier created in SAP" works. "SAP BAPI vendor create endpoint" does not.
  • Walk the map with real users. Go from the first stage to the last with the people who do the work. They point out missing steps and the pain points of today.
  • Ask stakeholders to set the order. They know which goal in a column matters most to the business.
  • Keep the number of maps small. Most projects need only a handful. One map covers one journey.
  • Review the map in the weekly planning session. The product manager and the tech lead check the order on the map, then plan the roadmap. See the weekly rhythm.

Common questions

Where does technical work go?

On the roadmap, as an enabling delivery goal. Link it to the product goals that need it with a dependency. See technical goals.

Where do open questions go?

On the roadmap, as a discovery goal in front of the goals it shapes. See discovery goals.

Does the stage order mean priority?

No. The stage order is the order of the journey. Priority applies only to the goals inside a column.

How many goals should a column hold?

As many as the team can rank with confidence. Three to six is common. A column with many more goals than the others often hides several stages, as in one giant column.

Who owns the story map?

The product manager. They take it into discovery calls, so users can check the journey and stakeholders can help rank the goals.

Can a goal sit under two stages?

No. A product delivery goal sits under exactly one stage. If you import a goal that already sits under another stage, it moves.

Does a story map goal show on the roadmap?

Yes. Every product delivery goal on a story map is also on the roadmap. On the roadmap, swimlanes group the goals by the stages of the map.

What is the difference between an existing feature and a goal?

A goal is planned work. It has an owner and a due date and appears on the roadmap. An existing feature records what the product already does. It has no owner, no due date and no place on the roadmap.