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,264 @@
|
|
|
1
|
+
# Roadmap Workshop Facilitation
|
|
2
|
+
|
|
3
|
+
Full facilitation guides for the two NNGroup workshop formats, stakeholder interviews, and key exercises.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Format A — Single 3-Hour Workshop
|
|
8
|
+
|
|
9
|
+
Use when inputs (research, journey maps, analytics) are already in good shape.
|
|
10
|
+
|
|
11
|
+
### Prerequisites (done before workshop)
|
|
12
|
+
- [ ] High-level goals confirmed with leadership
|
|
13
|
+
- [ ] Input artifacts collected and shared with participants 48h prior
|
|
14
|
+
- [ ] Participant list finalized: 6-12 people ideal (more = slower convergence)
|
|
15
|
+
- [ ] Roles assigned: Facilitator, Timekeeper, Note-taker
|
|
16
|
+
- [ ] Space / tool ready: physical wall, whiteboard, or Miro/FigJam board
|
|
17
|
+
|
|
18
|
+
### Participant mix
|
|
19
|
+
Required:
|
|
20
|
+
- Roadmap Owner (creator)
|
|
21
|
+
- UX / design
|
|
22
|
+
- Product management
|
|
23
|
+
- Engineering lead
|
|
24
|
+
|
|
25
|
+
Recommended:
|
|
26
|
+
- Customer success / support
|
|
27
|
+
- Sales (B2B)
|
|
28
|
+
- Data analyst
|
|
29
|
+
- Marketing
|
|
30
|
+
|
|
31
|
+
### Detailed agenda
|
|
32
|
+
|
|
33
|
+
**00:00–00:25 — Introduction (25 min)**
|
|
34
|
+
1. Welcome + workshop goal (2 min)
|
|
35
|
+
2. Icebreaker — each person shares one user insight they've seen recently (15 min)
|
|
36
|
+
3. Roadmap Hopes & Fears exercise (8 min)
|
|
37
|
+
- Each participant writes:
|
|
38
|
+
- 1 hope for what the roadmap enables
|
|
39
|
+
- 1 fear for how the roadmap could fail
|
|
40
|
+
- Cluster on wall, quickly name patterns
|
|
41
|
+
|
|
42
|
+
**00:25–00:40 — Read-out (15 min)**
|
|
43
|
+
- Roadmap Owner presents:
|
|
44
|
+
- High-level goals (3 min)
|
|
45
|
+
- Scope definition (3 min)
|
|
46
|
+
- Input collection methods + what's in the input pack (5 min)
|
|
47
|
+
- Workshop output target (4 min)
|
|
48
|
+
|
|
49
|
+
**00:40–01:25 — Distill Themes (45 min)**
|
|
50
|
+
- Break into small groups of 3-4 (5 min to form)
|
|
51
|
+
- Each group assigned 1-2 input artifacts (journey map, research pack, support data slice)
|
|
52
|
+
- Individual silent post-up: each person writes 5-10 problems/needs observed (15 min)
|
|
53
|
+
- Small-group converge: cluster, name themes, agree on 3-5 (15 min)
|
|
54
|
+
- Playback: each group presents their themes (2 min per group, 10 min total)
|
|
55
|
+
|
|
56
|
+
**01:25–01:45 — Break (20 min)**
|
|
57
|
+
|
|
58
|
+
**01:45–02:15 — Affinity Diagramming (30 min)**
|
|
59
|
+
- Large group converges all small-group themes on one wall
|
|
60
|
+
- Move themes physically to cluster duplicates and near-duplicates (10 min)
|
|
61
|
+
- Name and expand themes using the formula: "For [beneficiary], [need] so that [business objective]" (15 min)
|
|
62
|
+
- Quick playback (5 min)
|
|
63
|
+
|
|
64
|
+
**02:15–03:00 — Prioritization (45 min)**
|
|
65
|
+
1. Identify criteria (5 min) — pick a framework (RICE, ICE, Value/Effort, dot-voting)
|
|
66
|
+
2. Score themes individually (10 min) — use sticky dots or digital votes
|
|
67
|
+
3. Aggregate scores (5 min)
|
|
68
|
+
4. Discuss outliers and deltas (15 min)
|
|
69
|
+
5. Place themes on Now / Next / Future (10 min)
|
|
70
|
+
|
|
71
|
+
**03:00 — Close**
|
|
72
|
+
- Confirm Roadmap Owner will produce visualized output within 48h
|
|
73
|
+
- Set review cadence
|
|
74
|
+
- Thank participants
|
|
75
|
+
|
|
76
|
+
### Post-workshop (Roadmap Owner)
|
|
77
|
+
1. Visualize (within 48h) — use appropriate template from `roadmap-structures.md`
|
|
78
|
+
2. Circulate draft for 1-week feedback window
|
|
79
|
+
3. Incorporate feedback
|
|
80
|
+
4. Hold 30-min read-out for broader audience
|
|
81
|
+
5. Archive inputs + workshop artifacts
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Format B — Two Workshops + Research
|
|
86
|
+
|
|
87
|
+
Use when inputs are thin and research is needed between sessions.
|
|
88
|
+
|
|
89
|
+
### Workshop 1 — Alignment (1 hour)
|
|
90
|
+
|
|
91
|
+
**00:00-00:05 — Intro + Roadmap Definition**
|
|
92
|
+
- Define what a roadmap is (and isn't)
|
|
93
|
+
- State workshop goal: aligning on inputs and gaps
|
|
94
|
+
|
|
95
|
+
**00:05-00:20 — Hopes & Fears (15 min)**
|
|
96
|
+
- Individual post-up (5 min)
|
|
97
|
+
- Converge + name top hopes (10 min)
|
|
98
|
+
|
|
99
|
+
**00:20-00:50 — Strategy Collection (30 min)**
|
|
100
|
+
- Stakeholders embedded in small groups OR interviewed sequentially
|
|
101
|
+
- Each group captures:
|
|
102
|
+
- What problems they see
|
|
103
|
+
- What outcomes they want
|
|
104
|
+
- What they've tried before
|
|
105
|
+
- Cluster into provisional themes
|
|
106
|
+
|
|
107
|
+
**00:50-01:00 — Open Questions (10 min)**
|
|
108
|
+
- Surface research gaps
|
|
109
|
+
- List questions to be answered before Workshop 2
|
|
110
|
+
- Assign investigation owners
|
|
111
|
+
|
|
112
|
+
### Between Workshops — Research Sprint
|
|
113
|
+
Close the questions from Workshop 1. Methods:
|
|
114
|
+
- Competitive analysis
|
|
115
|
+
- User interviews (5-8)
|
|
116
|
+
- Stakeholder deep-dives
|
|
117
|
+
- Analytics pulls
|
|
118
|
+
- Support data mining
|
|
119
|
+
|
|
120
|
+
Package findings into a **Research Brief** circulated 48h before Workshop 2.
|
|
121
|
+
|
|
122
|
+
### Workshop 2 — Convergence (2 hours)
|
|
123
|
+
|
|
124
|
+
**00:00-00:15 — Intro + Research Recap**
|
|
125
|
+
- Present research findings
|
|
126
|
+
- Tie findings to Workshop 1 questions
|
|
127
|
+
|
|
128
|
+
**00:15-00:45 — Distill Themes (30 min)**
|
|
129
|
+
- Individual post-up informed by new research
|
|
130
|
+
- Small-group converge
|
|
131
|
+
- Playback
|
|
132
|
+
|
|
133
|
+
**00:45-01:00 — Break**
|
|
134
|
+
|
|
135
|
+
**01:00-01:30 — Affinity Diagramming (30 min)**
|
|
136
|
+
- Cluster and name themes
|
|
137
|
+
- Apply the "For [beneficiary], [need] so that [business objective]" formula
|
|
138
|
+
|
|
139
|
+
**01:30-02:00 — Prioritization (30 min)**
|
|
140
|
+
- Apply chosen framework
|
|
141
|
+
- Place on Now / Next / Future
|
|
142
|
+
- Capture confidence and disclaimers
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Key Exercises in Detail
|
|
147
|
+
|
|
148
|
+
### Hopes & Fears
|
|
149
|
+
**Purpose:** Surface the emotional landscape before it distorts the work.
|
|
150
|
+
|
|
151
|
+
**Method:**
|
|
152
|
+
1. Individual writes 1 hope and 1 fear on separate sticky notes (5 min silent)
|
|
153
|
+
2. Post on wall, unlabeled
|
|
154
|
+
3. Facilitator groups similar ones
|
|
155
|
+
4. Name each group
|
|
156
|
+
5. Capture in workshop notes — these become risk signals for the roadmap
|
|
157
|
+
|
|
158
|
+
**Common hopes:** alignment, clarity, reduced churn on priorities, ability to say no
|
|
159
|
+
**Common fears:** ignored for other work, leadership override, stakeholder misinterpretation, over-promise
|
|
160
|
+
|
|
161
|
+
### Affinity Diagramming
|
|
162
|
+
**Purpose:** Converge many observations into a smaller set of patterns.
|
|
163
|
+
|
|
164
|
+
**Method:**
|
|
165
|
+
1. Put all observation stickies on a wall (no categories yet)
|
|
166
|
+
2. In silence, participants move stickies that seem related closer together
|
|
167
|
+
3. Repeat until stable clusters form
|
|
168
|
+
4. Group labels each cluster with a name (discuss if needed)
|
|
169
|
+
5. Remove duplicates and near-duplicates within clusters
|
|
170
|
+
|
|
171
|
+
**Principle (Jiro Kawakita, KJ method):** bottom-up pattern discovery, no pre-defined categories.
|
|
172
|
+
|
|
173
|
+
### Dot Voting
|
|
174
|
+
**Purpose:** Fast group prioritization without a numeric framework.
|
|
175
|
+
|
|
176
|
+
**Method:**
|
|
177
|
+
1. Each participant gets N dots (typically √(number of items))
|
|
178
|
+
2. Participants place dots on themes they want to prioritize
|
|
179
|
+
3. Rules: no more than 2 dots per theme (prevents single-voter dominance)
|
|
180
|
+
4. Tally: themes with most dots = priority
|
|
181
|
+
5. Facilitator surfaces surprising results and discusses
|
|
182
|
+
|
|
183
|
+
**Gotcha:** Pre-announce the voting rule so people budget dots. Without announcement, early themes get all the dots.
|
|
184
|
+
|
|
185
|
+
### Strategy Collection (Stakeholder Interview)
|
|
186
|
+
**Purpose:** Extract stakeholder knowledge without a formal interview.
|
|
187
|
+
|
|
188
|
+
**Questions:**
|
|
189
|
+
- What problems do you see users struggling with?
|
|
190
|
+
- What outcomes would you celebrate this year?
|
|
191
|
+
- What have we tried that didn't work? Why not?
|
|
192
|
+
- What are you afraid we'll miss?
|
|
193
|
+
- If you could change one thing, what would it be?
|
|
194
|
+
|
|
195
|
+
**Capture:** problem statements (not solutions) on stickies, tagged with source.
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Stakeholder Mapping (Pre-Workshop)
|
|
200
|
+
|
|
201
|
+
Before running the roadmap workshop, map the stakeholders who need to care about the output.
|
|
202
|
+
|
|
203
|
+
### Power / Interest Matrix
|
|
204
|
+
|
|
205
|
+
```
|
|
206
|
+
Low Interest High Interest
|
|
207
|
+
High Power KEEP SATISFIED MANAGE CLOSELY
|
|
208
|
+
Low Power MONITOR KEEP INFORMED
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
**Interpretation:**
|
|
212
|
+
- **Manage Closely** — core workshop participants; major input
|
|
213
|
+
- **Keep Satisfied** — attend read-out; review draft
|
|
214
|
+
- **Keep Informed** — receive final; no pre-input needed
|
|
215
|
+
- **Monitor** — may not need direct engagement
|
|
216
|
+
|
|
217
|
+
### RACI for the Roadmap
|
|
218
|
+
- **R**esponsible: Roadmap Owner (does the work)
|
|
219
|
+
- **A**ccountable: Owner's manager (approves final)
|
|
220
|
+
- **C**onsulted: workshop participants + key Keep-Satisfied stakeholders
|
|
221
|
+
- **I**nformed: broader audience, including customers if external-facing
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## Common Workshop Anti-Patterns
|
|
226
|
+
|
|
227
|
+
1. **Skipping inputs** — running the workshop without evidence; themes become opinion contests
|
|
228
|
+
2. **Too many people** — >12 participants slows convergence; split into parallel sessions if needed
|
|
229
|
+
3. **No facilitator neutrality** — facilitator also scoring/advocating; use a separate scorer
|
|
230
|
+
4. **Time compression** — cutting any step by >30% breaks the flow; add time to a multi-day format instead
|
|
231
|
+
5. **Premature visualization** — making it pretty before it's right
|
|
232
|
+
6. **Leadership parachute** — executive joins for 15 min and overrides; handle by briefing beforehand
|
|
233
|
+
7. **Silent pass** — a participant quietly disagrees and votes with feet later; surface with 1:1 pre-work
|
|
234
|
+
8. **Ignoring disclaimers** — not capturing risks/dependencies; they show up as surprises at delivery
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
## Post-Workshop Sharing Strategies
|
|
239
|
+
|
|
240
|
+
Match the format to the audience (see `roadmap-structures.md` for templates):
|
|
241
|
+
|
|
242
|
+
| Audience | Format | Channel | Frequency |
|
|
243
|
+
|---|---|---|---|
|
|
244
|
+
| Leadership | Executive 1-pager | Slide in exec review | Quarterly |
|
|
245
|
+
| Cross-functional stakeholders | Team-internal view | Confluence / Notion | Always-on, updated monthly |
|
|
246
|
+
| Delivery team | Product-ops view | Linear / Jira / Aha! | Per sprint |
|
|
247
|
+
| Customers (external) | Stakeholder commitment view (Now + Next only) | Public roadmap page | Quarterly refresh |
|
|
248
|
+
| Sales / CS | Team-internal view + talk track | Slack channel + monthly call | Monthly |
|
|
249
|
+
|
|
250
|
+
---
|
|
251
|
+
|
|
252
|
+
## Revisit Cadence
|
|
253
|
+
|
|
254
|
+
Once the roadmap is live, plan its re-evaluation:
|
|
255
|
+
|
|
256
|
+
| Cadence | Depth | Typical trigger |
|
|
257
|
+
|---|---|---|
|
|
258
|
+
| **Weekly** | Status sync, no changes | Standing product meeting |
|
|
259
|
+
| **Monthly** | Incremental adjustments | Delivery + new research |
|
|
260
|
+
| **Quarterly** | Full refresh, re-scoring | Planning cycle |
|
|
261
|
+
| **Annually** | Complete re-roadmap | Strategic planning |
|
|
262
|
+
| **Off-cycle** | Major shift | Incident, acquisition, strategic pivot |
|
|
263
|
+
|
|
264
|
+
**Rule:** the Roadmap Owner calls review cycles. Off-cycle updates require owner + A-level approval.
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
# Theme Development — From Raw Inputs to Roadmap Themes
|
|
2
|
+
|
|
3
|
+
How to derive roadmap themes from research, journey maps, support signals, and stakeholder inputs. The hardest part of roadmapping is making the jump from "what we know" to "what we'll work on."
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## The Theme Formula
|
|
8
|
+
|
|
9
|
+
Every theme on the roadmap reads as:
|
|
10
|
+
|
|
11
|
+
> **For [beneficiary], [need] so that [business objective].**
|
|
12
|
+
|
|
13
|
+
- **Beneficiary:** *who* gets the value (not who pays, not who decides — who experiences)
|
|
14
|
+
- **Need:** *what* problem is being solved (never *how*)
|
|
15
|
+
- **Business objective:** *why* the org cares — the measurable shift
|
|
16
|
+
|
|
17
|
+
This formula is a constraint. If the theme doesn't fit, it's either too vague or too prescriptive.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Good Theme Tests
|
|
22
|
+
|
|
23
|
+
Before finalizing a theme, check:
|
|
24
|
+
|
|
25
|
+
1. **Beneficiary test** — Can you name the beneficiary in concrete terms? ("users" fails; "first-time buyers on mobile" passes)
|
|
26
|
+
2. **Solution-agnostic test** — Does the theme stay open to multiple solutions? ("Add SSO" fails; "Meet enterprise auth requirements" passes)
|
|
27
|
+
3. **Measurable outcome test** — Can the business objective be measured? ("Improve UX" fails; "Reduce support contact rate by 20%" passes)
|
|
28
|
+
4. **Other-solution test** — Ask: "What else could solve this?" If nothing comes to mind, it's a feature in disguise.
|
|
29
|
+
5. **Beneficiary-outcome alignment test** — Does the outcome actually matter *to the beneficiary*? ("Increase engagement" often fails this — it's an org-metric, not a user-benefit)
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Source-to-Theme Mapping
|
|
34
|
+
|
|
35
|
+
Different inputs produce different kinds of themes:
|
|
36
|
+
|
|
37
|
+
### From user research (interviews, usability tests)
|
|
38
|
+
- Pain points → themes ("for [persona], reduce [friction] so that [outcome]")
|
|
39
|
+
- Unmet needs → themes ("for [persona], enable [capability] so that [outcome]")
|
|
40
|
+
- Misaligned mental models → themes ("for [persona], align [UI surface] with [expected model] so that [outcome]")
|
|
41
|
+
|
|
42
|
+
### From journey maps
|
|
43
|
+
- Opportunity columns → theme candidates
|
|
44
|
+
- Low-emotion phases → theme candidates (valley in the emotion curve)
|
|
45
|
+
- Broken channel transitions → theme candidates (esp. omnichannel)
|
|
46
|
+
- Pain points with high reach → theme candidates
|
|
47
|
+
|
|
48
|
+
### From support / CS data
|
|
49
|
+
- High-volume ticket categories → themes (reduce support contact rate)
|
|
50
|
+
- Escalation patterns → themes (prevent scenarios that require human intervention)
|
|
51
|
+
- NPS comments (negative) → themes
|
|
52
|
+
|
|
53
|
+
### From analytics
|
|
54
|
+
- High drop-off points → themes (reduce drop-off at phase X)
|
|
55
|
+
- Underused features → either theme or deprecation candidate
|
|
56
|
+
- Search queries with no results → themes (surface missing content/capabilities)
|
|
57
|
+
|
|
58
|
+
### From stakeholder interviews
|
|
59
|
+
- Strategic bets → themes (expand into segment X)
|
|
60
|
+
- Competitive gaps → themes (match table-stakes in market X)
|
|
61
|
+
- Revenue concentration → themes (reduce dependency on X)
|
|
62
|
+
- Risk/compliance → themes (meet requirement X)
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Theme Evolution Across Horizons
|
|
67
|
+
|
|
68
|
+
Themes don't stay static — they evolve as they move through the time horizons.
|
|
69
|
+
|
|
70
|
+
| Horizon | Specificity | Evidence | Notes |
|
|
71
|
+
|---|---|---|---|
|
|
72
|
+
| **Future++** | Hypothesis only | Stakeholder suggestion or weak signal | Parking lot |
|
|
73
|
+
| **Future** | Direction only | Some evidence, unvalidated | Ambiguous, will change |
|
|
74
|
+
| **Next** | Scoped theme | Research exists, opportunity validated | Solution space still open |
|
|
75
|
+
| **Now** | Near-ready | Research validated, solutions drafted | May have concrete subthemes |
|
|
76
|
+
| **Completed** | Delivered | Outcome measured | Show for context |
|
|
77
|
+
|
|
78
|
+
**Rule:** a theme should not jump from Future directly to Now without passing through Next. If it does, question whether sufficient validation happened.
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Good vs Bad Theme Examples
|
|
83
|
+
|
|
84
|
+
| Bad | Why it's bad | Good version |
|
|
85
|
+
|---|---|---|
|
|
86
|
+
| Build a new onboarding wizard | Prescribes solution, no beneficiary, no outcome | For first-time customers, reduce time-to-first-value so that trial-to-paid conversion increases |
|
|
87
|
+
| Redesign checkout | No specific user, no outcome | For returning shoppers, remove friction in checkout so that cart-abandonment drops below 20% |
|
|
88
|
+
| Improve mobile app | Too vague, no dimension | For commuter users, optimize one-handed critical flows so that mobile NPS matches desktop |
|
|
89
|
+
| Add SSO and MFA | Lists solutions; no "why" | For IT buyers, meet enterprise auth requirements so that deals over $50k don't stall on security review |
|
|
90
|
+
| Better analytics dashboard | No beneficiary, no outcome | For operations managers, surface shift-level KPIs in real time so that intervention happens within 15 min |
|
|
91
|
+
| Fix bugs in payments | Not a theme — it's a backlog item | For all paying customers, remove stability issues in payments so that involuntary churn drops |
|
|
92
|
+
| Migrate to new stack | Engineering-internal, not UX | (Not a UX roadmap theme; belongs on eng roadmap) |
|
|
93
|
+
| Delight the user | Vacuous | For long-tenure power users, surface earned capability so that retention at 12 months improves |
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Theme Anti-Patterns to Reject
|
|
98
|
+
|
|
99
|
+
1. **The feature theme** — names a specific solution ("Build X")
|
|
100
|
+
2. **The vague theme** — no beneficiary, no outcome ("Improve UX")
|
|
101
|
+
3. **The org theme** — beneficiary is the org, not the user ("Grow revenue")
|
|
102
|
+
4. **The compound theme** — tries to do 3 things ("Redesign nav AND improve search AND add filters")
|
|
103
|
+
5. **The fantasy theme** — outcome is not achievable by the work described ("Become #1 in market")
|
|
104
|
+
6. **The tautology theme** — outcome restates the need ("Reduce friction so that friction is lower")
|
|
105
|
+
7. **The internal-only theme** — no user visible impact ("Refactor backend")
|
|
106
|
+
|
|
107
|
+
Internal-only work can still appear on the roadmap but should be labeled differently (e.g., "Capabilities" or "Platform") and not framed as beneficiary-need themes.
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Subthemes
|
|
112
|
+
|
|
113
|
+
Once themes are chosen, break each into 2-5 subthemes for the "Now" horizon only. Subthemes can be:
|
|
114
|
+
|
|
115
|
+
- **Sub-goals** — milestones within the theme
|
|
116
|
+
- **Specific user segments** — if the beneficiary splits into meaningful sub-populations
|
|
117
|
+
- **Pre-validated solutions** — when research has already identified the answer
|
|
118
|
+
- **Discrete features** — when the theme is near-ready to ship
|
|
119
|
+
|
|
120
|
+
Example:
|
|
121
|
+
|
|
122
|
+
> **Theme:** For first-time customers, reduce time-to-first-value so that trial-to-paid conversion increases.
|
|
123
|
+
>
|
|
124
|
+
> **Subthemes (Now horizon):**
|
|
125
|
+
> - Replace 7-step wizard with 3-step flow (pre-validated via usability tests)
|
|
126
|
+
> - Add "skip for now" to non-essential setup steps
|
|
127
|
+
> - Move sample-data import to first use, not signup
|
|
128
|
+
> - Measure time-to-first-value via funnel instrumentation
|
|
129
|
+
|
|
130
|
+
Only "Now" themes need subthemes. "Next" themes should stay at theme-level; "Future" should stay directional.
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## Confidence Calibration
|
|
135
|
+
|
|
136
|
+
Assign confidence to every theme:
|
|
137
|
+
|
|
138
|
+
| Level | Criteria |
|
|
139
|
+
|---|---|
|
|
140
|
+
| **High** | Research validates the need; 2+ solution directions tested; team knows what to do |
|
|
141
|
+
| **Medium** | Need is supported by some research; solution space not yet explored |
|
|
142
|
+
| **Low** | Hypothesis only; may not be the right problem; needs validation |
|
|
143
|
+
|
|
144
|
+
**Distribution heuristic for a healthy roadmap:**
|
|
145
|
+
- Now: 80% high, 20% medium
|
|
146
|
+
- Next: 40% high, 40% medium, 20% low
|
|
147
|
+
- Future: 20% high, 40% medium, 40% low
|
|
148
|
+
|
|
149
|
+
If all themes at every horizon are "high confidence," the team is over-committing or mis-calibrating. If everything is "low," the team needs more research before roadmapping.
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Linking Themes to Research Sources
|
|
154
|
+
|
|
155
|
+
Every theme should have a traceable source:
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
Theme 1: For first-time customers, reduce time-to-first-value...
|
|
159
|
+
Sources:
|
|
160
|
+
- RESEARCH-interviews.md — 8/10 participants mentioned setup pain
|
|
161
|
+
- JOURNEY-MAP.md — Phase 2 emotion valley at -2
|
|
162
|
+
- Support tickets (Q1 2026) — 34% of new-user tickets about setup
|
|
163
|
+
- Analytics — 45% drop-off between signup and first workflow
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Untraceable themes = stakeholder opinions disguised as user needs. Either:
|
|
167
|
+
1. Source them, or
|
|
168
|
+
2. Mark as low-confidence hypothesis and move to Future++ pending research.
|