BMAD-METHOD/docs/system-architecture/data-flow-diagrams.md

4.7 KiB

BMAD Method Data Flow Diagrams

Overview

This document illustrates how information flows through the BMAD Method process. Unlike traditional software systems with databases and APIs, the BMAD Method manages the flow of context, requirements, specifications, and other information between different personas and stages of the development process.

Core Information Flow

The BMAD Method's primary information flow shows how context and requirements transform into deliverables through a series of specialized personas:

flowchart TD
    A[Initial Requirements] --> B{BMAD Orchestrator}
    B --> C[Product Owner]
    C -- "Requirements Document" --> B
    B --> D[Architect]
    D -- "Architecture Specification" --> B
    B --> E[UX/UI Designer]
    E -- "Design Specification" --> B
    B --> F[Developer]
    F -- "Implementation" --> B
    B --> G[Final Deliverable]
    
    style B fill:#f96,stroke:#333,stroke-width:2px

Context Preservation Flow

One of the BMAD Method's key strengths is how it preserves and enriches context throughout the development process:

graph TD
    A[Initial Context] --> B[Context Enrichment]
    B --> C[Context Sharing]
    C --> D[Context Application]
    D --> E[Context Validation]
    E -->|Feedback Loop| B
    
    subgraph "Context Enrichment"
    B1[Product Owner Input] --> B2[Architect Input]
    B2 --> B3[Designer Input]
    B3 --> B4[Developer Input]
    end
    
    subgraph "Context Application"
    D1[Requirements Application] --> D2[Architecture Application]
    D2 --> D3[Design Application]
    D3 --> D4[Implementation Application]
    end

Task Execution Flow

Information flow during task execution in the BMAD Method:

sequenceDiagram
    participant User
    participant Orchestrator
    participant ActivePersona
    participant Knowledge as Knowledge Base
    participant Templates
    participant Checklists
    
    User->>Orchestrator: Task Request + Context
    Orchestrator->>Knowledge: Retrieve Relevant Knowledge
    Knowledge-->>Orchestrator: Domain Knowledge
    Orchestrator->>Templates: Retrieve Appropriate Templates
    Templates-->>Orchestrator: Task Templates
    Orchestrator->>ActivePersona: Assign Task + Context + Templates
    ActivePersona->>ActivePersona: Process Information
    ActivePersona->>Checklists: Verify Against Checklists
    Checklists-->>ActivePersona: Verification Results
    ActivePersona->>Orchestrator: Task Output
    Orchestrator->>User: Deliverable

Persona Transition Flow

How information transitions between personas in the BMAD Method:

graph TD
    A[Initial Request] --> B[Product Owner]
    B -- "PRD" --> C[Architect]
    C -- "Architecture Doc" --> D[UX/UI Designer]
    D -- "Design Spec" --> E[Developer]
    E -- "Implementation" --> F[Project Manager]
    F -- "Project Status" --> G[Stakeholders]
    
    H[Shared Context Repository] <-.-> B
    H <-.-> C
    H <-.-> D
    H <-.-> E
    H <-.-> F
    
    style H fill:#f9f,stroke:#333,stroke-width:2px

Checklist Verification Flow

How information flows through the checklist verification process:

flowchart TD
    A[Task Output] --> B{Checklist System}
    B --> C[Quality Checklist]
    B --> D[Process Checklist]
    B --> E[Deliverable Checklist]
    
    C --> F{Quality Check}
    D --> G{Process Check}
    E --> H{Completeness Check}
    
    F -->|Pass| I[Quality Verified]
    F -->|Fail| J[Quality Remediation]
    J --> A
    
    G -->|Pass| K[Process Verified]
    G -->|Fail| L[Process Remediation]
    L --> A
    
    H -->|Pass| M[Completeness Verified]
    H -->|Fail| N[Completeness Remediation]
    N --> A
    
    I --> O[Final Verification]
    K --> O
    M --> O
    
    O --> P[Verified Deliverable]

Template Application Flow

How templates are applied to structure information in the BMAD Method:

graph LR
    A[Raw Information] --> B[Template Selection]
    B --> C[Template Application]
    C --> D[Structured Information]
    D --> E[Template Validation]
    E -->|Valid| F[Finalized Document]
    E -->|Invalid| G[Revision]
    G --> C

Conclusion

The BMAD Method's information flow is designed to ensure that context is preserved, enriched, and effectively utilized throughout the development process. By structuring information flow through specialized personas and standardized processes, the BMAD Method creates a consistent, high-quality approach to AI-driven development.