design-protocol 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +225 -0
- package/agents/dp-researcher.md +239 -0
- package/agents/dp-verifier.md +207 -0
- package/bin/install.js +464 -0
- package/commands/dp-back.md +221 -0
- package/commands/dp-discuss.md +257 -0
- package/commands/dp-execute.md +513 -0
- package/commands/dp-journey.md +85 -0
- package/commands/dp-progress.md +178 -0
- package/commands/dp-roadmap.md +83 -0
- package/commands/dp-skip.md +186 -0
- package/commands/dp-start.md +510 -0
- package/commands/dp-storytell.md +94 -0
- package/commands/dp-verify.md +207 -0
- package/package.json +59 -0
- package/skills/dp-color/SKILL.md +214 -0
- package/skills/dp-color/export_tokens.py +297 -0
- package/skills/dp-color/references/apca-contrast.md +87 -0
- package/skills/dp-color/references/hue-emotions.md +109 -0
- package/skills/dp-color/references/oklch-gamut.md +79 -0
- package/skills/dp-color/references/pitfalls.md +171 -0
- package/skills/dp-color/references/scale-patterns.md +206 -0
- package/skills/dp-color/references/tool-workflows.md +200 -0
- package/skills/dp-discovery/SKILL.md +480 -0
- package/skills/dp-eng_review/SKILL.md +471 -0
- package/skills/dp-eng_review/references/code-review-checklist.md +385 -0
- package/skills/dp-eng_review/references/react-patterns.md +512 -0
- package/skills/dp-eng_review/references/shadcn-patterns.md +510 -0
- package/skills/dp-eng_review/references/tailwind-conventions.md +351 -0
- package/skills/dp-journey/SKILL.md +682 -0
- package/skills/dp-journey/references/journey-types.md +97 -0
- package/skills/dp-journey/references/map-structures.md +177 -0
- package/skills/dp-journey/references/omnichannel-patterns.md +208 -0
- package/skills/dp-journey/references/research-methods.md +125 -0
- package/skills/dp-prd/SKILL.md +201 -0
- package/skills/dp-prd/references/claude-code-spec.md +107 -0
- package/skills/dp-prd/references/interview-questions.md +158 -0
- package/skills/dp-prd/references/section-templates.md +231 -0
- package/skills/dp-research/SKILL.md +540 -0
- package/skills/dp-research/references/facilitation-guide.md +291 -0
- package/skills/dp-research/references/interview-guide-template.md +190 -0
- package/skills/dp-research/references/method-selection.md +195 -0
- package/skills/dp-research/references/question-writing.md +244 -0
- package/skills/dp-research/references/research-report-template.md +363 -0
- package/skills/dp-research/references/synthesis-methods.md +289 -0
- package/skills/dp-research/references/usability-test-template.md +260 -0
- package/skills/dp-roadmap/SKILL.md +648 -0
- package/skills/dp-roadmap/references/prioritization-frameworks.md +312 -0
- package/skills/dp-roadmap/references/roadmap-structures.md +179 -0
- package/skills/dp-roadmap/references/roadmap-workshops.md +264 -0
- package/skills/dp-roadmap/references/theme-development.md +168 -0
- package/skills/dp-storytell/SKILL.md +645 -0
- package/skills/dp-storytell/references/audience-playbooks.md +260 -0
- package/skills/dp-storytell/references/content-type-templates.md +310 -0
- package/skills/dp-storytell/references/delivery-tactics.md +228 -0
- package/skills/dp-storytell/references/narrative-frameworks.md +259 -0
- package/skills/dp-ui/SKILL.md +503 -0
- package/skills/dp-ui/references/b2b-enterprise-patterns.md +319 -0
- package/skills/dp-ui/references/data-visualization.md +304 -0
- package/skills/dp-ui/references/visual-design-principles.md +237 -0
- package/skills/dp-ux/SKILL.md +414 -0
- package/skills/dp-ux/references/accessibility-checklist.md +128 -0
- package/skills/dp-ux/references/product-excellence.md +149 -0
- package/skills/dp-ux/references/usability-principles.md +140 -0
- package/skills/dp-ux/references/ux-patterns.md +221 -0
- package/templates/config.json +55 -0
- package/templates/context.md +96 -0
- package/templates/project.md +83 -0
- package/templates/requirements.md +137 -0
- package/templates/roadmap.md +168 -0
- package/templates/state.md +107 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Journey Artifact Types — Decision Guide
|
|
2
|
+
|
|
3
|
+
This reference helps pick the right artifact type for the situation. Source: NNGroup's UX Mapping Methods cheat sheet (Sarah Gibbons) plus related Kaplan, Salazar, and Flaherty articles.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Decision Tree
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
Is the scope tied to a specific product or service?
|
|
11
|
+
├── No, broader human behavior across providers
|
|
12
|
+
│ ├── Whole-day or whole-life context?
|
|
13
|
+
│ │ ├── Yes → Day-in-the-Life Map
|
|
14
|
+
│ │ └── No → Experience Map
|
|
15
|
+
│ └──
|
|
16
|
+
└── Yes, specific product/service
|
|
17
|
+
├── Do channels/handoffs matter?
|
|
18
|
+
│ ├── Yes → Omnichannel Journey Map
|
|
19
|
+
│ └── No → Continue
|
|
20
|
+
├── Do internal operations/backstage matter?
|
|
21
|
+
│ ├── Yes → Service Blueprint
|
|
22
|
+
│ └── No → Customer Journey Map
|
|
23
|
+
└──
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Comparison Matrix
|
|
29
|
+
|
|
30
|
+
| Method | Perspective | Scope | Chronological? | Tied to product? | Primary output |
|
|
31
|
+
|---|---|---|---|---|---|
|
|
32
|
+
| Customer Journey Map | One actor | One scenario | Yes | Yes | Emotional arc + opportunities |
|
|
33
|
+
| Experience Map | Generic human | Whole domain | Yes | No | Context + upstream opportunities |
|
|
34
|
+
| Day-in-the-Life Map | One actor | Whole day | Yes | No | Context + unmet needs |
|
|
35
|
+
| Service Blueprint | Organization | One service | Yes | Yes | Frontstage/backstage alignment |
|
|
36
|
+
| Omnichannel Journey Map | One actor | Multi-channel journey | Yes | Yes | Channel transitions + gaps |
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Current-State vs Future-State vs Day-in-the-Life
|
|
41
|
+
|
|
42
|
+
Three purposes for a journey map, per Kaplan:
|
|
43
|
+
|
|
44
|
+
| Variant | Purpose | When to use |
|
|
45
|
+
|---|---|---|
|
|
46
|
+
| **Current-state** | Diagnose how the journey works *today* | Improving an existing experience; aligning on reality; onboarding new team members |
|
|
47
|
+
| **Future-state** | Envision how the journey *should* work | Vision-setting; pitching a North Star; designing something that doesn't exist |
|
|
48
|
+
| **Day-in-the-Life** | Understand the person's *wider context* | Finding new opportunities; pre-product discovery; designing for moments not screens |
|
|
49
|
+
|
|
50
|
+
**Rule of thumb:** Use current-state to fix. Use future-state to envision. Use day-in-the-life to find.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Examples Per Type
|
|
55
|
+
|
|
56
|
+
### Customer Journey Map — "First-time SaaS trial signup"
|
|
57
|
+
Actor: IT manager evaluating tools
|
|
58
|
+
Scenario: from email ad click → 14-day trial → purchase decision
|
|
59
|
+
Phases: Discover → Evaluate → Trial → Expand → Decide → Purchase/Abandon
|
|
60
|
+
|
|
61
|
+
### Experience Map — "Learning a new skill"
|
|
62
|
+
Actor: self-directed adult learner
|
|
63
|
+
Scope: not tied to any one course platform
|
|
64
|
+
Phases: Awaken desire → Explore options → Commit → Practice → Plateau → Apply → Share
|
|
65
|
+
|
|
66
|
+
### Day-in-the-Life Map — "Remote knowledge worker"
|
|
67
|
+
Actor: mid-career software engineer
|
|
68
|
+
Scope: 6am–11pm weekday
|
|
69
|
+
Swimlanes: activities, tools, emotional state, meeting load, unmet needs
|
|
70
|
+
|
|
71
|
+
### Service Blueprint — "Home appliance warranty claim"
|
|
72
|
+
Actor: customer with broken dishwasher
|
|
73
|
+
Customer actions: call support → schedule visit → technician arrives → repair done
|
|
74
|
+
Frontstage: phone agent, scheduling app, technician
|
|
75
|
+
Backstage: CRM, parts inventory, dispatch system
|
|
76
|
+
Support: vendor parts supplier, SLA contracts
|
|
77
|
+
|
|
78
|
+
### Omnichannel Journey Map — "Buy online, pick up in store"
|
|
79
|
+
Actor: working parent
|
|
80
|
+
Channels: web (browse), mobile (pay), email (receipt), SMS (ready-for-pickup), in-store (counter)
|
|
81
|
+
Transitions: 4 channel handoffs, each requiring context persistence
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## When NOT to Use Journey Mapping
|
|
86
|
+
|
|
87
|
+
Use something else when:
|
|
88
|
+
|
|
89
|
+
| Situation | Use instead |
|
|
90
|
+
|---|---|
|
|
91
|
+
| You need to synthesize user research | Empathy map, affinity diagramming |
|
|
92
|
+
| You need to design a specific screen flow | User flow diagram (part of UX) |
|
|
93
|
+
| You need to document information architecture | Sitemap, IA diagram |
|
|
94
|
+
| You need feature requirements | PRD |
|
|
95
|
+
| You need persona detail | Persona document |
|
|
96
|
+
|
|
97
|
+
Journey maps are for *narrative and alignment*, not for *specification*.
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# Map Structures — Templates Per Artifact Type
|
|
2
|
+
|
|
3
|
+
Full swimlane templates for each of the five artifact types. Use these as the scaffold when synthesizing research into a draft.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. Customer Journey Map — Full Template
|
|
8
|
+
|
|
9
|
+
### Zone A — The Lens
|
|
10
|
+
```
|
|
11
|
+
Actor: [Persona name] — [one-line description]
|
|
12
|
+
Scenario: [Specific time-bounded scenario with entry and exit points]
|
|
13
|
+
Expectations Entering:
|
|
14
|
+
1. [What they expect]
|
|
15
|
+
2. [What they expect]
|
|
16
|
+
3. [What they expect]
|
|
17
|
+
Goal: [What success looks like from their POV]
|
|
18
|
+
Research basis: [interviews N=X, usability N=Y, analytics source] OR [HYPOTHESIS]
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### Zone B — The Experience
|
|
22
|
+
|
|
23
|
+
**Phase row (top):** 4-7 high-level phases, chronological
|
|
24
|
+
**Standard phase archetypes:**
|
|
25
|
+
- Commerce: Awareness → Consideration → Purchase → Onboarding → Use → Advocacy
|
|
26
|
+
- SaaS: Discover → Evaluate → Trial → Adopt → Expand → Renew/Advocate
|
|
27
|
+
- Service: Trigger → Research → Decide → Engage → Experience → Follow-up
|
|
28
|
+
- Support: Problem → Search → Contact → Diagnose → Resolve → Verify
|
|
29
|
+
|
|
30
|
+
**Swimlanes (per phase):**
|
|
31
|
+
|
|
32
|
+
| Swimlane | Prompt |
|
|
33
|
+
|---|---|
|
|
34
|
+
| Actions | What does the actor literally do? |
|
|
35
|
+
| Thoughts | What are they asking themselves? What questions? |
|
|
36
|
+
| Emotions | How do they feel? Plot as 1-5 value |
|
|
37
|
+
| Touchpoints | Which interfaces/channels at this moment? |
|
|
38
|
+
| Pain Points | What friction or frustration occurs here? |
|
|
39
|
+
| Quotes | Verbatim or paraphrased — "..." from research |
|
|
40
|
+
|
|
41
|
+
**Emotion Curve:** draw as a single line across all phases showing peaks (delight) and valleys (frustration).
|
|
42
|
+
|
|
43
|
+
### Zone C — The Insights
|
|
44
|
+
|
|
45
|
+
- **Opportunities** per phase (ranked)
|
|
46
|
+
- **Key Moments of Truth** — where experience succeeds or fails
|
|
47
|
+
- **Ownership Map** — who owns each phase
|
|
48
|
+
- **Metrics** — what to measure to know if the journey improves
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## 2. Experience Map — Full Template
|
|
53
|
+
|
|
54
|
+
Same structure as Customer Journey Map but:
|
|
55
|
+
- Actor = generic human (not a customer of any one company)
|
|
56
|
+
- Scenario = life context, not product context
|
|
57
|
+
- Touchpoints = may include competitive/substitute options
|
|
58
|
+
- Opportunities = category-level, not product-level
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 3. Day-in-the-Life Map — Full Template
|
|
63
|
+
|
|
64
|
+
### Header
|
|
65
|
+
```
|
|
66
|
+
Actor: [Persona]
|
|
67
|
+
Time horizon: [6am–11pm / full workday / weekend]
|
|
68
|
+
Context: [Location, role, constraints]
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### Timeline Swimlanes
|
|
72
|
+
|
|
73
|
+
| Swimlane | Prompt |
|
|
74
|
+
|---|---|
|
|
75
|
+
| Time blocks | Hourly or by natural breaks |
|
|
76
|
+
| Activities | What they're doing |
|
|
77
|
+
| Tools used | Apps, devices, services, physical tools |
|
|
78
|
+
| Social context | Alone / with family / with colleagues |
|
|
79
|
+
| Emotional state | Stress level, energy level |
|
|
80
|
+
| Cognitive load | Focused work / reactive / ambient |
|
|
81
|
+
| Unmet needs | What's missing or painful |
|
|
82
|
+
| Opportunity tags | Potential product/service intervention |
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 4. Service Blueprint — Full Template
|
|
87
|
+
|
|
88
|
+
### 5 Layers (top to bottom)
|
|
89
|
+
```
|
|
90
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
91
|
+
│ Physical / Digital Evidence │
|
|
92
|
+
├─────────────────────────────────────────────────────────────┤
|
|
93
|
+
│ Customer Actions │
|
|
94
|
+
│ ══════════════════════════ Line of Interaction ═══════════ │
|
|
95
|
+
│ Frontstage Actions │
|
|
96
|
+
│ ══════════════════════════ Line of Visibility ════════════ │
|
|
97
|
+
│ Backstage Actions │
|
|
98
|
+
│ ══════════════════════ Line of Internal Interaction ══════ │
|
|
99
|
+
│ Support Processes │
|
|
100
|
+
└─────────────────────────────────────────────────────────────┘
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Layer Definitions (NNGroup, Sarah Gibbons)
|
|
104
|
+
|
|
105
|
+
| Layer | Contents |
|
|
106
|
+
|---|---|
|
|
107
|
+
| **Physical / Digital Evidence** | Props, places, UIs the customer encounters — receipt, signage, app screen, email |
|
|
108
|
+
| **Customer Actions** | Steps, choices, activities the customer performs to reach a goal (this IS the journey row) |
|
|
109
|
+
| **Frontstage Actions** | Actions occurring directly in view of the customer — contact employees or self-service tech |
|
|
110
|
+
| **Backstage Actions** | Steps behind the scenes that support frontstage — kitchen prep, order entry into KDS, CRM lookup |
|
|
111
|
+
| **Support Processes** | Internal systems, third parties, policies, SLAs that enable the layers above |
|
|
112
|
+
|
|
113
|
+
### Critical Nuance
|
|
114
|
+
A frontstage *employee* can perform a backstage *action*. Example: a waiter typing the order into the kitchen display system is a backstage action even though the waiter is a frontstage employee. The distinction is about visibility of the *action*, not the *role*.
|
|
115
|
+
|
|
116
|
+
### The 3 Lines
|
|
117
|
+
|
|
118
|
+
| Line | Separates |
|
|
119
|
+
|---|---|
|
|
120
|
+
| Line of Interaction | Customer Actions ↔ Frontstage Actions |
|
|
121
|
+
| Line of Visibility | Frontstage ↔ Backstage |
|
|
122
|
+
| Line of Internal Interaction | Backstage ↔ Support Processes |
|
|
123
|
+
|
|
124
|
+
### Building Process (5 steps — Gibbons)
|
|
125
|
+
1. **Find support** — build cross-disciplinary team, establish stakeholder support
|
|
126
|
+
2. **Define the goal** — scope and alignment on why
|
|
127
|
+
3. **Gather research** — from customers, employees, stakeholders
|
|
128
|
+
4. **Map the blueprint** — low-fidelity first
|
|
129
|
+
5. **Refine and distribute** — to high-fidelity, distribute to clients and stakeholders
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## 5. Omnichannel Journey Map — Full Template
|
|
134
|
+
|
|
135
|
+
### Additional rows beyond the Customer Journey Map
|
|
136
|
+
|
|
137
|
+
| Row | Prompt |
|
|
138
|
+
|---|---|
|
|
139
|
+
| **Channel** | web / mobile / email / SMS / phone / in-person / chat / kiosk |
|
|
140
|
+
| **Device** | phone / laptop / tablet / kiosk / POS / voice assistant |
|
|
141
|
+
| **Touchpoint** | channel + device + task composite |
|
|
142
|
+
|
|
143
|
+
### Channel Transition Markers
|
|
144
|
+
|
|
145
|
+
At every transition, insert a block:
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
╔═══════════════════════════════╗
|
|
149
|
+
║ TRANSITION: [From] → [To] ║
|
|
150
|
+
║ What carries: [context] ║
|
|
151
|
+
║ What breaks: [failures] ║
|
|
152
|
+
║ Priority: [H / M / L] ║
|
|
153
|
+
╚═══════════════════════════════╝
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
### Channel Inventory Table
|
|
157
|
+
|
|
158
|
+
| Channel | Role | Strengths Leveraged | Known Limitations |
|
|
159
|
+
|---|---|---|---|
|
|
160
|
+
| Web | Primary research | Deep content, filters, comparison | Large screen assumed |
|
|
161
|
+
| Mobile app | Transactional | Quick actions, notifications, camera | Small screen, attention-fragmented |
|
|
162
|
+
| Email | Async confirmation | Persistent record | One-way, delayed |
|
|
163
|
+
| SMS | Real-time alert | Immediate, high open-rate | 160 chars, no rich media |
|
|
164
|
+
| Phone | High-touch resolution | Human empathy, complex cases | Queue wait, scheduling |
|
|
165
|
+
| In-person | Trust-building, physical | Full sensory, high bandwidth | Geographic limits, hours |
|
|
166
|
+
| Chat (live) | Mid-touch support | Real-time, multitask-compatible | Requires agent availability |
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Output Conventions
|
|
171
|
+
|
|
172
|
+
- Always Zone A (lens), Zone B (experience), Zone C (insights) order
|
|
173
|
+
- Always one actor per map
|
|
174
|
+
- Always chronological left-to-right phases
|
|
175
|
+
- Always emotion as a continuous line, not discrete values
|
|
176
|
+
- Always opportunities ranked (severity × reach × strategic fit)
|
|
177
|
+
- Always a named journey owner in Zone C
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
# Omnichannel Patterns — Deep Reference
|
|
2
|
+
|
|
3
|
+
Extended reference for omnichannel journey mapping. Based on NNGroup's 5-component framework (Kim Flaherty), Kim Salazar's touchpoint model, and common cross-channel patterns.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## The 5 Components (Verbatim Definitions — NNGroup, Kim Flaherty)
|
|
8
|
+
|
|
9
|
+
### 1. Consistent
|
|
10
|
+
*"Providing a consistent, cohesive, and familiar experience across all channels."*
|
|
11
|
+
|
|
12
|
+
**4 consistency dimensions:**
|
|
13
|
+
- **Visual** — brand, typography, color, layout language
|
|
14
|
+
- **Functional** — core capabilities work the same way
|
|
15
|
+
- **Content / Voice** — tone, terminology, information hierarchy
|
|
16
|
+
- **Data / State** — account, cart, preferences are the same everywhere
|
|
17
|
+
|
|
18
|
+
**Benefits (NNGroup):**
|
|
19
|
+
- Familiarity & confidence — sets expectations
|
|
20
|
+
- Learnability — prior channel experience transfers
|
|
21
|
+
- Efficiency — users complete tasks faster
|
|
22
|
+
- Trust — builds credibility
|
|
23
|
+
|
|
24
|
+
### 2. Optimized (for context)
|
|
25
|
+
*"Creating individual channel experiences that are best suited for that particular device, channel constraints, and contexts of use."*
|
|
26
|
+
|
|
27
|
+
**Context variables:**
|
|
28
|
+
- Device (screen size, input modality)
|
|
29
|
+
- Session length (seconds to hours)
|
|
30
|
+
- Attention available (full / fragmented / passive)
|
|
31
|
+
- Environmental constraints (hands-free, one-handed, ambient noise)
|
|
32
|
+
- Permission/privacy context (public space vs. private)
|
|
33
|
+
|
|
34
|
+
**Principle:** *Consistent what, contextual how.* Keep brand/data/core capability consistent; let UI/interaction/detail adapt to channel.
|
|
35
|
+
|
|
36
|
+
### 3. Seamless
|
|
37
|
+
*"Making channel transitions as effortless as possible and helping customers pick up where they left off when they switch from one channel to another during a task."*
|
|
38
|
+
|
|
39
|
+
**Seamlessness requirements:**
|
|
40
|
+
- Persist state across channels (cart, form data, progress)
|
|
41
|
+
- Carry context forward (identity, intent, last action)
|
|
42
|
+
- Minimize re-authentication, re-typing, re-explaining
|
|
43
|
+
- Provide a visible "continue where you left off" affordance
|
|
44
|
+
|
|
45
|
+
### 4. Orchestrated
|
|
46
|
+
*"Proactively leading customers through their individual journeys with the right personalized interactions and messages at the right time."*
|
|
47
|
+
|
|
48
|
+
**Orchestration maturity levels:**
|
|
49
|
+
- **Reactive** — respond after user acts (send receipt after purchase)
|
|
50
|
+
- **Scheduled** — planned sequence (onboarding email drip)
|
|
51
|
+
- **Behavioral** — triggered by user signals (cart abandonment email)
|
|
52
|
+
- **Predictive** — engine decides next-best-action based on state + history + context
|
|
53
|
+
|
|
54
|
+
### 5. Collaborative
|
|
55
|
+
*"Enriching the customer journey by allowing customers to take advantage of multiple channels at the same time to improve the overall user experience."*
|
|
56
|
+
|
|
57
|
+
**Examples:**
|
|
58
|
+
- Second-screen (TV + mobile companion)
|
|
59
|
+
- Agent phone call + screen-share on web
|
|
60
|
+
- In-store app scanner while physically browsing
|
|
61
|
+
- QR code handoff from print to mobile
|
|
62
|
+
- Voice assistant + screen display
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Touchpoint Inventory — How to Build
|
|
67
|
+
|
|
68
|
+
Per Kim Salazar: **Touchpoint = Channel × Device × Task.**
|
|
69
|
+
|
|
70
|
+
### Step 1 — Enumerate channels
|
|
71
|
+
List every way the actor can interact with the organization:
|
|
72
|
+
- Web (marketing site, app, logged-in product)
|
|
73
|
+
- Mobile app (iOS, Android)
|
|
74
|
+
- Email
|
|
75
|
+
- SMS
|
|
76
|
+
- Push notification
|
|
77
|
+
- Phone (inbound, outbound)
|
|
78
|
+
- In-person (store, branch, event)
|
|
79
|
+
- Chat (live, chatbot, WhatsApp)
|
|
80
|
+
- Social (DMs, comments)
|
|
81
|
+
- Print (mail, receipt, signage)
|
|
82
|
+
- Kiosk / POS / self-service
|
|
83
|
+
- Voice assistant
|
|
84
|
+
|
|
85
|
+
### Step 2 — Enumerate devices
|
|
86
|
+
For each channel, which devices support it?
|
|
87
|
+
|
|
88
|
+
### Step 3 — Enumerate tasks per phase
|
|
89
|
+
For each journey phase, what tasks might the actor attempt?
|
|
90
|
+
|
|
91
|
+
### Step 4 — Create the inventory grid
|
|
92
|
+
|
|
93
|
+
| Phase | Channel | Device | Task | Actor goal | Frequency |
|
|
94
|
+
|---|---|---|---|---|---|
|
|
95
|
+
| Discover | Web | Desktop | Browse product pages | Evaluate fit | High |
|
|
96
|
+
| Discover | Mobile app | Phone | Tap ad | Investigate | High |
|
|
97
|
+
| Purchase | Web | Desktop | Enter payment | Complete checkout | High |
|
|
98
|
+
| Purchase | Mobile | Phone | Apple Pay | Complete checkout | Medium |
|
|
99
|
+
| Support | Phone | Phone | Call agent | Resolve issue | Low |
|
|
100
|
+
| Support | Chat | Desktop | Live chat | Resolve issue | Medium |
|
|
101
|
+
|
|
102
|
+
### Step 5 — Identify gaps
|
|
103
|
+
- Channels the actor uses that the org doesn't support
|
|
104
|
+
- Tasks that only work on one channel but should work on more
|
|
105
|
+
- Handoffs that break context
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Channel Transition Patterns
|
|
110
|
+
|
|
111
|
+
### Pattern A — Research-to-purchase handoff
|
|
112
|
+
User researches on desktop, purchases on mobile, or vice versa.
|
|
113
|
+
|
|
114
|
+
**Required context persistence:**
|
|
115
|
+
- Cart contents
|
|
116
|
+
- Account identity
|
|
117
|
+
- Viewed items / comparisons
|
|
118
|
+
- Discount codes / referral source
|
|
119
|
+
|
|
120
|
+
**Common failures:**
|
|
121
|
+
- Cart empties on channel switch
|
|
122
|
+
- Comparison lists don't sync
|
|
123
|
+
- Must re-login
|
|
124
|
+
|
|
125
|
+
### Pattern B — Digital-to-physical handoff (BOPIS: buy online, pickup in store)
|
|
126
|
+
User buys online, picks up in physical location.
|
|
127
|
+
|
|
128
|
+
**Required context persistence:**
|
|
129
|
+
- Order ID + contents
|
|
130
|
+
- Identity verification
|
|
131
|
+
- Ready-for-pickup notification
|
|
132
|
+
- Substitution consent (if item unavailable)
|
|
133
|
+
|
|
134
|
+
**Common failures:**
|
|
135
|
+
- Store employee sees nothing in system
|
|
136
|
+
- Customer has to show email on phone (re-prove order)
|
|
137
|
+
- Substitution not communicated
|
|
138
|
+
|
|
139
|
+
### Pattern C — Self-service-to-human handoff
|
|
140
|
+
User tries bot/FAQ, escalates to agent.
|
|
141
|
+
|
|
142
|
+
**Required context persistence:**
|
|
143
|
+
- Conversation history with bot
|
|
144
|
+
- Customer identity
|
|
145
|
+
- Issue category already identified
|
|
146
|
+
- Steps already attempted
|
|
147
|
+
|
|
148
|
+
**Common failures:**
|
|
149
|
+
- Agent has no chat transcript
|
|
150
|
+
- Customer must re-describe problem from zero
|
|
151
|
+
- Identity re-verification required
|
|
152
|
+
|
|
153
|
+
### Pattern D — Outbound-to-inbound (email/SMS → web)
|
|
154
|
+
Marketing or service message triggers user to visit web.
|
|
155
|
+
|
|
156
|
+
**Required context persistence:**
|
|
157
|
+
- Campaign source
|
|
158
|
+
- Offer ID (if promotional)
|
|
159
|
+
- Personalization context
|
|
160
|
+
- Deep link to relevant destination
|
|
161
|
+
|
|
162
|
+
**Common failures:**
|
|
163
|
+
- Link goes to homepage, not offer
|
|
164
|
+
- Offer not applied automatically
|
|
165
|
+
- Must re-authenticate when message implied authenticated state
|
|
166
|
+
|
|
167
|
+
### Pattern E — Synchronous multichannel (agent + customer on same screen)
|
|
168
|
+
Agent on phone, customer on web, both navigating together.
|
|
169
|
+
|
|
170
|
+
**Required real-time sync:**
|
|
171
|
+
- Shared cursor / co-browse
|
|
172
|
+
- Form field sync
|
|
173
|
+
- Mutual viewing of artifacts
|
|
174
|
+
- Agent access to customer's session state
|
|
175
|
+
|
|
176
|
+
**Common failures:**
|
|
177
|
+
- Agent can't see what customer sees
|
|
178
|
+
- Screen-share tools require customer install
|
|
179
|
+
- Privacy concerns around session visibility
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Anti-Patterns
|
|
184
|
+
|
|
185
|
+
1. **Channel parity** — replicating the desktop UI on mobile instead of optimizing for mobile's context
|
|
186
|
+
2. **Siloed ownership** — each channel owned by a separate team with separate KPIs
|
|
187
|
+
3. **Data-state divergence** — account balance different on web vs. app vs. branch
|
|
188
|
+
4. **Marketing-only omnichannel** — "omnichannel" that's really just "consistent branding across ads"
|
|
189
|
+
5. **Invasive orchestration** — proactive messaging that feels creepy, not helpful
|
|
190
|
+
6. **Forced channel switching** — channel A can't complete the task, user must switch to B
|
|
191
|
+
7. **Happy-path-only design** — channel transitions designed only for success, not recovery
|
|
192
|
+
8. **No identity continuity** — same user treated as stranger when they switch channels
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Maturity Self-Assessment
|
|
197
|
+
|
|
198
|
+
Use this to label the current experience state in the output:
|
|
199
|
+
|
|
200
|
+
| Tier | Signal |
|
|
201
|
+
|---|---|
|
|
202
|
+
| **Single-channel** | Only one channel exists |
|
|
203
|
+
| **Multichannel** | Multiple channels, each siloed, no shared state or transitions designed |
|
|
204
|
+
| **Cross-channel** | Channels are coordinated (deep links, email → web session) but not fully unified |
|
|
205
|
+
| **Omnichannel** | Unified customer identity, shared state, designed transitions, channel-appropriate UI |
|
|
206
|
+
| **Orchestrated Omnichannel** | All of the above + proactive, personalized next-best-action across channels |
|
|
207
|
+
|
|
208
|
+
Most organizations believe they are omnichannel and actually operate at the multichannel or cross-channel tier. Stating this honestly in the map is a feature, not a flaw.
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
# Research Methods for Journey Mapping
|
|
2
|
+
|
|
3
|
+
How to fill each swimlane with evidence. Never fabricate. If research is missing, enter hypothesis mode and log the gap.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Swimlane → Method Matrix
|
|
8
|
+
|
|
9
|
+
| Swimlane | Best method | Acceptable substitutes | Red flags |
|
|
10
|
+
|---|---|---|---|
|
|
11
|
+
| **Actions** | Contextual inquiry, usability testing, analytics funnels | Support ticket review, sales call recordings | Assumptions from product team ("users probably…") |
|
|
12
|
+
| **Thoughts / Mindset** | Semi-structured interviews, think-aloud usability | Diary studies, session replays with narration | Marketing-voice ("delighted users say…") |
|
|
13
|
+
| **Emotions** | Interviews with emotional probes, diary studies | Sentiment analysis of reviews, survey NPS comments | Designer-projected feelings without user validation |
|
|
14
|
+
| **Touchpoints** | Touchpoint inventory workshop + analytics | Support team interviews (they know every channel) | Only listing channels the org *wants* used |
|
|
15
|
+
| **Pain Points** | Support tickets + interviews + churn exits | Session replays, heatmaps, complaint reviews | Only listing polite / survey-compliant feedback |
|
|
16
|
+
| **Opportunities** | Derived from pain points + jobs-to-be-done | Ideation workshops grounded in research | Ideas generated without pain-point anchors |
|
|
17
|
+
| **Backstage (blueprints)** | Employee interviews, process observation | SOP docs, Slack archives | Customer-side assumptions about internal ops |
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## How Much Research Is Enough?
|
|
22
|
+
|
|
23
|
+
Per NNGroup's "base it on truth" principle:
|
|
24
|
+
|
|
25
|
+
### Minimum viable research (for one map)
|
|
26
|
+
- **5-8 user interviews** with people who match the actor persona
|
|
27
|
+
- **Review of 20+ support tickets** from the last 90 days (if applicable)
|
|
28
|
+
- **1 touchpoint inventory workshop** with CS, sales, ops
|
|
29
|
+
- **Analytics pull** for the key funnel (if quantitative exists)
|
|
30
|
+
|
|
31
|
+
### Stronger basis (for consequential maps)
|
|
32
|
+
- 10-15 interviews across 2-3 segments of the actor persona
|
|
33
|
+
- Diary study (5-10 participants, 1-2 weeks)
|
|
34
|
+
- Usability test of 2-3 scenarios (N=5 minimum, Nielsen)
|
|
35
|
+
- Employee interviews if service blueprint (minimum 3 per team)
|
|
36
|
+
|
|
37
|
+
### Hypothesis mode triggers
|
|
38
|
+
Enter hypothesis mode if any of these are true:
|
|
39
|
+
- Zero user interviews have been conducted
|
|
40
|
+
- Only indirect data (exec opinions, sales calls, surveys with <20 responses)
|
|
41
|
+
- The actor/persona is aspirational (you don't have any yet)
|
|
42
|
+
- The scenario is future-state and the team hasn't tested a prototype
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Interview Question Bank — Journey-Focused
|
|
47
|
+
|
|
48
|
+
Use these in `/dp:research` interviews to feed journey synthesis:
|
|
49
|
+
|
|
50
|
+
### Warm-up (establish context)
|
|
51
|
+
- Walk me through the last time you [did the scenario activity]
|
|
52
|
+
- What triggered you to [start the journey]?
|
|
53
|
+
|
|
54
|
+
### Phase exploration (per phase)
|
|
55
|
+
- What did you do at that point?
|
|
56
|
+
- What were you trying to figure out?
|
|
57
|
+
- What were you thinking when [specific event]?
|
|
58
|
+
- What made you feel [emotion observed]?
|
|
59
|
+
|
|
60
|
+
### Pain discovery
|
|
61
|
+
- What was the most frustrating part?
|
|
62
|
+
- What almost made you quit?
|
|
63
|
+
- What did you have to work around?
|
|
64
|
+
|
|
65
|
+
### Expectation check
|
|
66
|
+
- What were you expecting that didn't happen?
|
|
67
|
+
- What surprised you?
|
|
68
|
+
|
|
69
|
+
### Comparison (for experience maps)
|
|
70
|
+
- How else could you have [achieved the goal]?
|
|
71
|
+
- What else did you try?
|
|
72
|
+
|
|
73
|
+
### Closure
|
|
74
|
+
- If you could change one thing about that experience, what would it be?
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Synthesizing Research Into Swimlanes
|
|
79
|
+
|
|
80
|
+
### Step 1 — Transcribe and tag
|
|
81
|
+
Tag every research statement with:
|
|
82
|
+
- Phase it belongs to
|
|
83
|
+
- Swimlane (Action / Thought / Emotion / Pain / Opportunity / Touchpoint)
|
|
84
|
+
- Emotional valence (+2 / +1 / 0 / -1 / -2)
|
|
85
|
+
|
|
86
|
+
### Step 2 — Affinity diagram
|
|
87
|
+
Cluster tagged statements per (phase, swimlane). Patterns emerge where 3+ participants converge.
|
|
88
|
+
|
|
89
|
+
### Step 3 — Extract the narrative
|
|
90
|
+
For each phase, write 1-3 sentence narrative summarizing the cluster. Attribute quotes.
|
|
91
|
+
|
|
92
|
+
### Step 4 — Plot emotion curve
|
|
93
|
+
Average emotional valence per phase. Draw the line.
|
|
94
|
+
|
|
95
|
+
### Step 5 — Derive opportunities
|
|
96
|
+
For each pain point (valence -1 or -2), ask: what would need to change to move this to 0 or +1?
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Validating a Journey Map
|
|
101
|
+
|
|
102
|
+
Post-synthesis, run the map by:
|
|
103
|
+
|
|
104
|
+
1. **3-5 users who match the actor** — do they recognize themselves?
|
|
105
|
+
2. **2-3 employees who serve this actor** — does it match what they see?
|
|
106
|
+
3. **The journey owner** — are the opportunities aligned with strategy?
|
|
107
|
+
4. **Engineering / ops** — are the backstage claims (if service blueprint) accurate?
|
|
108
|
+
|
|
109
|
+
Red flag: if validation reveals >20% of the map is wrong, the research basis is too thin — redo with more participants before shipping the map as an alignment tool.
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## Quantitative Overlays
|
|
114
|
+
|
|
115
|
+
Once qualitative is solid, overlay quantitative:
|
|
116
|
+
|
|
117
|
+
| Overlay | What it adds | Source |
|
|
118
|
+
|---|---|---|
|
|
119
|
+
| Drop-off % per phase | Objective severity ranking | Analytics |
|
|
120
|
+
| Time-in-phase | Identifies stuck points | Analytics |
|
|
121
|
+
| Support contact rate per phase | Confirms pain points | Support system |
|
|
122
|
+
| NPS by phase | Confirms emotion curve | Survey |
|
|
123
|
+
| Completion rate | Overall journey health | Analytics |
|
|
124
|
+
|
|
125
|
+
Quantitative validates qualitative — it does not replace it.
|