BMAD 方法论
概述
BMAD(Breakthrough Method for Agile AI-Driven Development)是一种通过 AI 代理模拟完整敏捷开发团队的框架,旨在实现人机协作的高效软件开发流程。
核心理念
1. 最大化 AI 利用
- MAXIMIZE AI LEVERAGE:让 AI 在开发中发挥最大价值
- 通过专业化的 AI 角色处理不同阶段的任务
- 减少人工重复工作,专注创造性决策
2. 质量控制
- QUALITY CONTROL:开发者作为质量的最终裁决者
- AI 提供建议和方案,人类做出最终决定
- 确保代码质量和架构合理性
3. 迭代优化
- ITERATIVE REFINEMENT:强调步骤的反复优化
- 每个阶段都有检查点和验证机制
- 持续改进直到满足质量标准
核心组成
1. 专业化 AI 代理
BMAD 包含 19 种专业角色,覆盖软件开发生命周期的各个方面:
规划阶段角色
-
Business Analyst(业务分析师)
- 市场调研和竞品分析
- 需求收集和整理
- 创建项目简报
-
Product Manager(产品经理)
- 创建 PRD(产品需求文档)
- 定义功能和非功能需求
- 编写 Epic 和 User Stories
-
UX Expert(用户体验专家)
- UI/UX 设计规范
- 用户体验流程设计
- 交互设计指导
-
Architect(架构师)
- 系统架构设计
- 技术选型
- 制定开发规范
开发阶段角色
-
Scrum Master(敏捷教练)
- 任务分解和规划
- 迭代进度管理
- 团队协调
-
Developer(开发者)
- 功能实现
- 代码编写
- 单元测试
-
QA Engineer(质量工程师)
- 测试策略设计
- 质量保证
- 缺陷跟踪
支持角色
- Product Owner(产品负责人)
- 文档一致性检查
- 需求优先级排序
- 验收标准定义
2. 自适应工作流
BMAD 提供了 50+ 个引导流程,支持:
- 需求定义标准化
- 设计文档模板化
- 开发流程规范化
- 测试流程体系化
3. 双重部署模式
- IDE 集成:在开发环境中无缝使用
- Web 平台:通过浏览器界面操作
- 自然语言控制:通过对话定义 AI 代理行为
BMAD 开发流程
阶段一:规划阶段
步骤 1:需求分析(可选)
使用 Business Analyst 进行前期调研:
@analyst *help
@analyst *brainstorm
输出成果:
- 市场分析报告
- 竞品分析文档
- 项目简报(Project Brief)
步骤 2:创建 PRD
使用 Product Manager 创建产品需求文档:
@pm *help
@pm *create-prd
PRD 包含:
- 功能需求(Functional Requirements)
- 非功能需求(NFRs)
- Epic(史诗)
- User Stories(用户故事)
步骤 3:UX 设计(前端项目)
@ux-expert *help
@ux-expert *create-spec
输出:
- 设计规范文档
- UI 组件库
- 交互流程图
步骤 4:架构设计
@architect *help
@architect *create-full-stack-architecture
可选架构类型:
*create-backend-architecture- 后端架构*create-front-end-architecture- 前端架构*create-full-stack-architecture- 全栈架构
步骤 5:文档对齐
使用 Product Owner 验证文档一致性:
@po *help
@po *validate
步骤 6:文档分片
将大文档拆分为可执行的小单元:
@po *shard
生成结构:
docs/
├── epics/ # Epic 文档
└── stories/ # Story 文档
阶段二:开发阶段
步骤 7:创建 Story
@sm *help
@sm *create
Scrum Master 会:
- 查看之前的开发记录
- 从 Epic 创建 Story 草案
- 定义任务列表和验收标准
步骤 8:风险评估(推荐)
对于复杂功能,使用 QA 进行风险评估:
@qa *help
@qa *risk docs/stories/story-001.md
@qa *design docs/stories/story-001.md
输出:
- 风险档案(Risk Profile)
- 测试策略(Test Design)
步骤 9:实现 Story
@dev *help
@dev *develop-story
Developer 负责:
- 读取并理解 Story 任务
- 逐个实现任务和子任务
- 编写和执行测试
- 更新 Story 进度
步骤 10:QA 评审
@qa *review docs/stories/story-001.md
QA 执行:
- 需求追溯分析
- 测试覆盖率评估
- 代码质量检查
- 生成质量门(Quality Gate)
步骤 11:问题修复(如需要)
@dev *review-qa
应用 QA 的修复建议。
步骤 12:提交代码
git add .
git commit -m "Implement story XXX"
步骤 13:继续循环
返回步骤 7,处理下一个 Story。
快速开始示例
创建待办事项应用
# 1. 规划阶段
@pm *create-prd
@architect *create-full-stack-architecture
@po *validate
@po *shard
# 2. 开发阶段
@sm *create
@dev *develop-story
@qa *review docs/stories/epic-1.story-1.md
# 3. 提交并继续
git commit -m "Implement story 1"
@sm *create
最佳实践
1. 规划阶段
- 充分调研:使用 Business Analyst 深入了解需求
- 详细文档:确保 PRD 和架构文档的完整性
- 对齐检查:通过 Product Owner 验证文档一致性
2. 开发阶段
- 小步快跑:保持 Story 小而专注
- 持续集成:每个 Story 完成后立即提交
- 质量优先:高风险功能必须进行 QA 风险评估
3. 团队协作
- 明确角色:每个 AI 代理有明确的职责范围
- 有效沟通:通过结构化的文档和检查点确保信息同步
- 持续改进:根据项目经验调整工作流程
适用场景
1. 个人开发者
- 通过 AI 代理团队替代多人协作
- 降低人力成本
- 提高开发效率
2. 小型团队
- 补充团队成员技能短板
- 标准化开发流程
- 提高交付质量
3. 企业项目
- 快速原型验证
- 大规模代码重构
- 复杂系统集成
常见问题
Q: 如何选择合适的 AI 代理?
根据任务类型选择:
- 需求分析 → Business Analyst
- 产品设计 → Product Manager + UX Expert
- 技术实现 → Developer + Architect
- 质量保证 → QA Engineer
Q: Story 太大怎么办?
使用 Scrum Master 进一步分解:
@sm *split-story
Q: QA 发现大量问题如何处理?
- 先修复关键问题
- 更新开发流程
- 加强前期风险评估
进阶技巧
1. 自定义工作流
根据项目特点调整标准流程:
- 增加特定的检查点
- 定制文档模板
- 优化角色分工
2. 性能优化
- 并行处理多个 Story
- 缓存常用文档
- 优化 AI 代理调用
3. 质量门定制
根据项目要求定制质量标准:
- 代码覆盖率要求
- 性能指标标准
- 安全检查清单
总结
BMAD 方法论通过:
- 专业化分工:让每个 AI 代理专注自己擅长的领域
- 标准化流程:确保开发过程的一致性和可预测性
- 质量保证:通过多重检查和验证确保交付质量
- 持续迭代:不断优化和改进开发流程
帮助开发团队:
- 提高开发效率
- 降低沟通成本
- 保证交付质量
- 加速产品迭代