BMAD-METHOD/src/bmm/workflows/2-plan-workflows/prd/steps-c/step-04-journeys.md

9.2 KiB

name description nextStepFile outputFile advancedElicitationTask partyModeWorkflow
step-04-journeys Map ALL user types that interact with the system with narrative story-based journeys ./step-05-domain.md {planning_artifacts}/prd.md {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml {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: Read fully and follow: {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: Read fully and follow: {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 read fully and follow: {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!