Journey mapping
Walk one real story end-to-end — from idea to production, or from a customer's first touch to a resolved outcome. Journey mapping exposes the seams between roles, the wait states nobody talks about and the places where the customer experience actually gets shaped. The counterpart to event storming: journey maps show what the customer feels, event maps show what the system records.
What it is
Customer journey mapping emerged from the UX-design community in the 2000s, shaped significantly by the service-design practice that Jeanne Bliss, Adam Richardson (in his Harvard Business Review article of 2010) and the Nielsen Norman Group popularized. The technique adapts naturally beyond customer-facing experiences — product teams use it to walk internal stories from backlog to production, platform teams use it to walk an on-call incident from page to resolution, teams investigating cross-role friction use it to map handoffs step by step.
The mechanics are simple enough to run on a whiteboard. A horizontal timeline, divided into stages — broad phases the journey passes through (for a customer, often: aware → consider → purchase → onboard → use → support). Within each stage, a sticky or row for each concrete step — specific actions the actor took or events they experienced. Each step gets annotated along several dimensions:
- Actor — who is doing this step? (Customer, support engineer, system, another team.)
- Action — what did they do?
- System response — what happened on our side?
- Thought / feeling — what was the actor’s experience at this moment? Confused, delighted, frustrated, bored, confident.
- Duration / wait — how long did this step take? How much of that was waiting?
The emotional layer — what the actor thought or felt — is the distinctive element. Process mapping and event storming document the system’s view: what happened, when, in what order. Journey mapping layers the actor’s experience on top. A step that the system logs as “order submitted in 200ms” might be a step the customer experiences as “I clicked submit and stared at a spinner and wasn’t sure if it worked.” Both are true; neither alone is the whole story.
Journey maps are most valuable when they’re about one real story, not a composite. “A typical customer” produces generalities; “Sally, who bought a Peloton on a Tuesday afternoon” produces specifics the team can act on. The concrete grounding is what makes the technique more than a brainstorming exercise.
When to use it
Reach for journey mapping when:
- You need to understand a customer’s experience of a feature or flow and the team’s current mental model is internal-system shaped. Journey maps bring the outside-in perspective that internal-view techniques miss.
- You’re investigating friction at the seams between roles — story handoffs between PO, dev, QA, release; incident handoffs between support, engineering, ops; customer handoffs between marketing, sales, onboarding, support. Journey maps expose the seams explicitly.
- A waste walk (especially the planning workshop) surfaces symptoms that suggest late planning or wait-state waste, and you want to walk one representative story to see where the time actually goes.
- You’re designing a new flow and want to pressure-test the happy path against a realistic user’s experience before committing to implementation. Journey maps surface what will feel wrong long before code is written.
- The team is confused about which customer persona they’re actually serving. Building a journey map per persona forces the team to distinguish them concretely.
Don’t reach for journey mapping when:
- The scope is a product-level design problem — mapping every customer journey across a whole product at once. That’s service design, not journey mapping. Narrow to one story, map it, repeat.
- You’re looking for system-level business events rather than actor experience. That’s event storming, not journey mapping. They complement each other but they answer different questions.
- The team will populate the emotional layer with speculation instead of data. Journey mapping without observed or reported feelings is just process mapping with extra columns. Either interview actual customers or explicitly flag the emotional layer as hypothesis rather than fact.
- The problem is well-localized to a single step. Journey mapping’s value is exposing the flow; if the step is already identified, reach for 5 Whys or a focused observation instead.
How to run it
Total time: 45–90 minutes for a single story. The variance depends on how specific the team can be about the emotional layer — that can run quickly if someone observed the story directly, or slower if the team has to reconstruct it.
Choose one concrete story (5 min). Not “a typical customer.” A real named instance. “Sally, who bought a Peloton bike on installments last Tuesday.” “The payment-fraud ticket we got on the 14th that took six days to close.” “Story #1234, the filter-refactor that shipped last sprint.” Specific facts, specific times. The concrete detail is the grounding.
Define the stages (10 min). High-level phases of the journey. For a customer purchase: discover → consider → purchase → onboard → use → support. For a story through delivery: idea → scoped → ready → in progress → review → merged → deployed → verified. For an incident: filed → acknowledged → investigated → diagnosed → mitigated → resolved → postmortem. Stages are the coarse grain; steps within stages are the fine grain.
Fill the timeline with steps (20–30 min). For each stage, list the concrete steps the actor went through. Keep the actor’s perspective, not the system’s — “Sally clicked ‘subscribe’ and waited 20 seconds,” not “the server processed Sally’s subscription in 18ms.” The system’s response goes on a separate row.
For each step, capture:
| Column | What goes here |
|---|---|
| Actor / step | Who acted and what they did. |
| System response | What the system (or other internal actor) did in response. |
| Duration | How long did this step take? |
| Wait | How much of that was wait time? |
| Thought / feeling | What the actor experienced in the moment. Observed or reported, not speculated (or clearly flagged if speculated). |
Annotate with problems and opportunities (10–15 min). Walk the timeline and mark:
- Hotspots — steps where the actor was confused, frustrated, bored, blocked.
- Low points — moments where the actor was closest to abandoning, escalating, or giving up.
- Delight points — moments where the actor was delighted (for a product context) or surprised (for a process context).
- Wait spikes — steps where the duration-to-value ratio is far off what the actor would expect.
Use a consistent visual marker — a red dot for hotspots, a smiley / frown scale for emotional low and high points.
Extract the insights (10 min). Step back and look at the whole map. Where’s the worst emotional low point? What was the longest wait? Which handoff produced the most friction? What’s surprising relative to what the team expected?
The goal is not an exhaustive list of every issue — it’s the 2–4 specific insights that will change design, process or communication. More than that and the map becomes a to-do inventory rather than an insight artifact.
Connect to action (10 min). For each insight, the team commits to one of three responses: change the experience (fix the low point), change the expectation (improve communication, set timing expectations), or accept the trade-off (some wait is genuinely unavoidable; be explicit about it).
Worked example
A platform team investigates why their internal developer-onboarding process feels rough. They pick one concrete story: Priya, a new backend engineer, completed onboarding three weeks ago. They walk her journey with her in the room.
Stages defined: pre-start → week 1 setup → week 2 shadowing → week 3 first ticket → ongoing.
| Stage | Step | System response | Wait | Feeling |
|---|---|---|---|---|
| Pre-start | Offer letter accepted, waiting for day-1 | Welcome email, no other action | 3 weeks | Excited but uninformed (“what should I read?”) |
| Day 1 | Laptop arrived; HR portal login | Portal login works; no technical setup yet | 0 hrs | Confused — “what now?” |
| Day 1 | Filed IT ticket for dev-environment access | Auto-response; next-day SLA | 28 hrs | Stuck and anxious |
| Day 2 | IT fulfilled ticket; repo access granted | Access works | — | Relieved |
| Day 2 | Tried to run the monolith locally | Build failed; no error message that made sense | 4 hrs | Frustrated — “is this normal?” |
| Day 2 | Asked on #onboarding Slack | Got a DM from a senior engineer with the fix | 1 hr | Grateful |
| Week 1 | Got dev env running; started reading the architecture wiki | Wiki mostly up-to-date but three key pages were stale | ongoing | Confused — “what’s the source of truth?” |
| Week 2 | Shadowed two senior engineers on their work | Engineers were welcoming but didn’t have time to teach | ongoing | Mixed — learned things by osmosis, felt like a burden |
| Week 3 | Picked up first ticket | Ticket was under-specified; spent most of week 3 clarifying rather than coding | 2 days | Discouraged — “am I slow?” |
| Week 3 | First PR opened | PR sat in review queue for 3 days; reviewer comments were nitpicky | 3 days | Demoralized |
| Week 4 | First PR merged | Celebration in Slack | — | Finally got a win |
Hotspots: the IT-ticket wait on day 1, the monolith-build failure on day 2, the stale wiki, the under-specified first ticket, the slow nitpicky review.
Low point: end of week 3 — discouragement from the slow first ticket and slow review overlapping.
Delight point: the #onboarding Slack DM on day 2. A senior engineer stepping in quickly turned around an emotional crash.
Insights:
- The first 48 hours are a single hotspot cluster — dev env failure, IT wait, no clear first reading list. Fix: a structured “day 1 & 2” onboarding doc with the known-broken build step pre-documented, plus a buddy assigned from day 1.
- Stale wiki erodes trust fast. New hires don’t know which docs are canonical. Fix: “last verified” dates on every architecture doc, reviewed quarterly.
- First-ticket ambiguity is a bigger problem than review speed. Priya spent most of week 3 figuring out what the ticket meant, not writing code. Fix: “new hire first ticket” convention — deliberately selected, pre-refined tickets that have example outputs and a clear owner.
- The #onboarding Slack DM pattern is accidentally the best part of the experience. Make it explicit — assign an onboarding mentor formally rather than relying on goodwill.
Without the journey-mapping exercise, the team would probably have attacked the symptom that was loudest in the last retrospective — likely “slow PR reviews” — and missed the bigger pattern. The emotional low point wasn’t where the loudest complaints came from; it was where the team can prevent future onboarding from running off the rails.
Common failure modes
- Journey map of “a typical user.” Produces generalities. Pick a real named story; the specificity is the point.
- Emotional layer populated by speculation. “Sally was probably frustrated here” without talking to Sally is a hypothesis dressed up as data. Either collect the feeling (interview, observation, support transcript) or clearly mark the column as hypothetical.
- Too many stages and too many steps. A 60-step journey map is a process map. Keep stages to 5–7 and steps to 15–25 per journey. If there’s more, split into two journeys.
- Insights never connect to action. The team produces a beautiful map, admires it, and moves on. Fix: end every journey-map session with 2–4 committed actions, owned, with review dates.
- Running it without the actor. Ideal: the actor is in the room. Second-best: someone who observed the actor. Last resort: the team reconstructs from memory, flagged as best-effort. The worst outcome is a map the team believes that isn’t true.
- Treating journey mapping as a one-shot. Journeys evolve — customer flows change, internal processes change, personas shift. Expect to re-run every 6–12 months for anything strategically important.
References
In the playbook
- Event storming workshop — the system-view counterpart; pair them for complete coverage of an experience.
- Gemba walk — the first-person observation technique that gathers the raw material for an honest journey map.
- Planning workshop — uses journey mapping as an alternative exercise when one specific story illustrates a planning-waste pattern.
- 1.4 Business capabilities & functions — the playbook chapter where customer journeys and use cases first get defined.
- 2.1 Product strategy — where persona work starts; a journey map per persona is the natural follow-up.
External references
- Adam Richardson, Using Customer Journey Maps to Improve Customer Experience (Harvard Business Review, 2010) — an accessible, practitioner-oriented introduction.
- Nielsen Norman Group, Journey Mapping 101 — the canonical UX-industry primer.
- Kerry Bodine and Harley Manning, Outside In: The Power of Putting Customers at the Center of Your Business (Forrester / New Harvest, 2012) — the broader business case for journey-mapping-driven CX.
- Jim Kalbach, Mapping Experiences: A Complete Guide to Customer Alignment Through Journeys, Blueprints, and Diagrams, 2nd ed. (O’Reilly, 2020) — a comprehensive practitioner reference.
- Atlassian Team Playbook, Customer Journey Mapping — workshop-ready template.