--- name: user-research description: Guides UX research and discovery workflows including interview planning, persona development, JTBD job stories, competitive audits, and insight synthesis. Use when planning or running user interviews, building personas or JTBD job stories, designing a competitive audit, synthesizing research data, or framing insights and How-Might-We questions for ideation. metadata: references: - references/competitive-audit-guide.md - references/interview-guide.md - references/jtbd-framework.md - references/persona-templates.md - references/synthesis-methods.md --- # User Research ## Method picker | Question | Method | Time | Output | |----------|--------|------|--------| | Why do users do X? | Interviews (5-8) | 1-2 wk | Transcripts, themes | | How does work actually happen? | Contextual inquiry | 1-3 wk | Field notes, workflows | | How many feel X? | Survey | 1-2 wk | Stats, distributions | | How do users group content? | Card sort | 3-5 d | Clusters, dendrograms | | Does the design work? | Usability test (5-8) | 1-2 wk | Task success, issues | | Behavior over time? | Diary study | 2-4 wk | Longitudinal data | | Which variant wins? | A/B test | 1-4 wk | Significance data | | What patterns at scale? | Analytics review | 1-3 d | Funnels, drop-offs | Pair one qualitative (why) with one quantitative (how many) per question. ## Quick start: persona Spend ≥ 5-8 interviews before drafting a primary persona. 1. Gather raw data (transcripts, surveys, support tickets, analytics). 2. Cluster by behavior, goals, frustrations (not demographics). 3. Draft using template below. 4. Validate with teammates who joined interviews — "does this feel like someone we talked to?" 5. Socialize: pin to Figma/Confluence; reference in every review. ### Template ``` Name: [First name + last initial] Role: [Job title or life role] Demographics: [Age range, location, tech comfort] Goals: [2-3 primary] Frustrations: [2-3 recurring] Behaviors: [Habits, tools, workflows] JTBD: [Job story] Quote: [Verbatim from research] ``` ### Example output ``` Name: Maria T. Role: PM, mid-stage B2B SaaS Demographics: 32-38, urban, high tech fluency Goals: Ship faster without sacrificing quality; align eng+design; prove ROI to leadership Frustrations: Disconnected tools; mid-sprint requirement churn; feedback synthesis at scale Behaviors: Lives in Slack/Linear; weekly user calls; async-first JTBD: When planning next quarter's roadmap, I want to quantify which user problems matter most, so I can defend prioritization to the executive team. Quote: "Gut feelings don't survive a board meeting." ``` More templates: [persona-templates.md](references/persona-templates.md). ## JTBD job story (one-line format) > "When [situation], I want to [motivation], so I can [outcome]." Write functional + emotional + social variants per job. Detail and switch-interview method: [jtbd-framework.md](references/jtbd-framework.md). ### Example HMW set (from insight "new users abandon dashboard in <15s") - HMW make the first-login dashboard feel manageable in 5 seconds? - HMW progressively reveal advanced features instead of showing all at once? - HMW use empty states to teach the product instead of showing zeros? - HMW celebrate the first completed action to anchor return visits? - HMW personalize the dashboard based on signup-time intent? ## Competitive audit (output table) For each competitor, score 1-5 across criteria: | Criterion | Acme | Globex | Initech | Notes | |-----------|:----:|:------:|:-------:|-------| | Onboarding clarity | 4 | 2 | 3 | Acme uses progressive disclosure | | Pricing transparency | 2 | 5 | 4 | Acme hides Enterprise tier | | Accessibility (axe pass) | 1 | 3 | 4 | Acme has 12 violations on hero | | Mobile experience | 4 | 2 | 3 | Globex non-responsive at <768px | Gap = criteria where ALL competitors score ≤ 2 → that's your wedge. Full criteria list, scoring rubric, and process detail: [competitive-audit-guide.md](references/competitive-audit-guide.md). ### Inter-rater check Two reviewers score independently. For any criterion where scores diverge by > 1 point, reconcile before publishing. Target: ≥ 80% within-1 agreement. ## Synthesis workflow 1. **Affinity map** — one observation per note; cluster; label theme. - **Validation:** every cluster has ≥ 3 supporting observations from ≥ 2 different participants. Singletons go to a "parking lot," not a cluster. 2. **Empathy map** per persona — Says / Thinks / Does / Feels. 3. **Insight statements** (template): > "We observed [X]. We were surprised that [Y]. Because of this, we might [Z]." 4. **HMW questions** — 3-5 per insight to seed ideation. ### Example insights (pattern) ``` 1. We observed users abandon the settings page in <15s. We were surprised that 8/10 could not find notification preferences. Because of this, we might surface notification controls in the context where notifications appear. 2. We observed users open Slack alongside our app in 7/10 sessions. We were surprised that they use Slack to copy data out manually. Because of this, we might add a native Slack export or integration. ``` Full worked examples and repository structure: [synthesis-methods.md](references/synthesis-methods.md). ## Rules - Never assume — validate every hypothesis with evidence. - Real users only — no friends/family/coworkers as participants. - Triangulate — same finding across ≥ 2 methods = high confidence. - Quote users directly when reporting. ## Next Steps - **User Journey Mapping (the `user-journey-mapping` skill)** — map end-to-end experience per persona - **Usability Evaluation (the `usability-evaluation` skill)** — evaluate designs against heuristics