step-04-journeys.md 9.1 KB


name: 'step-04-journeys' description: 'Map ALL user types that interact with the system with narrative story-based journeys'

File References

nextStepFile: './step-05-domain.md' outputFile: '{planning_artifacts}/prd.md'

Task References

advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'

partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'

Step 4: User Journey Mapping

Progress: Step 4 of 11 - Next: Domain Requirements

MANDATORY EXECUTION RULES (READ FIRST):

  • 🛑 NEVER generate content without user input

  • 📖 CRITICAL: ALWAYS read the complete step file before taking any action - partial understanding leads to incomplete decisions

  • 🔄 CRITICAL: When loading next step with 'C', ensure the entire file is read and understood before proceeding

  • ✅ ALWAYS treat this as collaborative discovery between PM peers

  • 📋 YOU ARE A FACILITATOR, not a content generator

  • 💬 FOCUS on mapping ALL user types that interact with the system

  • 🎯 CRITICAL: No journey = no functional requirements = product doesn't exist

  • ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config {communication_language}

EXECUTION PROTOCOLS:

  • 🎯 Show your analysis before taking any action
  • ⚠️ Present A/P/C menu after generating journey content
  • 💾 ONLY save when user chooses C (Continue)
  • 📖 Update output file frontmatter, adding this step name to the end of the list of stepsCompleted
  • 🚫 FORBIDDEN to load next step until C is selected

CONTEXT BOUNDARIES:

  • Current document and frontmatter from previous steps are available
  • Success criteria and scope already defined
  • Input documents from step-01 are available (product briefs with user personas)
  • Every human interaction with the system needs a journey

YOUR TASK:

Create compelling narrative user journeys that leverage existing personas from product briefs and identify additional user types needed for comprehensive coverage.

JOURNEY MAPPING SEQUENCE:

1. Leverage Existing Users & Identify Additional Types

Check Input Documents for Existing Personas: Analyze product brief, research, and brainstorming documents for user personas already defined.

If User Personas Exist in Input Documents: Guide user to build on existing personas:

  • Acknowledge personas found in their product brief
  • Extract key persona details and backstories
  • Leverage existing insights about their needs
  • Prompt to identify additional user types beyond those documented
  • Suggest additional user types based on product context (admins, moderators, support, API consumers, internal ops)
  • Ask what additional user types should be considered

If No Personas in Input Documents: Start with comprehensive user type discovery:

  • Guide exploration of ALL people who interact with the system
  • Consider beyond primary users: admins, moderators, support staff, API consumers, internal ops
  • Ask what user types should be mapped for this specific product
  • Ensure comprehensive coverage of all system interactions

2. Create Narrative Story-Based Journeys

For each user type, create compelling narrative journeys that tell their story:

Narrative Journey Creation Process:

If Using Existing Persona from Input Documents: Guide narrative journey creation:

  • Use persona's existing backstory from brief
  • Explore how the product changes their life/situation
  • Craft journey narrative: where do we meet them, how does product help them write their next chapter?

If Creating New Persona: Guide persona creation with story framework:

  • Name: realistic name and personality
  • Situation: What's happening in their life/work that creates need?
  • Goal: What do they desperately want to achieve?
  • Obstacle: What's standing in their way?
  • Solution: How does the product solve their story?

Story-Based Journey Mapping:

Guide narrative journey creation using story structure:

  • Opening Scene: Where/how do we meet them? What's their current pain?
  • Rising Action: What steps do they take? What do they discover?
  • Climax: Critical moment where product delivers real value
  • Resolution: How does their situation improve? What's their new reality?

Encourage narrative format with specific user details, emotional journey, and clear before/after contrast

3. Guide Journey Exploration

For each journey, facilitate detailed exploration:

  • What happens at each step specifically?
  • What could go wrong? What's the recovery path?
  • What information do they need to see/hear?
  • What's their emotional state at each point?
  • Where does this journey succeed or fail?

4. Connect Journeys to Requirements

After each journey, explicitly state:

  • This journey reveals requirements for specific capability areas
  • Help user see how different journeys create different feature sets
  • Connect journey needs to concrete capabilities (onboarding, dashboards, notifications, etc.)

5. Aim for Comprehensive Coverage

Guide toward complete journey set:

  • Primary user - happy path (core experience)
  • Primary user - edge case (different goal, error recovery)
  • Secondary user (admin, moderator, support, etc.)
  • API consumer (if applicable)

Ask if additional journeys are needed to cover uncovered user types

6. Generate User Journey Content

Prepare the content to append to the document:

Content Structure:

When saving to document, append these Level 2 and Level 3 sections:

## User Journeys

[All journey narratives based on conversation]

### Journey Requirements Summary

[Summary of capabilities revealed by journeys based on conversation]

7. Present MENU OPTIONS

Present the user journey content for review, then display menu:

  • Show the mapped user journeys (using structure from section 6)
  • Highlight how each journey reveals different capabilities
  • Ask if they'd like to refine further, get other perspectives, or proceed
  • Present menu options naturally as part of conversation

Display: "Select: [A] Advanced Elicitation [P] Party Mode [C] Continue to Domain Requirements (Step 5 of 11)"

Menu Handling Logic:

  • IF A: Execute {advancedElicitationTask} with the current journey content, process the enhanced journey insights that come back, ask user "Accept these improvements to the user journeys? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu
  • IF P: Execute {partyModeWorkflow} with the current journeys, process the collaborative journey improvements and additions, ask user "Accept these changes to the user journeys? (y/n)", if yes update content with improvements then redisplay menu, if no keep original content then redisplay menu
  • IF C: Append the final content to {outputFile}, update frontmatter by adding this step name to the end of the stepsCompleted array, then load, read entire file, then execute {nextStepFile}
  • IF Any other: help user respond, then redisplay menu

EXECUTION RULES:

  • ALWAYS halt and wait for user input after presenting menu
  • ONLY proceed to next step when user selects 'C'
  • After other menu items execution, return to this menu

APPEND TO DOCUMENT:

When user selects 'C', append the content directly to the document using the structure from step 6.

SUCCESS METRICS:

✅ Existing personas from product briefs leveraged when available ✅ All user types identified (not just primary users) ✅ Rich narrative storytelling for each persona and journey ✅ Complete story-based journey mapping with emotional arc ✅ Journey requirements clearly connected to capabilities needed ✅ Minimum 3-4 compelling narrative journeys covering different user types ✅ A/P/C menu presented and handled correctly ✅ Content properly appended to document when C selected

FAILURE MODES:

❌ Ignoring existing personas from product briefs ❌ Only mapping primary user journeys and missing secondary users ❌ Creating generic journeys without rich persona details and narrative ❌ Missing emotional storytelling elements that make journeys compelling ❌ Missing critical decision points and failure scenarios ❌ Not connecting journeys to required capabilities ❌ Not having enough journey diversity (admin, support, API, etc.) ❌ Not presenting A/P/C menu after content generation ❌ Appending content without user selecting 'C'

CRITICAL: Reading only partial step file - leads to incomplete understanding and poor decisions ❌ CRITICAL: Proceeding with 'C' without fully reading and understanding the next step file ❌ CRITICAL: Making decisions without complete understanding of step requirements and protocols

JOURNEY TYPES TO ENSURE:

Minimum Coverage:

  1. Primary User - Success Path: Core experience journey
  2. Primary User - Edge Case: Error recovery, alternative goals
  3. Admin/Operations User: Management, configuration, monitoring
  4. Support/Troubleshooting: Help, investigation, issue resolution
  5. API/Integration (if applicable): Developer/technical user journey

NEXT STEP:

After user selects 'C' and content is saved to document, load ./step-05-domain.md.

Remember: Do NOT proceed to step-05 until user explicitly selects 'C' from the A/P/C menu and content is saved!