12 KiB
| name | description | workflow_path | thisStepFile | nextStepFile | workflowFile | outputFile | advancedElicitationTask | partyModeWorkflow |
|---|---|---|---|---|---|---|---|---|
| step-04-journeys | Map ALL user types that interact with the system with narrative story-based journeys | {project-root}/_bmad/bmm/workflows/2-plan-workflows/prd | {workflow_path}/steps/step-04-journeys.md | {workflow_path}/steps/step-05-domain.md | {workflow_path}/workflow.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 frontmatter
stepsCompleted: [1, 2, 3, 4]before loading next step - 🚫 FORBIDDEN to load next step until C is selected
COLLABORATION MENUS (A/P/C):
This step will generate content and present choices:
- A (Advanced Elicitation): Use discovery protocols to develop deeper journey insights
- P (Party Mode): Bring multiple perspectives to map comprehensive user journeys
- C (Continue): Save the content to the document and proceed to next step
PROTOCOL INTEGRATION:
- When 'A' selected: Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml
- When 'P' selected: Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md
- PROTOCOLS always return to this step's A/P/C menu
- User accepts/rejects protocol changes before proceeding
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: "I found some fantastic user personas in your product brief! Let me introduce them and see if we need to expand our cast of characters.
From your brief: {{extracted_personas_from_brief_with_details}}
These are great starting points! Their stories already give us insight into what they need from {{project_name}}.
Beyond your identified users, who else touches this system? Based on your product type and scope, we might need:
{{suggest_additional_user_types_based_on_project_context}}
What additional user types should we consider for this product?"
If No Personas in Input Documents: Start with comprehensive user type discovery: "Now that we know what success looks like, let's map out ALL the people who will interact with {{project_name}}.
Beyond primary users, who else touches this system? Consider:
- End users (the primary focus)
- Admins - manage users, settings, content
- Moderators - review flagged content, enforce rules
- Support staff - help users, investigate issues
- API consumers - if dev tool or platform
- Internal ops - analytics, monitoring, billing
What user types should we map for this product?"
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: "Let's tell {{persona_name}}'s story with {{project_name}}.
Their Story So Far: {{persona_backstory_from_brief}}
How {{project_name}} Changes Their Life: {{how_product_helps_them}}
Let's craft their journey narrative - where do we meet them in their story, and how does {{project_name}} help them write their next chapter?"
If Creating New Persona: "Let's bring this user type to life with a compelling story.
Creating Their Character:
- Name: Give them a realistic name and personality
- Situation: What's happening in their life/work that creates the need?
- Goal: What do they desperately want to achieve?
- Obstacle: What's standing in their way right now?
How {{project_name}} Becomes Their Solution: {{how_product_solves_their_story}}
Now let's map their journey narrative."
Story-Based Journey Mapping:
"Let's craft this as a story with our hero (the user) facing challenges and finding solutions through {{project_name}}:
Story Structure:
- Opening Scene: Where and how do we meet them? What's their current pain?
- Rising Action: What steps do they take? What do they discover?
- Climax: The critical moment where {{project_name}} delivers real value
- Resolution: How does their situation improve? What's their new reality?
Use This Narrative Format such as this example:
**Journey 1: Maria Santos - Reclaiming Her Creative Time**
Maria is a freelance graphic designer who loves creating beautiful logos but spends hours every week managing client projects, sending invoices, and chasing payments. She feels like she's running a small business instead of doing what she loves. Late one night, while searching for invoicing tools, she discovers CreativeFlow and decides to give it a try.
The next morning, instead of her usual 30-minute project management routine, she spends 5 minutes setting up her first client in CreativeFlow. The system automatically generates a professional invoice and even suggests follow-up emails based on her communication patterns. When a client asks for a project update, Maria can share a beautiful progress link instead of digging through emails.
The breakthrough comes when she lands a major corporate client who's impressed by her "organized and professional" project setup. Six months later, Maria has doubled her client base and spends 80% of her time actually designing - exactly what she always wanted.
3. Guide Journey Exploration
For each journey, facilitate detailed exploration:
- "What happens at each step specifically?"
- "What could go wrong here? 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:
- List specific capability areas (e.g., onboarding, meal planning, admin dashboard)
- Help user see how different journeys create different feature sets"
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: "Another journey? We should cover [suggest uncovered user type]"
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 Content and Menu
Show the generated journey content and present choices: "I've mapped out the user journeys based on our conversation. Each journey reveals different capabilities needed for {{project_name}}.
Here's what I'll add to the document:
[Show the complete markdown content from step 6]
What would you like to do? [A] Advanced Elicitation - Let's dive deeper into these user journeys [P] Party Mode - Bring different perspectives to ensure we have all journeys [C] Continue - Save this and move to Domain Requirements (Step 5 of 11)"
8. Handle Menu Selection
If 'A' (Advanced Elicitation):
- Execute {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml 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 return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
If 'P' (Party Mode):
- Execute {project-root}/_bmad/core/workflows/party-mode/workflow.md 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 return to A/P/C menu
- If no: Keep original content, then return to A/P/C menu
If 'C' (Continue):
- Append the final content to
{outputFile} - Update frontmatter: add this step name to the end of the steps completed array
- Load
{project-root}/_bmad/bmm/workflows/2-plan-workflows/prd/steps/step-05-domain.md(or determine if step is optional based on domain complexity)
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:
- Primary User - Success Path: Core experience journey
- Primary User - Edge Case: Error recovery, alternative goals
- Admin/Operations User: Management, configuration, monitoring
- Support/Troubleshooting: Help, investigation, issue resolution
- 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!