diff --git a/product-team/ux-researcher-designer/SKILL.md b/product-team/ux-researcher-designer/SKILL.md index 946f95c..fd4e237 100644 --- a/product-team/ux-researcher-designer/SKILL.md +++ b/product-team/ux-researcher-designer/SKILL.md @@ -5,26 +5,410 @@ description: UX research and design toolkit for Senior UX Designer/Researcher in # UX Researcher & Designer -Comprehensive toolkit for user-centered research and experience design. +Generate user personas from research data, create journey maps, plan usability tests, and synthesize research findings into actionable design recommendations. -## Core Capabilities -- Data-driven persona generation -- Customer journey mapping -- Usability testing frameworks -- Research synthesis and insights -- Design validation methods +--- -## Key Scripts +## Table of Contents + +- [Trigger Terms](#trigger-terms) +- [Workflows](#workflows) + - [Workflow 1: Generate User Persona](#workflow-1-generate-user-persona) + - [Workflow 2: Create Journey Map](#workflow-2-create-journey-map) + - [Workflow 3: Plan Usability Test](#workflow-3-plan-usability-test) + - [Workflow 4: Synthesize Research](#workflow-4-synthesize-research) +- [Tool Reference](#tool-reference) +- [Quick Reference Tables](#quick-reference-tables) +- [Knowledge Base](#knowledge-base) + +--- + +## Trigger Terms + +Use this skill when you need to: + +- "create user persona" +- "generate persona from data" +- "build customer journey map" +- "map user journey" +- "plan usability test" +- "design usability study" +- "analyze user research" +- "synthesize interview findings" +- "identify user pain points" +- "define user archetypes" +- "calculate research sample size" +- "create empathy map" +- "identify user needs" + +--- + +## Workflows + +### Workflow 1: Generate User Persona + +**Situation:** You have user data (analytics, surveys, interviews) and need to create a research-backed persona. + +**Steps:** + +1. **Prepare user data** + + Required format (JSON): + ```json + [ + { + "user_id": "user_1", + "age": 32, + "usage_frequency": "daily", + "features_used": ["dashboard", "reports", "export"], + "primary_device": "desktop", + "usage_context": "work", + "tech_proficiency": 7, + "pain_points": ["slow loading", "confusing UI"] + } + ] + ``` + +2. **Run persona generator** + ```bash + # Human-readable output + python scripts/persona_generator.py + + # JSON output for integration + python scripts/persona_generator.py json + ``` + +3. **Review generated components** + + | Component | What to Check | + |-----------|---------------| + | Archetype | Does it match the data patterns? | + | Demographics | Are they derived from actual data? | + | Goals | Are they specific and actionable? | + | Frustrations | Do they include frequency counts? | + | Design implications | Can designers act on these? | + +4. **Validate persona** + + - Show to 3-5 real users: "Does this sound like you?" + - Cross-check with support tickets + - Verify against analytics data + +5. **Reference:** See `references/persona-methodology.md` for validity criteria + +--- + +### Workflow 2: Create Journey Map + +**Situation:** You need to visualize the end-to-end user experience for a specific goal. + +**Steps:** + +1. **Define scope** + + | Element | Description | + |---------|-------------| + | Persona | Which user type | + | Goal | What they're trying to achieve | + | Start | Trigger that begins journey | + | End | Success criteria | + | Timeframe | Hours/days/weeks | + +2. **Gather journey data** + + Sources: + - User interviews (ask "walk me through...") + - Session recordings + - Analytics (funnel, drop-offs) + - Support tickets + +3. **Map the stages** + + Typical B2B SaaS stages: + ``` + Awareness → Evaluation → Onboarding → Adoption → Advocacy + ``` + +4. **Fill in layers for each stage** + + ``` + Stage: [Name] + ├── Actions: What does user do? + ├── Touchpoints: Where do they interact? + ├── Emotions: How do they feel? (1-5) + ├── Pain Points: What frustrates them? + └── Opportunities: Where can we improve? + ``` + +5. **Identify opportunities** + + Priority Score = Frequency × Severity × Solvability + +6. **Reference:** See `references/journey-mapping-guide.md` for templates + +--- + +### Workflow 3: Plan Usability Test + +**Situation:** You need to validate a design with real users. + +**Steps:** + +1. **Define research questions** + + Transform vague goals into testable questions: + + | Vague | Testable | + |-------|----------| + | "Is it easy to use?" | "Can users complete checkout in <3 min?" | + | "Do users like it?" | "Will users choose Design A or B?" | + | "Does it make sense?" | "Can users find settings without hints?" | + +2. **Select method** + + | Method | Participants | Duration | Best For | + |--------|--------------|----------|----------| + | Moderated remote | 5-8 | 45-60 min | Deep insights | + | Unmoderated remote | 10-20 | 15-20 min | Quick validation | + | Guerrilla | 3-5 | 5-10 min | Rapid feedback | + +3. **Design tasks** + + Good task format: + ``` + SCENARIO: "Imagine you're planning a trip to Paris..." + GOAL: "Book a hotel for 3 nights in your budget." + SUCCESS: "You see the confirmation page." + ``` + + Task progression: Warm-up → Core → Secondary → Edge case → Free exploration + +4. **Define success metrics** + + | Metric | Target | + |--------|--------| + | Completion rate | >80% | + | Time on task | <2× expected | + | Error rate | <15% | + | Satisfaction | >4/5 | + +5. **Prepare moderator guide** + + - Think-aloud instructions + - Non-leading prompts + - Post-task questions + +6. **Reference:** See `references/usability-testing-frameworks.md` for full guide + +--- + +### Workflow 4: Synthesize Research + +**Situation:** You have raw research data (interviews, surveys, observations) and need actionable insights. + +**Steps:** + +1. **Code the data** + + Tag each data point: + - `[GOAL]` - What they want to achieve + - `[PAIN]` - What frustrates them + - `[BEHAVIOR]` - What they actually do + - `[CONTEXT]` - When/where they use product + - `[QUOTE]` - Direct user words + +2. **Cluster similar patterns** + + ``` + User A: Uses daily, advanced features, shortcuts + User B: Uses daily, complex workflows, automation + User C: Uses weekly, basic needs, occasional + + Cluster 1: A, B (Power Users) + Cluster 2: C (Casual User) + ``` + +3. **Calculate segment sizes** + + | Cluster | Users | % | Viability | + |---------|-------|---|-----------| + | Power Users | 18 | 36% | Primary persona | + | Business Users | 15 | 30% | Primary persona | + | Casual Users | 12 | 24% | Secondary persona | + +4. **Extract key findings** + + For each theme: + - Finding statement + - Supporting evidence (quotes, data) + - Frequency (X/Y participants) + - Business impact + - Recommendation + +5. **Prioritize opportunities** + + | Factor | Score 1-5 | + |--------|-----------| + | Frequency | How often does this occur? | + | Severity | How much does it hurt? | + | Breadth | How many users affected? | + | Solvability | Can we fix this? | + +6. **Reference:** See `references/persona-methodology.md` for analysis framework + +--- + +## Tool Reference ### persona_generator.py -Creates research-backed personas from user data and interviews. -**Usage**: `python scripts/persona_generator.py [json]` +Generates data-driven personas from user research data. -**Features**: -- Analyzes user behavior patterns -- Identifies persona archetypes -- Extracts psychographics -- Generates scenarios -- Provides design implications -- Confidence scoring based on sample size +| Argument | Values | Default | Description | +|----------|--------|---------|-------------| +| format | (none), json | (none) | Output format | + +**Sample Output:** + +``` +============================================================ +PERSONA: Alex the Power User +============================================================ + +📝 A daily user who primarily uses the product for work purposes + +Archetype: Power User +Quote: "I need tools that can keep up with my workflow" + +👤 Demographics: + • Age Range: 25-34 + • Location Type: Urban + • Tech Proficiency: Advanced + +🎯 Goals & Needs: + • Complete tasks efficiently + • Automate workflows + • Access advanced features + +😤 Frustrations: + • Slow loading times (14/20 users) + • No keyboard shortcuts + • Limited API access + +💡 Design Implications: + → Optimize for speed and efficiency + → Provide keyboard shortcuts and power features + → Expose API and automation capabilities + +📈 Data: Based on 45 users + Confidence: High +``` + +**Archetypes Generated:** + +| Archetype | Signals | Design Focus | +|-----------|---------|--------------| +| power_user | Daily use, 10+ features | Efficiency, customization | +| casual_user | Weekly use, 3-5 features | Simplicity, guidance | +| business_user | Work context, team use | Collaboration, reporting | +| mobile_first | Mobile primary | Touch, offline, speed | + +**Output Components:** + +| Component | Description | +|-----------|-------------| +| demographics | Age range, location, occupation, tech level | +| psychographics | Motivations, values, attitudes, lifestyle | +| behaviors | Usage patterns, feature preferences | +| needs_and_goals | Primary, secondary, functional, emotional | +| frustrations | Pain points with evidence | +| scenarios | Contextual usage stories | +| design_implications | Actionable recommendations | +| data_points | Sample size, confidence level | + +--- + +## Quick Reference Tables + +### Research Method Selection + +| Question Type | Best Method | Sample Size | +|---------------|-------------|-------------| +| "What do users do?" | Analytics, observation | 100+ events | +| "Why do they do it?" | Interviews | 8-15 users | +| "How well can they do it?" | Usability test | 5-8 users | +| "What do they prefer?" | Survey, A/B test | 50+ users | +| "What do they feel?" | Diary study, interviews | 10-15 users | + +### Persona Confidence Levels + +| Sample Size | Confidence | Use Case | +|-------------|------------|----------| +| 5-10 users | Low | Exploratory | +| 11-30 users | Medium | Directional | +| 31+ users | High | Production | + +### Usability Issue Severity + +| Severity | Definition | Action | +|----------|------------|--------| +| 4 - Critical | Prevents task completion | Fix immediately | +| 3 - Major | Significant difficulty | Fix before release | +| 2 - Minor | Causes hesitation | Fix when possible | +| 1 - Cosmetic | Noticed but not problematic | Low priority | + +### Interview Question Types + +| Type | Example | Use For | +|------|---------|---------| +| Context | "Walk me through your typical day" | Understanding environment | +| Behavior | "Show me how you do X" | Observing actual actions | +| Goals | "What are you trying to achieve?" | Uncovering motivations | +| Pain | "What's the hardest part?" | Identifying frustrations | +| Reflection | "What would you change?" | Generating ideas | + +--- + +## Knowledge Base + +Detailed reference guides in `references/`: + +| File | Content | +|------|---------| +| `persona-methodology.md` | Validity criteria, data collection, analysis framework | +| `journey-mapping-guide.md` | Mapping process, templates, opportunity identification | +| `example-personas.md` | 3 complete persona examples with data | +| `usability-testing-frameworks.md` | Test planning, task design, analysis | + +--- + +## Validation Checklist + +### Persona Quality +- [ ] Based on 20+ users (minimum) +- [ ] At least 2 data sources (quant + qual) +- [ ] Specific, actionable goals +- [ ] Frustrations include frequency counts +- [ ] Design implications are specific +- [ ] Confidence level stated + +### Journey Map Quality +- [ ] Scope clearly defined (persona, goal, timeframe) +- [ ] Based on real user data, not assumptions +- [ ] All layers filled (actions, touchpoints, emotions) +- [ ] Pain points identified per stage +- [ ] Opportunities prioritized + +### Usability Test Quality +- [ ] Research questions are testable +- [ ] Tasks are realistic scenarios, not instructions +- [ ] 5+ participants per design +- [ ] Success metrics defined +- [ ] Findings include severity ratings + +### Research Synthesis Quality +- [ ] Data coded consistently +- [ ] Patterns based on 3+ data points +- [ ] Findings include evidence +- [ ] Recommendations are actionable +- [ ] Priorities justified diff --git a/product-team/ux-researcher-designer/references/example-personas.md b/product-team/ux-researcher-designer/references/example-personas.md new file mode 100644 index 0000000..594c939 --- /dev/null +++ b/product-team/ux-researcher-designer/references/example-personas.md @@ -0,0 +1,411 @@ +# Example Personas + +Real output examples showing what good personas look like. + +--- + +## Table of Contents + +- [Example 1: Power User Persona](#example-1-power-user-persona) +- [Example 2: Business User Persona](#example-2-business-user-persona) +- [Example 3: Casual User Persona](#example-3-casual-user-persona) +- [JSON Output Format](#json-output-format) +- [Quality Checklist](#quality-checklist) + +--- + +## Example 1: Power User Persona + +### Script Output + +``` +============================================================ +PERSONA: Alex the Power User +============================================================ + +📝 A daily user who primarily uses the product for work purposes + +Archetype: Power User +Quote: "I need tools that can keep up with my workflow" + +👤 Demographics: + • Age Range: 25-34 + • Location Type: Urban + • Occupation Category: Software Engineer + • Education Level: Bachelor's degree + • Tech Proficiency: Advanced + +🧠 Psychographics: + Motivations: Efficiency, Control, Mastery + Values: Time-saving, Flexibility, Reliability + Lifestyle: Fast-paced, optimization-focused + +🎯 Goals & Needs: + • Complete tasks efficiently without repetitive work + • Automate recurring workflows + • Access advanced features and shortcuts + +😤 Frustrations: + • Slow loading times (mentioned by 14/20 users) + • No keyboard shortcuts for common actions + • Limited API access for automation + +📊 Behaviors: + • Frequently uses: Dashboard, Reports, Export, API + • Usage pattern: 5+ sessions per day + • Interaction style: Exploratory - uses many features + +💡 Design Implications: + → Optimize for speed and efficiency + → Provide keyboard shortcuts and power features + → Expose API and automation capabilities + → Allow UI customization + +📈 Data: Based on 45 users + Confidence: High + Method: Quantitative analysis + 12 qualitative interviews +``` + +### Data Behind This Persona + +**Quantitative Data (n=45):** +- 78% use product daily +- Average session: 23 minutes +- Average features used: 12 +- 84% access via desktop +- Support tickets: 0.2 per month (low) + +**Qualitative Insights (12 interviews):** + +| Theme | Frequency | Sample Quote | +|-------|-----------|--------------| +| Speed matters | 10/12 | "Every second counts when I'm in flow" | +| Shortcuts wanted | 8/12 | "Why can't I Cmd+K to search?" | +| Automation need | 9/12 | "I wrote a script to work around..." | +| Customization | 7/12 | "Let me hide features I don't use" | + +--- + +## Example 2: Business User Persona + +### Script Output + +``` +============================================================ +PERSONA: Taylor the Business Professional +============================================================ + +📝 A weekly user who primarily uses the product for team collaboration + +Archetype: Business User +Quote: "I need to show clear value to my stakeholders" + +👤 Demographics: + • Age Range: 35-44 + • Location Type: Urban/Suburban + • Occupation Category: Product Manager + • Education Level: MBA + • Tech Proficiency: Intermediate + +🧠 Psychographics: + Motivations: Team success, Visibility, Recognition + Values: Collaboration, Measurable outcomes, Professional growth + Lifestyle: Meeting-heavy, cross-functional work + +🎯 Goals & Needs: + • Improve team efficiency and coordination + • Generate reports for stakeholders + • Integrate with existing work tools (Slack, Jira) + +😤 Frustrations: + • No way to share views with team (11/18 users) + • Can't generate executive summaries + • No SSO - team has to manage passwords + +📊 Behaviors: + • Frequently uses: Sharing, Reports, Team Dashboard + • Usage pattern: 3-4 sessions per week + • Interaction style: Goal-oriented, feature-specific + +💡 Design Implications: + → Add collaboration and sharing features + → Build executive reporting and dashboards + → Integrate with enterprise tools (SSO, Slack) + → Provide permission and access controls + +📈 Data: Based on 38 users + Confidence: High + Method: Survey (n=200) + 18 interviews +``` + +### Data Behind This Persona + +**Survey Data (n=200):** +- 19% of total user base fits this profile +- Average company size: 50-500 employees +- 72% need to share outputs with non-users +- Top request: Team collaboration features + +**Interview Insights (18 interviews):** + +| Need | Frequency | Business Impact | +|------|-----------|-----------------| +| Reporting | 16/18 | "I spend 2hrs/week making slides" | +| Team access | 14/18 | "Can't show my team what I see" | +| Integration | 12/18 | "Copy-paste into Confluence..." | +| SSO | 11/18 | "IT won't approve without SSO" | + +### Scenario: Quarterly Review Prep + +``` +Context: End of quarter, needs to present metrics to leadership +Goal: Create compelling data story in 30 minutes +Current Journey: + 1. Export raw data (works) + 2. Open Excel, make charts (manual) + 3. Copy to PowerPoint (manual) + 4. Share with team for feedback (via email) + +Pain Points: + • No built-in presentation view + • Charts don't match brand guidelines + • Can't collaborate on narrative + +Opportunity: + • One-click executive summary + • Brand-compliant templates + • In-app commenting on reports +``` + +--- + +## Example 3: Casual User Persona + +### Script Output + +``` +============================================================ +PERSONA: Casey the Casual User +============================================================ + +📝 A monthly user who uses the product for occasional personal tasks + +Archetype: Casual User +Quote: "I just want it to work without having to think about it" + +👤 Demographics: + • Age Range: 25-44 + • Location Type: Mixed + • Occupation Category: Various + • Education Level: Bachelor's degree + • Tech Proficiency: Beginner-Intermediate + +🧠 Psychographics: + Motivations: Task completion, Simplicity + Values: Ease of use, Quick results + Lifestyle: Busy, product is means to end + +🎯 Goals & Needs: + • Complete specific task quickly + • Minimal learning curve + • Don't have to remember how it works between uses + +😤 Frustrations: + • Too many options, don't know where to start (18/25) + • Forgot how to do X since last time (15/25) + • Feels like it's designed for experts (12/25) + +📊 Behaviors: + • Frequently uses: 2-3 core features only + • Usage pattern: 1-2 sessions per month + • Interaction style: Focused - uses minimal features + +💡 Design Implications: + → Simplify onboarding and main navigation + → Provide contextual help and reminders + → Don't require memorization between sessions + → Progressive disclosure - hide advanced features + +📈 Data: Based on 52 users + Confidence: High + Method: Analytics analysis + 25 intercept interviews +``` + +### Data Behind This Persona + +**Analytics Data (n=1,200 casual segment):** +- 65% of users are casual (< 1 session/week) +- Average features used: 2.3 +- Return rate after 30 days: 34% +- Session duration: 4.2 minutes + +**Intercept Interview Insights (25 quick interviews):** + +| Quote | Count | Implication | +|-------|-------|-------------| +| "Where's the thing I used last time?" | 18 | Need breadcrumbs/history | +| "There's so much here" | 15 | Simplify main view | +| "I only need to do X" | 22 | Surface common tasks | +| "Is there a tutorial?" | 11 | Better help system | + +### Journey: Infrequent Task Completion + +``` +Stage 1: Return After Absence + Action: Opens app, doesn't recognize interface + Emotion: 😕 Confused + Thought: "This looks different, where do I start?" + +Stage 2: Feature Hunt + Action: Clicks around looking for needed feature + Emotion: 😕 Frustrated + Thought: "I know I did this before..." + +Stage 3: Discovery + Action: Finds feature (or gives up) + Emotion: 😐 Relief or 😠 Abandonment + Thought: "Finally!" or "I'll try something else" + +Stage 4: Task Completion + Action: Uses feature, accomplishes goal + Emotion: 🙂 Satisfied + Thought: "That worked, hope I remember next time" +``` + +--- + +## JSON Output Format + +### persona_generator.py JSON Output + +```json +{ + "name": "Alex the Power User", + "archetype": "power_user", + "tagline": "A daily user who primarily uses the product for work purposes", + "demographics": { + "age_range": "25-34", + "location_type": "urban", + "occupation_category": "Software Engineer", + "education_level": "Bachelor's degree", + "tech_proficiency": "Advanced" + }, + "psychographics": { + "motivations": ["Efficiency", "Control", "Mastery"], + "values": ["Time-saving", "Flexibility", "Reliability"], + "attitudes": ["Early adopter", "Optimization-focused"], + "lifestyle": "Fast-paced, tech-forward" + }, + "behaviors": { + "usage_patterns": ["daily: 45 users", "weekly: 8 users"], + "feature_preferences": ["dashboard", "reports", "export", "api"], + "interaction_style": "Exploratory - uses many features", + "learning_preference": "Self-directed, documentation" + }, + "needs_and_goals": { + "primary_goals": [ + "Complete tasks efficiently", + "Automate workflows" + ], + "secondary_goals": [ + "Customize workspace", + "Integrate with other tools" + ], + "functional_needs": [ + "Speed and performance", + "Keyboard shortcuts", + "API access" + ], + "emotional_needs": [ + "Feel in control", + "Feel productive", + "Feel like an expert" + ] + }, + "frustrations": [ + "Slow loading times", + "No keyboard shortcuts", + "Limited API access", + "Can't customize dashboard", + "No batch operations" + ], + "scenarios": [ + { + "title": "Bulk Processing", + "context": "Monday morning, needs to process week's data", + "goal": "Complete batch operations quickly", + "steps": ["Import data", "Apply bulk actions", "Export results"], + "pain_points": ["No keyboard shortcuts", "Slow processing"] + } + ], + "quote": "I need tools that can keep up with my workflow", + "data_points": { + "sample_size": 45, + "confidence_level": "High", + "last_updated": "2024-01-15", + "validation_method": "Quantitative analysis + Qualitative interviews" + }, + "design_implications": [ + "Optimize for speed and efficiency", + "Provide keyboard shortcuts and power features", + "Expose API and automation capabilities", + "Allow UI customization", + "Support bulk operations" + ] +} +``` + +### Using JSON Output + +```bash +# Generate JSON for integration +python scripts/persona_generator.py json > persona_power_user.json + +# Use with other tools +cat persona_power_user.json | jq '.design_implications' +``` + +--- + +## Quality Checklist + +### What Makes a Good Persona + +| Criterion | Bad Example | Good Example | +|-----------|-------------|--------------| +| **Specificity** | "Wants to be productive" | "Needs to process 50+ items daily" | +| **Evidence** | "Users want simplicity" | "18/25 users said 'too many options'" | +| **Actionable** | "Likes easy things" | "Hide advanced features by default" | +| **Memorable** | Generic descriptions | Distinctive quote and archetype | +| **Validated** | Team assumptions | User interviews + analytics | + +### Persona Quality Rubric + +| Element | Points | Criteria | +|---------|--------|----------| +| Data-backed demographics | /5 | From real user data | +| Specific goals | /5 | Actionable, measurable | +| Evidenced frustrations | /5 | With frequency counts | +| Design implications | /5 | Directly usable by designers | +| Authentic quote | /5 | From actual user | +| Confidence stated | /5 | Sample size and method | + +**Score:** +- 25-30: Production-ready persona +- 18-24: Needs refinement +- Below 18: Requires more research + +### Red Flags in Persona Output + +| Red Flag | What It Means | +|----------|---------------| +| No sample size | Ungrounded assumptions | +| Generic frustrations | Didn't do user research | +| All positive | Missing real pain points | +| No quotes | No qualitative research | +| Contradicting behaviors | Forced archetype | +| "Everyone" language | Too broad to be useful | + +--- + +*See also: `persona-methodology.md` for creation process* diff --git a/product-team/ux-researcher-designer/references/journey-mapping-guide.md b/product-team/ux-researcher-designer/references/journey-mapping-guide.md new file mode 100644 index 0000000..d415156 --- /dev/null +++ b/product-team/ux-researcher-designer/references/journey-mapping-guide.md @@ -0,0 +1,497 @@ +# Journey Mapping Guide + +Step-by-step reference for creating user journey maps that drive design decisions. + +--- + +## Table of Contents + +- [Journey Map Fundamentals](#journey-map-fundamentals) +- [Mapping Process](#mapping-process) +- [Journey Stages](#journey-stages) +- [Touchpoint Analysis](#touchpoint-analysis) +- [Emotion Mapping](#emotion-mapping) +- [Opportunity Identification](#opportunity-identification) +- [Templates](#templates) + +--- + +## Journey Map Fundamentals + +### What Is a Journey Map? + +A journey map visualizes the end-to-end experience a user has while trying to accomplish a goal with your product or service. + +``` +┌─────────────────────────────────────────────────────────────┐ +│ JOURNEY MAP STRUCTURE │ +├─────────────────────────────────────────────────────────────┤ +│ │ +│ STAGES: Awareness → Consideration → Acquisition → │ +│ Onboarding → Regular Use → Advocacy │ +│ │ +│ LAYERS: ┌─────────────────────────────────────────┐ │ +│ │ Actions: What user does │ │ +│ ├─────────────────────────────────────────┤ │ +│ │ Touchpoints: Where interaction happens │ │ +│ ├─────────────────────────────────────────┤ │ +│ │ Emotions: How user feels │ │ +│ ├─────────────────────────────────────────┤ │ +│ │ Pain Points: What frustrates │ │ +│ ├─────────────────────────────────────────┤ │ +│ │ Opportunities: Where to improve │ │ +│ └─────────────────────────────────────────┘ │ +│ │ +└─────────────────────────────────────────────────────────────┘ +``` + +### Journey Map Types + +| Type | Focus | Best For | +|------|-------|----------| +| Current State | How things are today | Identifying pain points | +| Future State | Ideal experience | Design vision | +| Day-in-the-Life | Beyond your product | Context understanding | +| Service Blueprint | Backend processes | Operations alignment | + +### When to Create Journey Maps + +| Scenario | Map Type | Outcome | +|----------|----------|---------| +| New product | Future state | Design direction | +| Redesign | Current + Future | Gap analysis | +| Churn investigation | Current state | Pain point diagnosis | +| Cross-team alignment | Service blueprint | Process optimization | + +--- + +## Mapping Process + +### Step 1: Define Scope + +**Questions to Answer:** +- Which persona is this journey for? +- What goal are they trying to achieve? +- Where does the journey start and end? +- What timeframe does it cover? + +**Scope Template:** +``` +Persona: [Name from persona library] +Goal: [Specific outcome they want] +Start: [Trigger that begins journey] +End: [Success criteria or exit point] +Timeframe: [Hours/Days/Weeks] +``` + +**Example:** +``` +Persona: Alex the Power User +Goal: Set up automated weekly reports +Start: Realizes manual reporting is unsustainable +End: First automated report runs successfully +Timeframe: 1-2 days +``` + +### Step 2: Gather Data + +**Data Sources for Journey Mapping:** + +| Source | Insights Gained | +|--------|-----------------| +| User interviews | Actions, emotions, quotes | +| Session recordings | Actual behavior patterns | +| Support tickets | Common pain points | +| Analytics | Drop-off points, time spent | +| Surveys | Satisfaction at stages | + +**Interview Questions for Journey Mapping:** + +1. "Walk me through how you first discovered [product]" +2. "What made you decide to try it?" +3. "Describe your first day using it" +4. "What was the hardest part?" +5. "When did you feel confident using it?" +6. "What would you change about that experience?" + +### Step 3: Map the Stages + +**Identify Natural Breakpoints:** + +Look for moments where: +- User's mindset changes +- Channels shift (web → app → email) +- Time passes (hours, days) +- Goals evolve + +**Stage Validation:** + +Each stage should have: +- Clear entry criteria +- Distinct user actions +- Measurable outcomes +- Exit to next stage + +### Step 4: Fill in Layers + +For each stage, document: + +1. **Actions**: What does the user do? +2. **Touchpoints**: Where do they interact? +3. **Thoughts**: What are they thinking? +4. **Emotions**: How do they feel? +5. **Pain Points**: What's frustrating? +6. **Opportunities**: Where can we improve? + +### Step 5: Validate and Iterate + +**Validation Methods:** + +| Method | Effort | Confidence | +|--------|--------|------------| +| Team review | Low | Medium | +| User walkthrough | Medium | High | +| Data correlation | Medium | High | +| A/B test interventions | High | Very High | + +--- + +## Journey Stages + +### Common B2B SaaS Stages + +``` +┌────────────┬────────────┬────────────┬────────────┬────────────┐ +│ AWARENESS │ EVALUATION │ ONBOARDING │ ADOPTION │ ADVOCACY │ +├────────────┼────────────┼────────────┼────────────┼────────────┤ +│ Discovers │ Compares │ Signs up │ Regular │ Recommends │ +│ problem │ solutions │ Sets up │ usage │ to others │ +│ exists │ │ First win │ Integrates │ │ +└────────────┴────────────┴────────────┴────────────┴────────────┘ +``` + +### Stage Detail Template + +**Stage: Onboarding** + +| Element | Description | +|---------|-------------| +| Goal | Complete setup, achieve first success | +| Duration | 1-7 days | +| Entry | User creates account | +| Exit | First meaningful action completed | +| Success Metric | Activation rate | + +**Substages:** +1. Account creation +2. Profile setup +3. First feature use +4. Integration (if applicable) +5. First value moment + +### B2C vs. B2B Stages + +| B2C Stages | B2B Stages | +|------------|------------| +| Discover | Awareness | +| Browse | Evaluation | +| Purchase | Procurement | +| Use | Implementation | +| Return/Loyalty | Renewal | + +--- + +## Touchpoint Analysis + +### Touchpoint Categories + +| Category | Examples | Owner | +|----------|----------|-------| +| Marketing | Ads, content, social | Marketing | +| Sales | Demos, calls, proposals | Sales | +| Product | App, features, UI | Product | +| Support | Help center, chat, tickets | Support | +| Transactional | Emails, notifications | Varies | + +### Touchpoint Mapping Template + +``` +Stage: [Name] +Touchpoint: [Where interaction happens] +Channel: [Web/Mobile/Email/Phone/In-person] +Action: [What user does] +Owner: [Team responsible] +Current Experience: [1-5 rating] +Improvement Priority: [High/Medium/Low] +``` + +### Cross-Channel Consistency + +**Check for:** +- Information consistency across channels +- Seamless handoffs (web → mobile) +- Context preservation (user doesn't repeat info) +- Brand voice alignment + +**Red Flags:** +- User has to re-enter information +- Different answers from different channels +- Can't continue task on different device +- Inconsistent terminology + +--- + +## Emotion Mapping + +### Emotion Scale + +``` + POSITIVE + │ + Delighted ────┤──── 😄 5 + Pleased ────┤──── 🙂 4 + Neutral ────┤──── 😐 3 + Frustrated ────┤──── 😕 2 + Angry ────┤──── 😠 1 + │ + NEGATIVE +``` + +### Emotional Triggers + +| Trigger | Positive Emotion | Negative Emotion | +|---------|------------------|------------------| +| Speed | Delight | Frustration | +| Clarity | Confidence | Confusion | +| Control | Empowerment | Helplessness | +| Progress | Satisfaction | Anxiety | +| Recognition | Validation | Neglect | + +### Emotion Data Sources + +**Direct Signals:** +- Interview quotes: "I felt so relieved when..." +- Survey scores: NPS, CSAT, CES +- Support sentiment: Angry vs. grateful tickets + +**Inferred Signals:** +- Rage clicks (frustration) +- Quick completion (satisfaction) +- Abandonment (frustration or confusion) +- Return visits (interest or necessity) + +### Emotion Curve Patterns + +**The Valley of Death:** +``` +😄 ─┐ + │ ╱ + │ ╱ +😐 ─│───╱──────── + │╲ ╱ + │ ╳ ← Critical drop-off point +😠 ─│╱ ╲───────── + │ + Onboarding First Use Regular +``` + +**The Aha Moment:** +``` +😄 ─┐ ╱── + │ ╱ + │ ╱ +😐 ─│──────╱────── ← Before: neutral + │ ↑ +😠 ─│ Aha! + │ + Stage 1 Stage 2 Stage 3 +``` + +--- + +## Opportunity Identification + +### Pain Point Prioritization + +| Factor | Score (1-5) | +|--------|-------------| +| Frequency | How often does this occur? | +| Severity | How much does it hurt? | +| Breadth | How many users affected? | +| Solvability | Can we fix this? | + +**Priority Score = (Frequency + Severity + Breadth) × Solvability** + +### Opportunity Types + +| Type | Description | Example | +|------|-------------|---------| +| Friction Reduction | Remove obstacles | Fewer form fields | +| Moment of Delight | Exceed expectations | Personalized welcome | +| Channel Addition | New touchpoint | Mobile app for on-the-go | +| Proactive Support | Anticipate needs | Tutorial at right moment | +| Personalization | Tailored experience | Role-based onboarding | + +### Opportunity Canvas + +``` +┌─────────────────────────────────────────────────────────────┐ +│ OPPORTUNITY: [Name] │ +├─────────────────────────────────────────────────────────────┤ +│ Stage: [Where in journey] │ +│ Current Pain: [What's broken] │ +│ Desired Outcome: [What should happen] │ +│ Proposed Solution: [How to fix] │ +│ Success Metric: [How to measure] │ +│ Effort: [High/Medium/Low] │ +│ Impact: [High/Medium/Low] │ +│ Priority: [Calculated] │ +└─────────────────────────────────────────────────────────────┘ +``` + +### Quick Wins vs. Strategic Bets + +| Criteria | Quick Win | Strategic Bet | +|----------|-----------|---------------| +| Effort | Low | High | +| Impact | Medium | High | +| Timeline | Weeks | Quarters | +| Risk | Low | Medium-High | +| Requires | Small team | Cross-functional | + +--- + +## Templates + +### Basic Journey Map Template + +``` +PERSONA: _______________ +GOAL: _______________ + +┌──────────┬──────────┬──────────┬──────────┬──────────┐ +│ STAGE 1 │ STAGE 2 │ STAGE 3 │ STAGE 4 │ STAGE 5 │ +├──────────┼──────────┼──────────┼──────────┼──────────┤ +│ Actions │ │ │ │ │ +│ │ │ │ │ │ +├──────────┼──────────┼──────────┼──────────┼──────────┤ +│ Touch- │ │ │ │ │ +│ points │ │ │ │ │ +├──────────┼──────────┼──────────┼──────────┼──────────┤ +│ Emotions │ │ │ │ │ +│ (1-5) │ │ │ │ │ +├──────────┼──────────┼──────────┼──────────┼──────────┤ +│ Pain │ │ │ │ │ +│ Points │ │ │ │ │ +├──────────┼──────────┼──────────┼──────────┼──────────┤ +│ Opport- │ │ │ │ │ +│ unities │ │ │ │ │ +└──────────┴──────────┴──────────┴──────────┴──────────┘ +``` + +### Detailed Stage Template + +``` +STAGE: _______________ +DURATION: _______________ +ENTRY CRITERIA: _______________ +EXIT CRITERIA: _______________ + +USER ACTIONS: +1. _______________ +2. _______________ +3. _______________ + +TOUCHPOINTS: +• Channel: _____ | Owner: _____ +• Channel: _____ | Owner: _____ + +THOUGHTS: +"_______________" +"_______________" + +EMOTIONAL STATE: [1-5] ___ + +PAIN POINTS: +• _______________ +• _______________ + +OPPORTUNITIES: +• _______________ +• _______________ + +METRICS: +• Completion rate: ___% +• Time spent: ___ +• Drop-off: ___% +``` + +### Service Blueprint Extension + +Add backstage layers: + +``` +┌─────────────────────────────────────────────────────────────┐ +│ FRONTSTAGE (User sees) │ +├─────────────────────────────────────────────────────────────┤ +│ User actions, touchpoints, emotions │ +├─────────────────────────────────────────────────────────────┤ +│ LINE OF VISIBILITY │ +├─────────────────────────────────────────────────────────────┤ +│ BACKSTAGE (User doesn't see) │ +├─────────────────────────────────────────────────────────────┤ +│ • Employee actions │ +│ • Systems/tools used │ +│ • Data flows │ +├─────────────────────────────────────────────────────────────┤ +│ SUPPORT PROCESSES │ +├─────────────────────────────────────────────────────────────┤ +│ • Backend systems │ +│ • Third-party integrations │ +│ • Policies/procedures │ +└─────────────────────────────────────────────────────────────┘ +``` + +--- + +## Quick Reference + +### Journey Mapping Checklist + +**Preparation:** +- [ ] Persona selected +- [ ] Goal defined +- [ ] Scope bounded +- [ ] Data gathered (interviews, analytics) + +**Mapping:** +- [ ] Stages identified +- [ ] Actions documented +- [ ] Touchpoints mapped +- [ ] Emotions captured +- [ ] Pain points identified + +**Analysis:** +- [ ] Opportunities prioritized +- [ ] Quick wins identified +- [ ] Strategic bets proposed +- [ ] Metrics defined + +**Validation:** +- [ ] Team reviewed +- [ ] User validated +- [ ] Data correlated + +### Common Mistakes + +| Mistake | Impact | Fix | +|---------|--------|-----| +| Too many stages | Overwhelming | Limit to 5-7 | +| No data | Assumptions | Interview users | +| Single session | Bias | Multiple sources | +| No emotions | Misses human element | Add feeling layer | +| No follow-through | Wasted effort | Create action plan | + +--- + +*See also: `persona-methodology.md` for persona creation* diff --git a/product-team/ux-researcher-designer/references/persona-methodology.md b/product-team/ux-researcher-designer/references/persona-methodology.md new file mode 100644 index 0000000..7befd2a --- /dev/null +++ b/product-team/ux-researcher-designer/references/persona-methodology.md @@ -0,0 +1,387 @@ +# Persona Methodology Guide + +Reference for creating research-backed, data-driven user personas. + +--- + +## Table of Contents + +- [What Makes a Valid Persona](#what-makes-a-valid-persona) +- [Data Collection Methods](#data-collection-methods) +- [Analysis Framework](#analysis-framework) +- [Persona Components](#persona-components) +- [Validation Criteria](#validation-criteria) +- [Anti-Patterns](#anti-patterns) + +--- + +## What Makes a Valid Persona + +### Research-Backed vs. Assumption-Based + +``` +┌─────────────────────────────────────────────────────────────┐ +│ PERSONA VALIDITY SPECTRUM │ +├─────────────────────────────────────────────────────────────┤ +│ │ +│ ASSUMPTION-BASED HYBRID RESEARCH-BACKED │ +│ │───────────────────────────────────────────────────────│ │ +│ ❌ Invalid ⚠️ Limited ✅ Valid │ +│ │ +│ • "Our users are..." • Some interviews • 20+ users │ +│ • No data • 5-10 data points • Quant + Qual │ +│ • Team opinions • Partial patterns • Validated │ +│ │ +└─────────────────────────────────────────────────────────────┘ +``` + +### Minimum Viability Requirements + +| Requirement | Threshold | Confidence Level | +|-------------|-----------|------------------| +| Sample size | 5 users | Low (exploratory) | +| Sample size | 20 users | Medium (directional) | +| Sample size | 50+ users | High (reliable) | +| Data types | 2+ sources | Required | +| Interview depth | 30+ min | Recommended | +| Behavioral data | 1 week+ | Recommended | + +### The Persona Validity Test + +A valid persona must pass these checks: + +1. **Grounded in Data** + - Can you point to specific user quotes? + - Can you show behavioral data supporting claims? + - Are demographics from actual user profiles? + +2. **Represents a Segment** + - Does this persona represent 15%+ of your user base? + - Are there other users who fit this pattern? + - Is it a real cluster, not an outlier? + +3. **Actionable for Design** + - Can designers make decisions from this persona? + - Does it reveal unmet needs? + - Does it clarify feature priorities? + +--- + +## Data Collection Methods + +### Quantitative Sources + +| Source | Data Type | Use For | +|--------|-----------|---------| +| Analytics | Behavior | Usage patterns, feature adoption | +| Surveys | Demographics, preferences | Segmentation, satisfaction | +| Support tickets | Pain points | Frustration patterns | +| Product logs | Actions | Feature usage, workflows | +| CRM data | Profile | Job roles, company size | + +### Qualitative Sources + +| Source | Data Type | Use For | +|--------|-----------|---------| +| User interviews | Motivations, goals | Deep understanding | +| Contextual inquiry | Environment | Real-world context | +| Diary studies | Longitudinal | Behavior over time | +| Usability tests | Pain points | Specific frustrations | +| Customer calls | Quotes | Authentic voice | + +### Data Collection Matrix + +``` + QUICK DEEP + (1-2 weeks) (4+ weeks) + │ │ + ┌─────────┼──────────────────┼─────────┐ + QUANT │ Survey │ │ Product │ + │ + CRM │ │ Logs + │ + │ │ │ A/B │ + ├─────────┼──────────────────┼─────────┤ + QUAL │ 5 │ │ 15+ │ + │ Quick │ │ Deep │ + │ Calls │ │ Inter- │ + │ │ │ views │ + └─────────┴──────────────────┴─────────┘ +``` + +### Interview Protocol + +**Pre-Interview:** +- Review user's analytics data +- Note usage patterns to explore +- Prepare open-ended questions + +**Interview Structure (45-60 min):** + +1. **Context (10 min)** + - "Walk me through your typical day" + - "When do you use [product]?" + - "What were you doing before you found us?" + +2. **Behaviors (15 min)** + - "Show me how you use [feature]" + - "What do you do when [scenario]?" + - "What's your workaround for [pain point]?" + +3. **Goals & Frustrations (15 min)** + - "What are you ultimately trying to achieve?" + - "What's the hardest part about [task]?" + - "If you had a magic wand, what would you change?" + +4. **Reflection (10 min)** + - "What would make you recommend us?" + - "What almost made you quit?" + - "What's missing that you need?" + +--- + +## Analysis Framework + +### Pattern Identification + +**Step 1: Code Data Points** + +Tag each insight with: +- `[GOAL]` - What they want to achieve +- `[PAIN]` - What frustrates them +- `[BEHAVIOR]` - What they actually do +- `[CONTEXT]` - When/where they use product +- `[QUOTE]` - Direct user words + +**Step 2: Cluster Similar Patterns** + +``` +User A: Uses daily, advanced features, keyboard shortcuts +User B: Uses daily, complex workflows, automation +User C: Uses weekly, basic needs, occasional +User D: Uses daily, power features, API access + +Cluster 1: A, B, D (Power Users - daily, advanced) +Cluster 2: C (Casual User - weekly, basic) +``` + +**Step 3: Calculate Cluster Size** + +| Cluster | Users | % of Sample | Viability | +|---------|-------|-------------|-----------| +| Power Users | 18 | 36% | Primary persona | +| Business Users | 15 | 30% | Primary persona | +| Casual Users | 12 | 24% | Secondary persona | +| Mobile-First | 5 | 10% | Consider merging | + +### Archetype Classification + +| Archetype | Identifying Signals | Design Focus | +|-----------|--------------------| -------------| +| Power User | Daily use, 10+ features, shortcuts | Efficiency, customization | +| Casual User | Weekly use, 3-5 features, simple | Simplicity, guidance | +| Business User | Work context, team features, ROI | Collaboration, reporting | +| Mobile-First | Mobile primary, quick actions | Touch, offline, speed | + +### Confidence Scoring + +Calculate confidence based on data quality: + +``` +Confidence = (Sample Size Score + Data Quality Score + Consistency Score) / 3 + +Sample Size Score: + 5-10 users = 1 (Low) + 11-30 users = 2 (Medium) + 31+ users = 3 (High) + +Data Quality Score: + Survey only = 1 (Low) + Survey + Analytics = 2 (Medium) + Quant + Qual + Logs = 3 (High) + +Consistency Score: + Contradicting data = 1 (Low) + Some alignment = 2 (Medium) + Strong alignment = 3 (High) +``` + +--- + +## Persona Components + +### Required Elements + +| Component | Description | Source | +|-----------|-------------|--------| +| Name & Photo | Memorable identifier | Stock photo, AI-generated | +| Tagline | One-line summary | Synthesized from data | +| Quote | Authentic voice | Direct from interviews | +| Demographics | Age, role, location | CRM, surveys | +| Goals | What they want | Interviews | +| Frustrations | Pain points | Interviews, support | +| Behaviors | How they act | Analytics, observation | +| Scenarios | Usage contexts | Interviews, logs | + +### Optional Enhancements + +| Component | When to Include | +|-----------|-----------------| +| Day-in-the-life | Complex workflows | +| Empathy map | Design workshops | +| Technology stack | B2B products | +| Influences | Consumer products | +| Brands they love | Marketing-heavy | + +### Component Depth Guide + +**Demographics (Keep Brief):** +``` +❌ Too detailed: + Age: 34, Lives: Seattle, Education: MBA from Stanford + +✅ Right level: + Age: 30-40, Urban professional, Graduate degree +``` + +**Goals (Be Specific):** +``` +❌ Too vague: + "Wants to be productive" + +✅ Actionable: + "Needs to process 50+ items daily without repetitive tasks" +``` + +**Frustrations (Include Evidence):** +``` +❌ Generic: + "Finds the interface confusing" + +✅ With evidence: + "Can't find export function (mentioned by 8/12 users)" +``` + +--- + +## Validation Criteria + +### Internal Validation + +**Team Check:** +- [ ] Does sales recognize this user type? +- [ ] Does support see these pain points? +- [ ] Does product know these workflows? + +**Data Check:** +- [ ] Can we quantify this segment's size? +- [ ] Do behaviors match analytics? +- [ ] Are quotes from real users? + +### External Validation + +**User Validation (recommended):** +- Show persona to 3-5 users from segment +- Ask: "Does this sound like you?" +- Iterate based on feedback + +**A/B Design Test:** +- Design for persona A vs. persona B +- Test with actual users +- Measure if persona-driven design wins + +### Red Flags + +Watch for these persona validity problems: + +| Red Flag | What It Means | Fix | +|----------|---------------|-----| +| "Everyone" persona | Too broad to be useful | Split into segments | +| Contradicting data | Forcing a narrative | Re-analyze clusters | +| No frustrations | Sanitized or incomplete | Dig deeper in interviews | +| Assumptions labeled as data | No real research | Conduct actual research | +| Single data source | Fragile foundation | Add another data type | + +--- + +## Anti-Patterns + +### 1. The Elastic Persona + +**Problem:** Persona stretches to include everyone + +``` +❌ "Sarah is 25-55, uses mobile and desktop, wants simplicity + but also advanced features, works alone and in teams..." +``` + +**Fix:** Create separate personas for distinct segments + +### 2. The Demographic Persona + +**Problem:** All demographics, no psychographics + +``` +❌ "John is 35, male, $80k income, urban, MBA..." + (Nothing about goals, frustrations, behaviors) +``` + +**Fix:** Lead with goals and frustrations, add minimal demographics + +### 3. The Ideal User Persona + +**Problem:** Describes who you want, not who you have + +``` +❌ "Emma is a passionate advocate who tells everyone + about our product and uses every feature daily..." +``` + +**Fix:** Base on real user data, include realistic limitations + +### 4. The Committee Persona + +**Problem:** Each stakeholder added their opinions + +``` +❌ CEO added "enterprise-focused" + Sales added "loves demos" + Support added "never calls support" +``` + +**Fix:** Single owner, data-driven only + +### 5. The Stale Persona + +**Problem:** Created once, never updated + +``` +❌ "Last updated: 2019" + Product has changed completely since then +``` + +**Fix:** Review quarterly, update with new data + +--- + +## Quick Reference + +### Persona Creation Checklist + +- [ ] Minimum 20 users in data set +- [ ] At least 2 data sources (quant + qual) +- [ ] Clear segment boundaries +- [ ] Actionable for design decisions +- [ ] Validated with team and users +- [ ] Documented data sources +- [ ] Confidence level stated + +### Time Investment Guide + +| Persona Type | Time | Team | Output | +|--------------|------|------|--------| +| Quick & Dirty | 1 week | 1 | Directional | +| Standard | 2-4 weeks | 2 | Production | +| Comprehensive | 6-8 weeks | 3+ | Strategic | + +--- + +*See also: `example-personas.md` for output examples* diff --git a/product-team/ux-researcher-designer/references/usability-testing-frameworks.md b/product-team/ux-researcher-designer/references/usability-testing-frameworks.md new file mode 100644 index 0000000..8b469fa --- /dev/null +++ b/product-team/ux-researcher-designer/references/usability-testing-frameworks.md @@ -0,0 +1,412 @@ +# Usability Testing Frameworks + +Reference for planning and conducting usability tests that produce actionable insights. + +--- + +## Table of Contents + +- [Testing Methods Overview](#testing-methods-overview) +- [Test Planning](#test-planning) +- [Task Design](#task-design) +- [Moderation Techniques](#moderation-techniques) +- [Analysis Framework](#analysis-framework) +- [Reporting Template](#reporting-template) + +--- + +## Testing Methods Overview + +### Method Selection Matrix + +| Method | When to Use | Participants | Time | Output | +|--------|-------------|--------------|------|--------| +| Moderated remote | Deep insights, complex flows | 5-8 | 45-60 min | Rich qualitative | +| Unmoderated remote | Quick validation, simple tasks | 10-20 | 15-20 min | Quantitative + video | +| In-person | Physical products, context matters | 5-10 | 60-90 min | Very rich qualitative | +| Guerrilla | Quick feedback, public spaces | 3-5 | 5-10 min | Rapid insights | +| A/B testing | Comparing two designs | 100+ | Varies | Statistical data | + +### Participant Count Guidelines + +``` +┌─────────────────────────────────────────────────────────────┐ +│ FINDING USABILITY ISSUES │ +├─────────────────────────────────────────────────────────────┤ +│ │ +│ % Issues Found │ +│ 100% ┤ ●────●────● │ +│ 90% ┤ ●───── │ +│ 80% ┤ ●───── │ +│ 75% ┤ ●──── ← 5 users: 75-80% │ +│ 50% ┤ ●──── │ +│ 25% ┤ ●── │ +│ 0% ┼────┬────┬────┬────┬────┬──── │ +│ 1 2 3 4 5 6+ Users │ +│ │ +└─────────────────────────────────────────────────────────────┘ +``` + +**Nielsen's Rule:** 5 users find ~75-80% of usability issues + +| Goal | Participants | Reasoning | +|------|--------------|-----------| +| Find major issues | 5 | 80% coverage, diminishing returns | +| Validate fix | 3 | Confirm specific issue resolved | +| Compare designs | 8-10 per design | Need comparison data | +| Quantitative metrics | 20+ | Statistical significance | + +--- + +## Test Planning + +### Research Questions + +Transform vague goals into testable questions: + +| Vague Goal | Testable Question | +|------------|-------------------| +| "Is it easy to use?" | "Can users complete checkout in under 3 minutes?" | +| "Do users like it?" | "Will users choose Design A or B for this task?" | +| "Does it make sense?" | "Can users find the settings without hints?" | + +### Test Plan Template + +``` +PROJECT: _______________ +DATE: _______________ +RESEARCHER: _______________ + +RESEARCH QUESTIONS: +1. _______________ +2. _______________ +3. _______________ + +PARTICIPANTS: +• Target: [Persona or user type] +• Count: [Number] +• Recruitment: [Source] +• Incentive: [Amount/type] + +METHOD: +• Type: [Moderated/Unmoderated/Remote/In-person] +• Duration: [Minutes per session] +• Environment: [Tool/Location] + +TASKS: +1. [Task description + success criteria] +2. [Task description + success criteria] +3. [Task description + success criteria] + +METRICS: +• Completion rate (target: __%) +• Time on task (target: __ min) +• Error rate (target: __%) +• Satisfaction (target: __/5) + +SCHEDULE: +• Pilot: [Date] +• Sessions: [Date range] +• Analysis: [Date] +• Report: [Date] +``` + +### Pilot Testing + +**Always pilot before real sessions:** + +- Run 1-2 test sessions with team members +- Check task clarity and timing +- Test recording/screen sharing +- Adjust based on pilot feedback + +**Pilot Checklist:** +- [ ] Tasks understood without clarification +- [ ] Session fits in time slot +- [ ] Recording captures screen + audio +- [ ] Post-test questions make sense + +--- + +## Task Design + +### Good vs. Bad Tasks + +| Bad Task | Why Bad | Good Task | +|----------|---------|-----------| +| "Find the settings" | Leading | "Change your notification preferences" | +| "Use the dashboard" | Vague | "Find how many sales you made last month" | +| "Click the blue button" | Prescriptive | "Submit your order" | +| "Do you like this?" | Opinion-based | "Rate how easy it was (1-5)" | + +### Task Construction Formula + +``` +SCENARIO + GOAL + SUCCESS CRITERIA + +Scenario: Context that makes task realistic +Goal: What user needs to accomplish +Success: How we know they succeeded + +Example: +"Imagine you're planning a trip to Paris next month. [SCENARIO] +Book a hotel for 3 nights in your budget. [GOAL] +You've succeeded when you see the confirmation page. [SUCCESS]" +``` + +### Task Types + +| Type | Purpose | Example | +|------|---------|---------| +| Exploration | First impressions | "Look around and tell me what you think this does" | +| Specific | Core functionality | "Add item to cart and checkout" | +| Comparison | Design validation | "Which of these two menus would you use to..." | +| Stress | Edge cases | "What would you do if your payment failed?" | + +### Task Difficulty Progression + +Start easy, increase difficulty: + +``` +Task 1: Warm-up (easy, builds confidence) +Task 2: Core flow (main functionality) +Task 3: Secondary flow (important but less common) +Task 4: Edge case (stress test) +Task 5: Free exploration (open-ended) +``` + +--- + +## Moderation Techniques + +### The Think-Aloud Protocol + +**Instruction Script:** +"As you work through the tasks, please think out loud. Tell me what you're looking at, what you're thinking, and what you're trying to do. There are no wrong answers - we're testing the design, not you." + +**Prompts When Silent:** +- "What are you thinking right now?" +- "What do you expect to happen?" +- "What are you looking for?" +- "Tell me more about that" + +### Handling Common Situations + +| Situation | What to Say | +|-----------|-------------| +| User asks for help | "What would you do if I weren't here?" | +| User is stuck | "What are your options?" (wait 30 sec before hint) | +| User apologizes | "You're doing great. We're testing the design." | +| User goes off-task | "That's interesting. Let's come back to [task]." | +| User criticizes | "Tell me more about that." (neutral, don't defend) | + +### Non-Leading Question Techniques + +| Leading (Don't) | Neutral (Do) | +|-----------------|--------------| +| "Did you find that confusing?" | "How was that experience?" | +| "The search is over here" | "What do you think you should do?" | +| "Don't you think X is easier?" | "Which do you prefer and why?" | +| "Did you notice the tooltip?" | "What happened there?" | + +### Post-Task Questions + +After each task: +1. "How difficult was that?" (1-5 scale) +2. "What, if anything, was confusing?" +3. "What would you improve?" + +After all tasks: +1. "What stood out to you?" +2. "What was the best/worst part?" +3. "Would you use this? Why/why not?" + +--- + +## Analysis Framework + +### Severity Rating Scale + +| Severity | Definition | Criteria | +|----------|------------|----------| +| 4 - Critical | Prevents task completion | User cannot proceed | +| 3 - Major | Significant difficulty | User struggles, considers giving up | +| 2 - Minor | Causes hesitation | User recovers independently | +| 1 - Cosmetic | Noticed but not problematic | User comments but unaffected | + +### Issue Documentation Template + +``` +ISSUE ID: ___ +SEVERITY: [1-4] +FREQUENCY: [X/Y participants] + +TASK: [Which task] +TIMESTAMP: [When in session] + +OBSERVATION: +[What happened - factual description] + +USER QUOTE: +"[Direct quote if available]" + +HYPOTHESIS: +[Why this might be happening] + +RECOMMENDATION: +[Proposed solution] + +AFFECTED PERSONA: +[Which user types] +``` + +### Pattern Recognition + +**Quantitative Signals:** +- Task completion rate < 80% +- Time on task > 2x expected +- Error rate > 20% +- Satisfaction < 3/5 + +**Qualitative Signals:** +- Same confusion point across 3+ users +- Repeated verbal frustration +- Workaround attempts +- Feature requests during task + +### Analysis Matrix + +``` +┌─────────────────┬───────────┬───────────┬───────────┐ +│ Issue │ Frequency │ Severity │ Priority │ +├─────────────────┼───────────┼───────────┼───────────┤ +│ Can't find X │ 4/5 │ Critical │ HIGH │ +│ Confusing label │ 3/5 │ Major │ HIGH │ +│ Slow loading │ 2/5 │ Minor │ MEDIUM │ +│ Typo in text │ 1/5 │ Cosmetic │ LOW │ +└─────────────────┴───────────┴───────────┴───────────┘ + +Priority = Frequency × Severity +``` + +--- + +## Reporting Template + +### Executive Summary + +``` +USABILITY TEST REPORT +[Project Name] | [Date] + +OVERVIEW +• Participants: [N] users matching [persona] +• Method: [Type of test] +• Tasks: [N] tasks covering [scope] + +KEY FINDINGS +1. [Most critical issue + impact] +2. [Second issue] +3. [Third issue] + +SUCCESS METRICS +• Completion rate: [X]% (target: Y%) +• Avg. time on task: [X] min (target: Y min) +• Satisfaction: [X]/5 (target: Y/5) + +TOP RECOMMENDATIONS +1. [Highest priority fix] +2. [Second priority] +3. [Third priority] +``` + +### Detailed Findings Section + +``` +FINDING 1: [Title] + +Severity: [Critical/Major/Minor/Cosmetic] +Frequency: [X/Y participants] +Affected Tasks: [List] + +What Happened: +[Description of the problem] + +Evidence: +• P1: "[Quote]" +• P3: "[Quote]" +• [Video timestamp if available] + +Impact: +[How this affects users and business] + +Recommendation: +[Proposed solution with rationale] + +Design Mockup: +[Optional: before/after if applicable] +``` + +### Metrics Dashboard + +``` +TASK PERFORMANCE SUMMARY + +Task 1: [Name] +├─ Completion: ████████░░ 80% +├─ Avg. Time: 2:15 (target: 2:00) +├─ Errors: 1.2 avg +└─ Satisfaction: ★★★★☆ 4.2/5 + +Task 2: [Name] +├─ Completion: ██████░░░░ 60% ⚠️ +├─ Avg. Time: 4:30 (target: 3:00) ⚠️ +├─ Errors: 3.1 avg ⚠️ +└─ Satisfaction: ★★★☆☆ 3.1/5 + +[Continue for all tasks] +``` + +--- + +## Quick Reference + +### Session Checklist + +**Before Session:** +- [ ] Test plan finalized +- [ ] Tasks written and piloted +- [ ] Recording set up and tested +- [ ] Consent form ready +- [ ] Prototype/product accessible +- [ ] Note-taking template ready + +**During Session:** +- [ ] Consent obtained +- [ ] Think-aloud explained +- [ ] Recording started +- [ ] Tasks presented one at a time +- [ ] Post-task ratings collected +- [ ] Debrief questions asked +- [ ] Thanks and incentive + +**After Session:** +- [ ] Notes organized +- [ ] Recording saved +- [ ] Initial impressions captured +- [ ] Issues logged + +### Common Metrics + +| Metric | Formula | Target | +|--------|---------|--------| +| Completion rate | Successful / Total × 100 | >80% | +| Time on task | Average seconds | <2x expected | +| Error rate | Errors / Attempts × 100 | <15% | +| Task-level satisfaction | Average rating | >4/5 | +| SUS score | Standard formula | >68 | +| NPS | Promoters - Detractors | >0 | + +--- + +*See also: `journey-mapping-guide.md` for contextual research* diff --git a/product-team/ux-researcher-designer/scripts/persona_generator.py b/product-team/ux-researcher-designer/scripts/persona_generator.py index dd5f281..a26ff59 100644 --- a/product-team/ux-researcher-designer/scripts/persona_generator.py +++ b/product-team/ux-researcher-designer/scripts/persona_generator.py @@ -1,7 +1,69 @@ #!/usr/bin/env python3 """ Data-Driven Persona Generator -Creates research-backed user personas from user data and interviews +Creates research-backed user personas from user data and interviews. + +Usage: + python persona_generator.py [json] + + Without arguments: Human-readable formatted output + With 'json': JSON output for integration with other tools + +Examples: + python persona_generator.py # Formatted persona output + python persona_generator.py json # JSON for programmatic use + +Table of Contents: +================== + +CLASS: PersonaGenerator + __init__() - Initialize archetype templates and persona components + generate_persona_from_data() - Main entry: generate persona from user data + interviews + format_persona_output() - Format persona dict as human-readable text + +PATTERN ANALYSIS: + _analyze_user_patterns() - Extract usage, device, context patterns from data + _identify_archetype() - Classify user into power/casual/business/mobile archetype + _analyze_behaviors() - Analyze usage patterns and feature preferences + +DEMOGRAPHIC EXTRACTION: + _aggregate_demographics() - Calculate age range, location, tech proficiency + _extract_psychographics() - Extract motivations, values, attitudes, lifestyle + +NEEDS & FRUSTRATIONS: + _identify_needs() - Identify primary/secondary goals, functional/emotional needs + _extract_frustrations() - Extract pain points from patterns and interviews + +CONTENT GENERATION: + _generate_name() - Generate persona name from archetype + _generate_tagline() - Generate one-line persona summary + _generate_scenarios() - Create usage scenarios based on archetype + _select_quote() - Select representative quote from interviews + +DATA VALIDATION: + _calculate_data_points() - Calculate sample size and confidence level + _derive_design_implications() - Generate actionable design recommendations + +FUNCTIONS: + create_sample_user_data() - Generate sample data for testing/demo + main() - CLI entry point + +Archetypes Supported: + - power_user: Daily users, 10+ features, efficiency-focused + - casual_user: Weekly users, basic needs, simplicity-focused + - business_user: Work context, team collaboration, ROI-focused + - mobile_first: Mobile primary, on-the-go, quick interactions + +Output Components: + - name, archetype, tagline, quote + - demographics: age, location, occupation, education, tech_proficiency + - psychographics: motivations, values, attitudes, lifestyle + - behaviors: usage_patterns, feature_preferences, interaction_style + - needs_and_goals: primary, secondary, functional, emotional + - frustrations: pain points with frequency + - scenarios: contextual usage stories + - data_points: sample_size, confidence_level, validation_method + - design_implications: actionable recommendations """ import json