BMAD-METHOD/bmm/workflows/3-solutioning/create-epics-and-stories/steps/step-03-create-stories.md

8.3 KiB

name description workflow_path thisStepFile nextStepFile workflowFile outputFile advancedElicitationTask partyModeWorkflow epicsTemplate
step-03-create-stories Generate all epics with their stories following the template structure {project-root}/_bmad/bmm/workflows/3-solutioning/create-epics-and-stories {workflow_path}/steps/step-03-create-stories.md {workflow_path}/steps/step-04-final-validation.md {workflow_path}/workflow.md {planning_artifacts}/epics.md {project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml {project-root}/_bmad/core/workflows/party-mode/workflow.md {workflow_path}/templates/epics-template.md

Step 3: Generate Epics and Stories

STEP GOAL:

To generate all epics with their stories based on the approved epics_list, following the template structure exactly.

MANDATORY EXECUTION RULES (READ FIRST):

Universal Rules:

  • 🛑 NEVER generate content without user input
  • 📖 CRITICAL: Read the complete step file before taking any action
  • 🔄 CRITICAL: Process epics sequentially
  • 📋 YOU ARE A FACILITATOR, not a content generator
  • YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config {communication_language}

Role Reinforcement:

  • You are a product strategist and technical specifications writer
  • If you already have been given communication or persona patterns, continue to use those while playing this new role
  • We engage in collaborative dialogue, not command-response
  • You bring story creation and acceptance criteria expertise
  • User brings their implementation priorities and constraints

Step-Specific Rules:

  • 🎯 Generate stories for each epic following the template exactly
  • 🚫 FORBIDDEN to deviate from template structure
  • 💬 Each story must have clear acceptance criteria
  • 🚪 ENSURE each story is completable by a single dev agent
  • 🔗 CRITICAL: Stories MUST NOT depend on future stories within the same epic

EXECUTION PROTOCOLS:

  • 🎯 Generate stories collaboratively with user input
  • 💾 Append epics and stories to {outputFile} following template
  • 📖 Process epics one at a time in sequence
  • 🚫 FORBIDDEN to skip any epic or rush through stories

STORY GENERATION PROCESS:

1. Load Approved Epic Structure

Load {outputFile} and review:

  • Approved epics_list from Step 2
  • FR coverage map
  • All requirements (FRs, NFRs, additional)
  • Template structure at the end of the document

2. Explain Story Creation Approach

STORY CREATION GUIDELINES:

For each epic, create stories that:

  • Follow the exact template structure
  • Are sized for single dev agent completion
  • Have clear user value
  • Include specific acceptance criteria
  • Reference requirements being fulfilled

🚨 DATABASE/ENTITY CREATION PRINCIPLE: Create tables/entities ONLY when needed by the story:

  • WRONG: Epic 1 Story 1 creates all 50 database tables
  • RIGHT: Each story creates/alters ONLY the tables it needs

🔗 STORY DEPENDENCY PRINCIPLE: Stories must be independently completable in sequence:

  • WRONG: Story 1.2 requires Story 1.3 to be completed first
  • RIGHT: Each story can be completed based only on previous stories
  • WRONG: "Wait for Story 1.4 to be implemented before this works"
  • RIGHT: "This story works independently and enables future stories"

STORY FORMAT (from template):

### Story {N}.{M}: {story_title}

As a {user_type},
I want {capability},
So that {value_benefit}.

**Acceptance Criteria:**

**Given** {precondition}
**When** {action}
**Then** {expected_outcome}
**And** {additional_criteria}

GOOD STORY EXAMPLES:

Epic 1: User Authentication

  • Story 1.1: User Registration with Email
  • Story 1.2: User Login with Password
  • Story 1.3: Password Reset via Email

Epic 2: Content Creation

  • Story 2.1: Create New Blog Post
  • Story 2.2: Edit Existing Blog Post
  • Story 2.3: Publish Blog Post

BAD STORY EXAMPLES:

  • Story: "Set up database" (no user value)
  • Story: "Create all models" (too large, no user value)
  • Story: "Build authentication system" (too large)
  • Story: "Login UI (depends on Story 1.3 API endpoint)" (future dependency!)
  • Story: "Edit post (requires Story 1.4 to be implemented first)" (wrong order!)

3. Process Epics Sequentially

For each epic in the approved epics_list:

A. Epic Overview

Display:

  • Epic number and title
  • Epic goal statement
  • FRs covered by this epic
  • Any NFRs or additional requirements relevant

B. Story Breakdown

Work with user to break down the epic into stories:

  • Identify distinct user capabilities
  • Ensure logical flow within the epic
  • Size stories appropriately

C. Generate Each Story

For each story in the epic:

  1. Story Title: Clear, action-oriented
  2. User Story: Complete the As a/I want/So that format
  3. Acceptance Criteria: Write specific, testable criteria

AC Writing Guidelines:

  • Use Given/When/Then format
  • Each AC should be independently testable
  • Include edge cases and error conditions
  • Reference specific requirements when applicable

D. Collaborative Review

After writing each story:

  • Present the story to user
  • Ask: "Does this story capture the requirement correctly?"
  • "Is the scope appropriate for a single dev session?"
  • "Are the acceptance criteria complete and testable?"

E. Append to Document

When story is approved:

  • Append it to {outputFile} following template structure
  • Use correct numbering (Epic N, Story M)
  • Maintain proper markdown formatting

4. Epic Completion

After all stories for an epic are complete:

  • Display epic summary
  • Show count of stories created
  • Verify all FRs for the epic are covered
  • Get user confirmation to proceed to next epic

5. Repeat for All Epics

Continue the process for each epic in the approved list, processing them in order (Epic 1, Epic 2, etc.).

6. Final Document Completion

After all epics and stories are generated:

  • Verify the document follows template structure exactly
  • Ensure all placeholders are replaced
  • Confirm all FRs are covered
  • Check formatting consistency

TEMPLATE STRUCTURE COMPLIANCE:

The final {outputFile} must follow this structure exactly:

  1. Overview section with project name
  2. Requirements Inventory with all three subsections populated
  3. FR Coverage Map showing requirement to epic mapping
  4. Epic List with approved epic structure
  5. Epic sections for each epic (N = 1, 2, 3...)
    • Epic title and goal
    • All stories for that epic (M = 1, 2, 3...)
      • Story title and user story
      • Acceptance Criteria using Given/When/Then format

7. Present FINAL MENU OPTIONS

After all epics and stories are complete:

Display: "Select an Option: [A] Advanced Elicitation [P] Party Mode [C] Continue"

Menu Handling Logic:

  • IF A: Execute {advancedElicitationTask}
  • IF P: Execute {partyModeWorkflow}
  • IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
  • IF Any other comments or queries: help user respond then Redisplay Menu Options

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
  • User can chat or ask questions - always respond and then end with display again of the menu options

CRITICAL STEP COMPLETION NOTE

ONLY WHEN [C continue option] is selected and [all epics and stories saved to document following the template structure exactly], will you then load and read fully {nextStepFile} to execute and begin final validation phase.


🚨 SYSTEM SUCCESS/FAILURE METRICS

SUCCESS:

  • All epics processed in sequence
  • Stories created for each epic
  • Template structure followed exactly
  • All FRs covered by stories
  • Stories appropriately sized
  • Acceptance criteria are specific and testable
  • Document is complete and ready for development

SYSTEM FAILURE:

  • Deviating from template structure
  • Missing epics or stories
  • Stories too large or unclear
  • Missing acceptance criteria
  • Not following proper formatting

Master Rule: Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.