0%

AI驱动的敏捷开发方法论和框架BMAD-METHOD介绍

前言:什么是 BMAD-METHOD?

bmad-code-org/BMAD-METHOD (Breakthrough Method for Agile Ai Driven Development) 是一套AI 驱动的敏捷开发方法论和框架

核心理念:它不仅仅是让 AI 写代码,而是将 AI 角色化(Context Engineering)。它在IDE中构建了一个“虚拟软件开发团队”,包括:

  • Analyst (分析师):负责创意和需求分析。
  • PM (产品经理):负责撰写 PRD(产品需求文档)。
  • Architect (架构师):负责技术选型和系统设计。
  • Scrum Master (敏捷教练):负责将需求拆解为用户故事(User Stories)。
  • Developer (开发者):负责根据 Story 写代码。
  • QA (测试):负责质量保证。

第一阶段:环境准备 (Prerequisites)

在开始之前,需要准备以下工具。BMAD 并不是一个独立的软件,而是一个能与现代 AI 编程工具结合的“插件/配置包”。

  1. Node.js (v20 或更高版本)

    • BMAD 的安装程序是基于 Node.js 的。
    • 检查命令:node -v
  2. AI 编程环境 (IDE / Agent)
    BMAD 最好配合支持“Agent”模式或“上下文管理”的工具使用。推荐以下几种:

    • Claude Code (官方推荐,效果最佳)
    • Roo Code (VS Code 插件)
    • Cursor / Windsurf (AI 编辑器)
    • GitHub Copilot (部分支持)
  3. Git

    • 用于版本控制。

第二阶段:安装与初始化 (Installation)

步骤 1:创建项目目录

找一个空文件夹,或者进入你现有的项目目录。

1
2
mkdir my-bmad-app
cd my-bmad-app

步骤 2:运行安装命令

在终端中运行以下命令(这是 BMAD 的核心安装入口):
最好是安装V6版本:

1
npx bmad-method@alpha install

如果是报ES问题,则:
1
2
NODE_OPTIONS="--experimental-require-module" 
npx bmad-method@alpha install

或者安装V4版本:
1
npx bmad-method install

步骤 3:交互式配置

安装程序会询问你几个问题,请按以下逻辑选择:

  1. Project Type:

    • 如果是新项目,选择 Greenfield (从零开始)。
    • 如果是已有代码的项目,选择 Brownfield (维护/重构)。
    • 教程演示选择:Greenfield
  2. Platform/IDE:

    • 选择你正在使用的工具(如 Claude Code, Roo Code, Cursor 等)。
    • 作用:这会生成对应 IDE 专用的 Prompt 和配置文件(例如 .cursorrules.roo/ 配置)。
  3. Modules:

    • 通常选择 Core (核心包) 和 BMM (BMad Method,标准软件开发流程)。

安装完成后,你会发现项目目录下多了一个 .bmad/ 文件夹(存放核心逻辑)和一个 docs/ 文件夹(存放未来生成的文档)。


第三阶段:核心工作流实战 (The Workflow)

BMAD 的精髓在于“先规划,后编码”。我们将通过构建一个简单的“待办事项(To-Do List)”应用来演练全流程。

第 1 步:规划 (The Analyst & PM)

目标:将你的模糊想法转化为结构化的产品文档。

  1. 激活 Agent:在你的 AI 工具中(如 Claude Code 或 Roo Code),加载 AnalystProduct Manager 的角色(通常通过 @Analyst 或加载对应的 .md 指令文件)。
  2. 输入指令

    “我想要做一个简单的 React 待办事项应用,支持添加、删除和标记完成,数据保存在 LocalStorage。”

  3. BMAD 流程
    • Agent 会根据 BMAD 的模板,生成 Project Brief (项目简报)。
    • 接着,指示 Agent 生成 PRD (Product Requirements Document)
    • 产物位置:查看 docs/prd.md

第 2 步:架构设计 (The Architect)

目标:确定技术栈和文件结构。

  1. 切换角色:告诉 AI “Act as Architect” 或加载架构师配置。
  2. 输入指令

    “基于 docs/prd.md,请生成系统架构文档。”

  3. BMAD 流程
    • 架构师会分析 PRD,决定使用 React + Vite + Tailwind CSS。
    • 它会规划目录结构、数据模型(JSON schema)和组件层级。
    • 产物位置:查看 docs/architecture.md

第 3 步:任务拆解 (The Scrum Master)

目标:将大文档拆解为 AI 可执行的小任务(User Stories)。

  1. 切换角色:Scrum Master (SM)。
  2. 输入指令

    “请根据架构文档,创建开发任务列表(User Stories)。”

  3. BMAD 流程
    • SM 会生成一系列 Markdown 文件,例如:
      • docs/stories/story-1-setup.md (项目初始化)
      • docs/stories/story-2-add-todo.md (添加功能)
      • docs/stories/story-3-delete-todo.md (删除功能)
    • 关键点:每个 Story 文件中都包含了该任务所需的上下文引用(Context),这是 BMAD 能够让 AI 准确写代码的秘密武器。

第 4 步:开发实现 (The Developer)

目标:写代码。这是唯一真正生成代码的步骤。

  1. 切换角色:Developer。
  2. 输入指令

    “执行 story-1-setup.md。”

  3. BMAD 流程
    • Developer 读取 Story 中的具体要求(AC - Acceptance Criteria)。
    • 执行命令初始化项目(如 npm create vite@latest)。
    • 完成后,你手动或让 AI 运行测试。
  4. 循环:接着执行 Story 2、Story 3… 直到所有功能完成。

第四阶段:进阶技巧与原理

1. Context Engineering (上下文工程)

BMAD 解决了 AI 编程最大的痛点:上下文丢失

  • 传统方式:你直接让 AI 写代码,它不知道项目结构,容易瞎编。
  • BMAD 方式:Developer Agent 在写代码时,被强制要求读取 architecture.md 和当前的 story.md。这确保了它知道全局规范(如“所有按钮必须是圆角的”)和局部任务。

2. 目录结构解析

熟悉以下目录有助于你自定义:

  • .bmad/agents/: 存放各个角色的 Prompt 定义(System Prompts)。
  • .bmad/workflows/: 定义了不同任务的步骤链。
  • docs/: 你的项目“大脑”。不要随意手动删除这里的文件,因为 AI 强依赖它们。

3. Brownfield (现有项目) 模式

如果你有一个现成的 Python 或 Java 项目:

  1. 运行 npx bmad-method installBrownfield
  2. 运行 Analyst,让它读取现有代码库:"分析当前 src 目录结构,并更新 architecture.md"
  3. 之后就可以像新项目一样添加新功能了。

第五阶段:常见问题 (FAQ)

  • Q: 我必须使用所有角色吗?
    • A: 不需要。对于极小的修改,可以直接呼叫 Developer。但对于复杂功能,跳过 Architect 步骤通常会导致代码结构混乱(Spaghetti Code)。
  • Q: 支持中文吗?
    • A: 支持。你可以在 System Prompt 中设置语言,或者直接用中文与 Agent 对话。BMAD 的模板默认是英文的,但内容可以用中文填充。
  • Q: 既然有全自动,为什么还需要我一步步操作?
    • A: 目前的 AI (即使是 GPT-4o 或 Claude 3.5 Sonnet) 很难一次性生成完美的复杂应用。BMAD 提倡的是 “Human-in-the-loop” (人在回路),你在每个阶段(PRD、架构、Story)的确认,是保证项目不跑偏的关键。

总结学习路线

  1. Day 1: 安装环境,跑通 npx bmad-method install,看懂 .bmad 文件夹结构。
  2. Day 2: 尝试 “Greenfield” 流程,做一个 Hello World 级别的网页。重点练习从 PRD 到 Story 的拆解。
  3. Day 3: 将 BMAD 集成到你现有的复杂项目中,尝试用它重构一个模块。