Skip to content
🤖 Consolidated, AI-optimized BMAD docs: llms-full.txt. Fetch this plain text file for complete context.

Why Solutioning Matters

Phase 3 (Solutioning) translates what to build (from Planning) into how to build it (technical design). This phase prevents agent conflicts in multi-epic projects by documenting architectural decisions before implementation begins.


Agent 1 implements Epic 1 using REST API
Agent 2 implements Epic 2 using GraphQL
Result: Inconsistent API design, integration nightmare

When multiple agents implement different parts of a system without shared architectural guidance, they make independent technical decisions that may conflict.


architecture workflow decides: "Use GraphQL for all APIs"
All agents follow architecture decisions
Result: Consistent implementation, no conflicts

By documenting technical decisions explicitly, all agents implement consistently and integration becomes straightforward.


AspectPlanning (Phase 2)Solutioning (Phase 3)
QuestionWhat and Why?How? Then What units of work?
OutputFRs/NFRs (Requirements)Architecture + Epics/Stories
AgentPMArchitect → PM
AudienceStakeholdersDevelopers
DocumentPRD (FRs/NFRs)Architecture + Epic Files
LevelBusiness logicTechnical design + Work breakdown

Make technical decisions explicit and documented so all agents implement consistently.

This prevents:

  • API style conflicts (REST vs GraphQL)
  • Database design inconsistencies
  • State management disagreements
  • Naming convention mismatches
  • Security approach variations

TrackSolutioning Required?
Quick FlowNo - skip entirely
BMad Method SimpleOptional
BMad Method ComplexYes
EnterpriseYes

Rule of thumb: If you have multiple epics that could be implemented by different agents, you need solutioning.


Skipping solutioning on complex projects leads to:

  • Integration issues discovered mid-sprint
  • Rework due to conflicting implementations
  • Longer development time overall
  • Technical debt from inconsistent patterns

Catching alignment issues in solutioning is 10× faster than discovering them during implementation.