BMAD Method (viết tắt của Breakthrough Method of Agile AI Driven Development) là một khung làm việc phát triển phần mềm được dẫn dắt bởi AI theo phương pháp Agile. BMAD cung cấp một hệ thống gồm 21 "đặc vụ" AI chuyên biệt (AI agent) với hơn 50 luồng công việc (workflow) được hướng dẫn chi tiết, cùng khả năng thích ứng quy mô thông minh – điều chỉnh từ việc sửa lỗi nhỏ cho đến xây dựng hệ thống doanh nghiệp phức tạp. Dự án này hoàn toàn miễn phí và mã nguồn mở, không có bất kỳ rào cản trả phí hay nội dung giới hạn nào, nhằm trao quyền cho tất cả mọi người cùng sử dụng.
BMAD Method được thiết kế để tăng tốc và nâng cao hiệu quả phát triển phần mềm bằng cách kết hợp chặt chẽ sức mạnh của AI với kiến thức và tư duy của con người. Thay vì để AI tự động viết mã một cách rập khuôn, các "đặc vụ" của BMAD đóng vai trò như cộng tác viên chuyên gia, hướng dẫn bạn qua một quy trình có cấu trúc nhằm phát huy tối đa ý tưởng và giải pháp từ chính bạn, với sự hỗ trợ thông minh của AI. BMAD hỗ trợ phát triển Agile toàn diện, bao gồm từ giai đoạn lên ý tưởng, lập kế hoạch, thiết kế kiến trúc đến triển khai và kiểm thử.
mindmap
root((BMAD Method))
Đặc vụ AI
21 Agent chuyên biệt
PM, Architect, Dev, QA...
Party Mode
Workflows
50+ luồng công việc
Cấu trúc rõ ràng
Agile best practices
Thích ứng
Quick Flow
BMad Method
Enterprise
Mã nguồn mở
Miễn phí 100%
Cộng đồng đóng góp
Module mở rộng
-
AI hỗ trợ thông minh: BMAD tích hợp trợ lý AI thông minh có thể hướng dẫn bạn từ đầu đến cuối dự án. Bạn chỉ cần gọi lệnh
/bmad-helpở bất kỳ bước nào để được hướng dẫn hoặc giải đáp thắc mắc tự động. Ví dụ: bạn có thể hỏi/bmad-helpkèm câu hỏi cụ thể về dự án, đặc vụ AI sẽ đưa ra gợi ý và giải thích phù hợp với ngữ cảnh dự án của bạn. -
Thích ứng theo quy mô và lĩnh vực: Hệ thống BMAD tự động điều chỉnh độ sâu và phạm vi lập kế hoạch dựa trên độ phức tạp, lĩnh vực và loại hình dự án. (Ví dụ: một ứng dụng hẹn hò nhỏ sẽ có cách lập kế hoạch khác với hệ thống y tế doanh nghiệp, và BMAD sẽ tự thích nghi để đáp ứng nhu cầu mỗi loại dự án.)
-
Workflows có cấu trúc rõ ràng: BMAD cung cấp các luồng công việc được xây dựng dựa trên các thông lệ Agile tốt nhất cho từng giai đoạn: phân tích, lập kế hoạch, thiết kế kiến trúc, triển khai, v.v. Mỗi workflow tương ứng với một bước cụ thể trong quy trình phát triển phần mềm, giúp người dùng biết rõ phải làm gì tiếp theo và không bỏ sót bước quan trọng.
-
Các "đặc vụ" AI chuyên môn hóa: BMAD có nhiều agent với vai trò chuyên biệt như Quản lý Sản phẩm (PM), Kiến trúc sư (Architect), Scrum Master (SM), Lập trình viên (Developer), Kỹ sư Kiểm thử (QA), UX Designer, Technical Writer, v.v. Mỗi agent được "đào tạo" để thực hiện các tác vụ tương ứng với vai trò của mình, chẳng hạn agent PM phụ trách tạo yêu cầu sản phẩm (PRD) và chia nhỏ công việc, agent Architect thiết kế kiến trúc hệ thống, agent Developer viết mã và review code, v.v. Sự phân vai này giúp đảm bảo các quyết định và sản phẩm ở mỗi bước đều có chất lượng chuyên gia.
-
Chế độ "Party Mode": BMAD cho phép bạn mời nhiều agent cùng tham gia trong một phiên để thảo luận hoặc giải quyết vấn đề. Các agent với góc nhìn khác nhau (PM, Architect, Developer…) có thể tương tác đồng thời, đưa ra nhiều ý kiến và giải pháp để bạn tham khảo. Tính năng này hữu ích cho các buổi brainstorm đa chiều hoặc khi xử lý những vấn đề phức tạp, tăng tính sáng tạo và bao quát.
-
Hỗ trợ toàn bộ vòng đời phát triển: Từ khâu động não ý tưởng ban đầu đến triển khai sản phẩm và kiểm thử, BMAD Method luôn đồng hành cùng bạn. Mọi giai đoạn trong vòng đời Agile đều được hỗ trợ bởi agent và workflow tương ứng, đảm bảo bạn không đi một mình ở bất kỳ bước nào.
graph LR
A["💡 Ý tưởng"] --> B["📋 Lập kế hoạch"]
B --> C["🏗️ Thiết kế kiến trúc"]
C --> D["💻 Triển khai"]
D --> E["🧪 Kiểm thử"]
E --> F["🚀 Hoàn thiện"]
A -.- A1["Agent Analyst"]
B -.- B1["Agent PM"]
C -.- C1["Agent Architect"]
D -.- D1["Agent Developer"]
E -.- E1["Agent QA"]
F -.- F1["Agent SM"]
Với những tính năng trên, BMAD Method đang trở thành một công cụ đắc lực giúp lập trình viên và nhóm phát triển xây dựng phần mềm nhanh hơn và thông minh hơn. Phần tiếp theo của tài liệu này sẽ hướng dẫn bạn từng bước cài đặt và sử dụng BMAD Method, từ mức độ cơ bản đến các kỹ thuật nâng cao, giúp bạn khai thác tối đa sức mạnh của dự án BMAD.
Để sử dụng BMAD Method, bạn cần cài đặt sẵn Node.js phiên bản 20 trở lên trên máy tính của mình. Ngoài ra, nên cài đặt Git để quản lý mã nguồn (không bắt buộc nhưng được khuyến nghị) và đặc biệt là bạn nên có một môi trường phát triển tích hợp AI (AI-powered IDE) – ví dụ như Claude Code, Cursor hoặc các công cụ tương tự – để tương tác với các agent AI một cách hiệu quả. Các IDE tích hợp AI này cho phép AI truy cập vào mã nguồn dự án của bạn và thực thi các lệnh hướng dẫn (như các lệnh của BMAD) một cách trực tiếp. (Chúng tôi sẽ nói thêm về các công cụ này ở phần sau.)
graph TD
subgraph "Yêu cầu chuẩn bị"
N["Node.js v20+"]
G["Git - khuyến nghị"]
I["AI-powered IDE"]
end
I --> C["Claude Code"]
I --> CU["Cursor"]
I --> V["VS Code + AI Plugin"]
N --> READY["✅ Sẵn sàng cài đặt BMAD"]
G --> READY
I --> READY
Bạn có thể tích hợp BMAD vào một dự án có sẵn hoặc bắt đầu một dự án mới để thực hành. Hãy tạo sẵn một thư mục dự án trên máy tính của bạn. Mở terminal (dòng lệnh) tại thư mục dự án này.
Trong cửa sổ terminal, chạy lệnh dưới đây để cài đặt BMAD Method vào dự án (sử dụng npx để tải gói từ npm mà không cần cài đặt toàn cục):
npx bmad-method installHoặc nếu bạn muốn cài đặt không tương tác (non-interactive), chỉ định các tham số trực tiếp:
npx bmad-method install --directory /path/to/project --modules bmm --tools claude-code --yesLệnh trên sẽ khởi động trình cài đặt BMAD. Trình cài đặt sẽ hỏi bạn một số thông tin cấu hình cơ bản. Khi được hỏi chọn module nào để cài đặt, hãy đảm bảo chọn "BMad Method" (BMM) – đây là module lõi cung cấp khung làm việc Agile AI mà chúng ta cần. (Bạn có thể cài thêm các module khác sau, nhưng với người mới bắt đầu, chỉ cần module lõi BMM là đủ.)
Quá trình cài đặt sẽ tự động tạo ra cấu trúc thư mục BMAD trong dự án của bạn. Cụ thể, có hai thư mục quan trọng được thêm vào:
_bmad/– chứa các tệp cấu hình, định nghĩa agent, workflow và task của BMAD. Đây là "bộ não" của BMAD trong dự án, bao gồm mọi hướng dẫn để AI agent hoạt động._bmad-output/– thư mục ban đầu còn trống; đây sẽ là nơi lưu trữ các kết quả đầu ra (artifacts) mà BMAD tạo ra trong quá trình bạn làm việc (ví dụ: tài liệu yêu cầu, thiết kế kiến trúc, mã nguồn do AI sinh ra, v.v).
your-project/
├── _bmad/ # Cấu hình BMAD
│ ├── _config/ # Tùy chỉnh người dùng
│ │ ├── agents/ # File .customize.yaml cho từng agent
│ │ ├── agent-manifest.csv # Danh sách tất cả agent đã cài
│ │ ├── task-manifest.csv # Danh sách tất cả task
│ │ └── workflow-manifest.csv # Danh sách tất cả workflow
│ ├── core/ # Framework lõi phổ quát
│ │ ├── agents/ # BMad Master agent
│ │ ├── tasks/ # workflow.xml (engine chính), help.md, shard-doc.xml, ...
│ │ ├── workflows/ # advanced-elicitation/, brainstorming/, party-mode/
│ │ └── config.yaml # Cấu hình lõi (user_name, communication_language, ...)
│ └── bmm/ # Module BMad Method
│ ├── agents/ # Các agent đã biên dịch (PM, Architect, Dev, ...)
│ ├── config.yaml # Cấu hình module BMM
│ ├── data/ # CSV dữ liệu (domain-complexity, project-types)
│ ├── teams/ # Cấu hình nhóm
│ └── workflows/ # Các workflow theo giai đoạn
│ ├── 1-analysis/
│ ├── 2-plan-workflows/
│ ├── 3-solutioning/
│ ├── 4-implementation/
│ ├── bmad-quick-flow/
│ ├── document-project/
│ ├── generate-project-context/
│ └── qa/
├── _bmad-output/ # Thư mục đầu ra
│ ├── planning-artifacts/ # PRD, architecture, UX docs
│ ├── implementation-artifacts/ # Epics, stories, retrospectives
│ │ └── stories/
│ └── sprint-status.yaml # File theo dõi sprint
├── .claude/commands/bmad/ # Lệnh slash cho Claude Code (tự động tạo)
└── src/ (hoặc mã nguồn dự án)
Lưu ý: Cấu trúc trên có thể thay đổi tùy phiên bản, nhưng về cơ bản
_bmad/chứa nội dung cài đặt của BMAD,_bmad-output/chứa kết quả do BMAD sinh ra.
Sau khi cài đặt, bạn đã sẵn sàng bắt đầu sử dụng BMAD Method trong dự án của mình.
Tiếp theo, hãy mở thư mục dự án của bạn bằng một công cụ IDE có hỗ trợ AI. Điều này rất quan trọng vì BMAD được thiết kế để hoạt động thông qua sự tương tác giữa bạn và một trợ lý lập trình AI. Ví dụ, bạn có thể mở dự án trong Claude Code hoặc Cursor – đây là những IDE AI có khả năng đọc nội dung dự án và hỗ trợ chat với AI. Bạn cũng có thể sử dụng Visual Studio Code kết hợp với một tiện ích AI (như GitHub Copilot Chat hoặc plugin ChatGPT) nếu có, miễn là công cụ đó cho phép AI truy cập được các tệp trong thư mục dự án. Khi mở IDE, hãy chắc chắn thư mục gốc của dự án (chứa các thư mục _bmad/ và _bmad-output/) đã được load vào IDE, để AI có thể "nhìn thấy" cấu trúc BMAD.
Lưu ý: BMAD hoạt động hiệu quả nhất khi AI có quyền truy cập vào tệp dự án. Các công cụ như Claude Code hay Cursor cho phép AI đọc và sửa tệp trực tiếp, giúp các lệnh BMAD (ví dụ
/bmad-bmm-quick-spec,/bmad-bmm-dev-story) được thực thi một cách mượt mà. Nếu bạn dùng môi trường chat GPT thông thường (không tích hợp IDE), bạn sẽ cần sao chép nội dung các tệp liên quan vào prompt theo cách thủ công, điều này không được khuyến khích cho người mới bắt đầu.
Để chắc chắn mọi thứ đã sẵn sàng, trong giao diện chat của IDE AI, hãy gọi lệnh trợ giúp của BMAD. Thông thường, bạn có thể gõ:
/bmad-help
và gửi vào cửa sổ chat với AI. Lệnh /bmad-help là một workflow trợ giúp tích hợp sẵn, nó sẽ quét tình trạng dự án của bạn và cho bạn biết bước tiếp theo nên làm là gì, cũng như những bước nào là tùy chọn. Nếu dự án còn mới hoàn toàn, bmad-help sẽ hướng dẫn bạn bắt đầu từ khâu lập kế hoạch. Bạn cũng có thể hỏi /bmad-help kèm câu hỏi cụ thể, ví dụ:
/bmad-help Tôi nên bắt đầu xây dựng ứng dụng web bán áo thun như thế nào?/bmad-help Tôi đã có kiến trúc xong, bước tiếp theo là gì?
Agent AI của BMAD sẽ phân tích ngữ cảnh dự án (các tệp đã có, module cài đặt, v.v) và đưa ra câu trả lời tương ứng. Điều thú vị là nội dung phản hồi của lệnh trợ giúp sẽ thay đổi tùy theo module bạn cài – ví dụ nếu bạn có cài thêm module Creative Intelligence Suite, câu trả lời có thể bổ sung gợi ý sáng tạo nội dung, còn nếu chỉ có module cơ bản BMM thì câu trả lời sẽ khác đi.
Mẹo: Bất cứ khi nào bạn không chắc phải làm gì tiếp theo trong quy trình BMAD, hãy sử dụng
/bmad-help. Công cụ này giống như một "trợ giảng" luôn theo sát tiến độ dự án, sẵn sàng giải thích và đề xuất bước tiếp theo cho bạn.
Một nguyên tắc quan trọng khi làm việc với BMAD Method là: Mỗi workflow (tác vụ) nên được thực hiện trong một phiên chat mới với AI. Điều này giúp tránh việc ngữ cảnh hội thoại cũ ảnh hưởng đến kết quả của bước hiện tại. Ví dụ, sau khi hoàn thành xong workflow tạo PRD, bạn nên mở một cửa sổ chat mới hoặc dọn ngữ cảnh trước khi chuyển sang workflow kiến trúc, nhằm đảm bảo AI tập trung vào nhiệm vụ mới và không bị giới hạn bởi lượng token của chat cũ. Nhiều IDE AI (như Claude Code) cho phép dễ dàng tạo phiên chat mới trong cùng dự án – hãy tận dụng điều đó.
Lưu ý: Luôn bắt đầu một phiên chat mới cho mỗi workflow quan trọng. Điều này sẽ giúp bạn tránh các vấn đề do giới hạn ngữ cảnh của mô hình AI, đồng thời đảm bảo mỗi bước được thực hiện độc lập và chính xác.
sequenceDiagram
participant U as 👤 Người dùng
participant IDE as 🖥️ IDE + AI
participant BMAD as 🤖 BMAD Agent
U->>IDE: Mở dự án
IDE->>BMAD: Load cấu trúc _bmad/
U->>BMAD: /bmad-help
BMAD-->>U: Gợi ý bước tiếp theo
Note over U,BMAD: 🔄 Phiên chat mới cho mỗi workflow
U->>BMAD: /bmad-bmm-create-prd (Phiên mới)
BMAD-->>U: Hỏi đáp và tạo PRD.md
U->>BMAD: /bmad-bmm-create-architecture (Phiên mới)
BMAD-->>U: Thảo luận và tạo architecture.md
U->>BMAD: /bmad-bmm-dev-story (Phiên mới)
BMAD-->>U: Viết mã cho story
Tóm lại, đến đây bạn đã thiết lập xong môi trường để sử dụng BMAD Method: Dự án của bạn có cấu trúc BMAD, và bạn có một IDE hỗ trợ AI sẵn sàng để các agent tương tác. Tiếp theo, chúng ta sẽ đi sâu vào cấu trúc bên trong BMAD và giải thích vai trò của từng thành phần, trước khi thực hành quy trình phát triển đầy đủ với BMAD Method.
Khi cài đặt BMAD Method, phần cốt lõi của hệ thống được đặt trong thư mục _bmad/ của dự án. Hiểu được cấu trúc và vai trò của các tệp trong thư mục này sẽ giúp bạn sử dụng BMAD hiệu quả hơn, đặc biệt khi bạn muốn tuỳ biến hoặc mở rộng hệ thống sau này. Dưới đây là các thành phần chính:
graph TD
subgraph "_bmad/ - Bộ não BMAD"
direction TB
AGENTS["📁 agents/ - Định nghĩa các đặc vụ AI"]
WORKFLOWS["📁 workflows/ - Định nghĩa luồng công việc"]
TASKS["📁 tasks/ - Các task chi tiết"]
CONFIG["📄 config.yaml - Cấu hình toàn cục"]
MODULES["📦 Modules - Mở rộng tùy chọn"]
end
AGENTS --> MASTER["🧙 BMad Master"]
AGENTS --> PM["PM - John"]
AGENTS --> ARCH["Architect - Winston"]
AGENTS --> SM["Scrum Master - Bob"]
AGENTS --> DEV["Developer - Amelia"]
AGENTS --> QA["QA - Quinn"]
AGENTS --> UX["UX Designer - Sally"]
AGENTS --> ANA["Analyst - Mary"]
AGENTS --> TW["Tech Writer - Paige"]
AGENTS --> BARRY["Quick Flow Solo Dev - Barry"]
Mỗi agent là một "nhân vật AI" đảm nhiệm một vai trò nhất định trong quy trình Agile. Các agent được định nghĩa trong thư mục agents/ (bên trong _bmad/bmm/agents/ đối với module BMM, và _bmad/core/agents/ đối với agent lõi). Mỗi tệp agent thường mô tả nhân cách (persona) của agent (ví dụ: "Tôi là Quản lý Sản phẩm với X năm kinh nghiệm…"), mục tiêu của agent và danh sách các workflow chính mà agent có thể thực hiện.
BMad Master là agent thuộc module core (_bmad/core/agents/), đóng vai trò Master Executor, Knowledge Custodian, và Workflow Orchestrator. Đây là agent đầu tiên chào đón bạn khi bạn bắt đầu làm việc với BMAD Method. BMad Master điều phối toàn bộ hệ thống, hướng dẫn bạn đến đúng workflow và agent phù hợp. Khi bạn gõ /bmad-help, chính BMad Master sẽ phân tích ngữ cảnh dự án và đưa ra gợi ý bước tiếp theo.
BMAD Method (module BMM) cung cấp các agent thuộc bộ Agile tiêu chuẩn. Mỗi agent có các trigger code (mã kích hoạt) tương ứng với các workflow mà agent đảm nhiệm:
| Agent | Tên hiệu | Trigger Codes | Vai trò chính |
|---|---|---|---|
| Analyst | Mary | BP, RS, CB, DP |
Phân tích thị trường, brainstorming, nghiên cứu, tạo product brief |
| Product Manager (PM) | John | CP, VP, EP, CE, IR, CC |
Tạo PRD, validate PRD, tạo Epics & Stories, correct-course |
| Architect | Winston | CA, IR |
Thiết kế kiến trúc kỹ thuật, kiểm tra readiness |
| UX Designer | Sally | CU |
Thiết kế trải nghiệm người dùng |
| Scrum Master (SM) | Bob | SP, CS, ER, CC |
Sprint planning, tạo story, retrospective, correct-course |
| Developer (DEV) | Amelia | DS, CR |
Thực thi code cho story, code review |
| QA Engineer | Quinn | QA |
Tự động sinh test kiểm thử |
| Quick Flow Solo Dev | Barry | QS, QD, CR |
Tạo tech-spec nhanh, triển khai nhanh, code review |
| Technical Writer | Paige | DP, WD, US, MG, VD, EC |
Tài liệu dự án, hướng dẫn sử dụng, migration guide |
Mỗi agent sẽ có một tập lệnh menu riêng để bạn kích hoạt các workflow tương ứng. Ví dụ: agent Product Manager có các lệnh tạo/kiểm tra PRD, tạo Epics & Stories; agent Developer có lệnh thực thi user story (/bmad-bmm-dev-story) và kiểm tra mã (/bmad-bmm-code-review). Bạn không nhất thiết phải mở trực tiếp các tệp định nghĩa agent, nhưng khi gọi một workflow (ví dụ /bmad-bmm-create-architecture), AI sẽ nhập vai agent phù hợp (Architect) dựa trên định nghĩa trong tệp agent tương ứng.
Workflows được định nghĩa trong thư mục workflows/. Mỗi workflow tương ứng với một tác vụ hoặc giai đoạn cụ thể trong quy trình phát triển. Ví dụ: workflow create-prd định nghĩa các bước để tạo Product Requirements Document, create-architecture định nghĩa cách thiết kế kiến trúc, dev-story định nghĩa cách thức thực hiện code cho một user story, v.v.
Workflow Execution Engine: Tất cả các workflow đều được vận hành bởi một engine thực thi lõi dựa trên XML (workflow.xml trong _bmad/core/tasks/). Engine này đảm nhiệm việc sắp xếp thứ tự các bước, kiểm tra checkpoint đầu ra theo template, giải quyết biến (variable resolution), và hỗ trợ các tính năng nâng cao như YOLO Mode (bỏ qua xác nhận, AI tự động hoàn thành) và Advanced Elicitation (suy luận lại kết quả bằng các phương pháp tư duy có cấu trúc).
Bên trong định nghĩa mỗi workflow thường bao gồm một chuỗi các task mà agent phải thực hiện tuần tự, cũng như hướng dẫn về định dạng đầu ra. Khi bạn gọi một lệnh workflow (bằng cú pháp slash, ví dụ /bmad-bmm-create-prd hay /bmad-bmm-dev-story), IDE AI sẽ truyền nội dung workflow tương ứng cho agent để thực thi. BMAD Method có hàng chục workflow có sẵn, bao quát hầu hết nhu cầu của quy trình Agile. Bạn có thể tham khảo Quick Reference – bảng tóm tắt các workflow chính và agent sử dụng – dưới đây:
| Workflow (lệnh) | Agent đảm nhiệm | Mục đích chính |
|---|---|---|
/bmad-help |
BMad Master / Bất kỳ | Gợi ý bước tiếp theo, giải đáp thắc mắc |
/bmad-bmm-create-prd |
Product Manager (PM - John) | Tạo tài liệu yêu cầu sản phẩm (PRD) |
/bmad-bmm-create-architecture |
Architect (Winston) | Tạo tài liệu thiết kế kiến trúc với ADR |
/bmad-bmm-create-epics-and-stories |
Product Manager (PM - John) | Phân rã yêu cầu thành các Epics và User Stories |
/bmad-bmm-check-implementation-readiness |
Architect (Winston) | Kiểm tra tính sẵn sàng (PASS/CONCERNS/FAIL) |
/bmad-bmm-sprint-planning |
Scrum Master (SM - Bob) | Lên kế hoạch Sprint, tạo sprint-status.yaml |
/bmad-bmm-create-story |
Scrum Master (SM - Bob) | Tạo file chi tiết cho User Story |
/bmad-bmm-dev-story |
Developer (DEV - Amelia) | Thực thi (viết mã) cho một user story |
/bmad-bmm-code-review |
Developer (DEV - Amelia) | Adversarial code review |
/bmad-bmm-qa-automate |
QA Engineer (Quinn) | Tự động sinh test kiểm thử |
/bmad-bmm-correct-course |
SM (Bob) / PM (John) | Xử lý thay đổi phạm vi giữa sprint |
/bmad-bmm-retrospective |
Scrum Master (SM - Bob) | Tổng kết sau khi hoàn thành Epic |
/bmad-bmm-quick-spec |
Quick Flow Solo Dev (Barry) | Tạo tech-spec nhanh cho dự án nhỏ |
/bmad-bmm-quick-dev |
Quick Flow Solo Dev (Barry) | Triển khai nhanh từ tech-spec |
Ghi chú: Bảng trên liệt kê các workflow chính và agent đảm nhiệm tương ứng. Tên lệnh đầy đủ bắt đầu bằng
/bmad-bmm-(hoặc/bmad-cho lệnh core). Tùy theo IDE, bạn có thể dùng tên rút gọn (alias) như/prd,/dev-story, v.v. BMAD còn nhiều workflow khác như/bmad-brainstorming(Analyst),research(Analyst),create-ux-design(UX Designer), v.v. Bạn có thể xem danh sách đầy đủ trong tài liệu tham khảo BMAD.
Task là thành phần nhỏ hơn tạo nên workflow. Các task được định nghĩa trong thư mục tasks/. Mỗi task thường tương ứng với một bước cụ thể trong workflow, ví dụ: "đặt tiêu đề tài liệu", "liệt kê các user persona", "tạo mục lục", "viết mã cho chức năng X", v.v. Một workflow có thể bao gồm nhiều task liên tiếp. Các task giúp chia nhỏ vấn đề để AI thực hiện tuần tự, đảm bảo tính logic và đầy đủ. Thông thường bạn không cần can thiệp vào task trừ khi bạn muốn tùy chỉnh sâu cách hoạt động của workflow. Hiểu đơn giản, workflow = kịch bản tổng thể, còn task = hành động cụ thể trong kịch bản đó.
graph LR
WF["Workflow: create-prd"] --> T1["Task 1: Thu thập thông tin"]
WF --> T2["Task 2: Xác định user persona"]
WF --> T3["Task 3: Liệt kê yêu cầu chức năng"]
WF --> T4["Task 4: Yêu cầu phi chức năng"]
WF --> T5["Task 5: Soạn thảo PRD.md"]
WF --> T6["Task 6: Xác nhận và lưu file"]
BMAD Method sử dụng hệ thống cấu hình phân tầng:
- Cấu hình lõi (Core config): Nằm ở
_bmad/core/config.yaml. Đây là nơi thiết lập các tham số toàn cục cho toàn bộ hệ thống, ví dụ:user_name(tên hiển thị người dùng),communication_language(ngôn ngữ giao tiếp),document_output_language(ngôn ngữ tài liệu đầu ra). Mặc định, BMAD đểcommunication_language: "english"vàdocument_output_language: "english"– tức các agent sẽ trao đổi và tạo tài liệu bằng tiếng Anh. Bạn có thể đổi sang"vietnamese"nếu muốn. - Cấu hình module: Nằm ở
_bmad/bmm/config.yaml(cho module BMM). Chứa các thiết lập riêng cho module, kế thừa từ core config. Các module con sẽ tự nhận cấu hình từ core nếu không ghi đè. - Tùy chỉnh agent: Thông qua các file
_bmad/_config/agents/*.customize.yaml. Mỗi agent có thể được tùy chỉnh các thuộc tính: tên agent, persona (nhân cách), memories (ký ức/bối cảnh), custom menu items (mục menu tùy chỉnh), critical actions (hành động quan trọng), và custom prompts (prompt tùy chỉnh).
Bên cạnh đó, output_folder thiết lập tên thư mục chứa đầu ra (mặc định là _bmad-output như đã biết). Bạn thường không cần chỉnh nhiều trong config trừ khi có nhu cầu đặc biệt, vì các giá trị mặc định đã được tối ưu cho đa số trường hợp.
Sau khi thay đổi cấu hình: Chạy
npx bmad-method installvà chọn "Quick Update" hoặc "Rebuild Agents" để áp dụng các thay đổi vào agent đã biên dịch.
BMAD Method có kiến trúc mở rộng thông qua các module. Module lõi (BMM) đã cung cấp các workflow chung cho phát triển phần mềm, nhưng bạn có thể cài đặt thêm các module chuyên biệt theo lĩnh vực khi cần. Một số module chính thức do nhóm phát triển BMAD cung cấp gồm:
graph TD
CORE["🧠 BMM - Module Lõi<br/>Khung Agile AI cơ bản"] --> BMB
CORE --> TEA
CORE --> GDS
CORE --> CIS
CORE --> SDET
CORE --> FUTURE
BMB["🔧 BMad Builder - BMB<br/>npm: bmad-builder<br/>Tạo agent, workflow tùy chỉnh"]
TEA["🧪 Test Architect - TEA<br/>npm: bmad-method-test-architecture-enterprise<br/>9 workflow kiểm thử, agent Murat"]
GDS["🎮 Game Dev Studio - GDS<br/>npm: bmad-game-dev-studio<br/>Workflow phát triển game"]
CIS["🎨 Creative Intelligence Suite - CIS<br/>npm: bmad-creative-intelligence-suite<br/>11 agent sáng tạo"]
SDET["🔬 SDET Module<br/>Kiểm thử tích hợp inline"]
FUTURE["🔮 ... Marketplace cộng đồng<br/>Dự kiến tương lai"]
- BMad Builder (BMB): (npm:
bmad-builder) Hỗ trợ bạn tạo agent, workflow và module tùy chỉnh cho các nhu cầu đặc thù. Nếu bạn muốn mở rộng BMAD Method cho một lĩnh vực hoàn toàn mới hoặc tạo các agent với hành vi tùy chỉnh, BMB chính là công cụ để làm điều đó. - Test Architect (TEA): (npm:
bmad-method-test-architecture-enterprise) Cung cấp một bộ công cụ và workflow kiểm thử phần mềm ở mức doanh nghiệp. Module này tập trung vào chiến lược kiểm thử, tự động hóa nâng cao và đảm bảo chất lượng (gồm 9 workflow chuyên sâu về test) – phù hợp cho các dự án lớn đòi hỏi quy trình QA nghiêm ngặt. Agent kiểm thử của TEA tên là Murat. Lưu ý: Từ phiên bản Beta.3+, TEA đã được tách ra thành repo riêng (external repository). - Game Dev Studio (GDS): (npm:
bmad-game-dev-studio, mã module:gds) Module hỗ trợ các workflow phát triển game, có các agent và quy trình chuyên cho việc xây dựng game trên Unity, Unreal, Godot, v.v. - Creative Intelligence Suite (CIS): (npm:
bmad-creative-intelligence-suite) Hỗ trợ các hoạt động tư duy sáng tạo, brainstorming, thiết kế ý tưởng. CIS bao gồm 11 agent chuyên biệt: Innovation Strategist, Design Thinking Coach, Brainstorming Coach, Creative Problem Solver, cùng các persona agent lấy cảm hứng từ các nhà tư tưởng nổi tiếng (Leonardo, Dali, Jobs, Campbell, de Bono, Sophia, Spike). - SDET Module: Module kiểm thử tích hợp, được thêm vào như sự thay thế cho kiểm thử inline trước đây.
- (... và các module khác đang được phát triển, bao gồm cả marketplace cho cộng đồng trong tương lai gần.)
Các module tùy chọn này có thể được cài đặt trong quá trình cài BMAD ban đầu (bạn có thể chọn thêm ngoài BMM), hoặc cài bổ sung sau bằng lệnh cài đặt tương tự. Chẳng hạn, để thêm module Test Architect sau khi đã cài BMAD Method, bạn có thể chạy lại trình cài đặt với tham số --modules tea. Từ phiên bản 6.0.0-Beta.7 (tháng 2/2026), nhóm phát triển cung cấp các module dưới dạng Plugin và các "kỹ năng" linh hoạt để dễ dàng tích hợp. Tuy nhiên, lời khuyên cho người mới bắt đầu là chỉ nên dùng module BMM lõi trước để nắm vững quy trình, sau đó mới khám phá thêm các module mở rộng tùy nhu cầu.
Như vậy, cấu trúc BMAD trong dự án bao gồm các định nghĩa cần thiết để AI có thể đóng vai và thực hiện từng bước trong quy trình phát triển phần mềm. Hiểu các thành phần này giúp bạn tự tin hơn khi sử dụng BMAD, đồng thời mở ra khả năng tùy chỉnh hệ thống theo ý muốn ở mức nâng cao. Phần tiếp theo, chúng ta sẽ đi vào quy trình hoạt động của BMAD Method – tức cách sử dụng các agent và workflow cụ thể từ lúc bắt đầu dự án cho đến khi hoàn thiện.
Bây giờ, chúng ta sẽ cùng tìm hiểu cách sử dụng BMAD Method qua một quy trình phát triển phần mềm hoàn chỉnh. Phần này được trình bày như một giáo trình hướng dẫn theo từng bước, bắt đầu từ mức cơ bản (dành cho người mới) và dần dần đi đến các bước nâng cao hơn. Quy trình BMAD được chia thành 4 giai đoạn chính tương ứng với vòng đời phát triển Agile:
- Giai đoạn 1 – Phân tích (Analysis): Động não ý tưởng, nghiên cứu và xác định mục tiêu ban đầu cho sản phẩm (giai đoạn này tùy chọn, thực hiện khi cần).
- Giai đoạn 2 – Lập kế hoạch (Planning): Xác định yêu cầu chi tiết và phạm vi công việc (luôn bắt buộc phải có).
- Giai đoạn 3 – Thiết kế giải pháp (Solutioning): Thiết kế kiến trúc kỹ thuật và kế hoạch triển khai (bắt buộc đối với dự án phức tạp theo track BMad Method/Enterprise, bỏ qua đối với track đơn giản).
- Giai đoạn 4 – Thực thi (Implementation): Xây dựng sản phẩm theo từng phần (epic/story), kiểm thử và hoàn thiện.
graph LR
subgraph "GĐ 1: Phân tích"
A1["🧠 Brainstorming"]
A2["🔍 Research"]
A3["📝 Product Brief"]
end
subgraph "GĐ 2: Lập kế hoạch"
B1["📋 PRD"]
B2["🎨 UX Design - tùy chọn"]
end
subgraph "GĐ 3: Thiết kế"
C1["🏗️ Architecture"]
C2["📦 Epics và Stories"]
C3["✅ Readiness Check"]
end
subgraph "GĐ 4: Thực thi"
D1["🗓️ Sprint Planning"]
D2["💻 Dev Story"]
D3["🔍 Code Review"]
D4["🧪 QA Testing"]
end
A1 --> A2 --> A3 --> B1
B1 --> B2 --> C1
C1 --> C2 --> C3 --> D1
D1 --> D2 --> D3 --> D4
Tuy theo quy mô và độ phức tạp dự án, BMAD Method có thể điều chỉnh quy trình trên thành các track khác nhau: Quick Flow, BMad Method, hoặc Enterprise.
graph TD
START{"Đánh giá<br/>quy mô dự án"} --> QF
START --> BM
START --> EN
QF["⚡ Quick Flow<br/>1-15 stories, fix bug, tính năng nhỏ"]
BM["🔄 BMad Method - Chuẩn<br/>10-50+ stories, dự án vừa và phức tạp"]
EN["🏢 Enterprise<br/>30+ stories, hệ thống lớn, tuân thủ"]
QF --> QF1["Tech Spec ngắn gọn → Bỏ qua kiến trúc → Triển khai ngay"]
BM --> BM1["PRD đầy đủ → Kiến trúc chi tiết → Epics và Stories → Triển khai"]
EN --> EN1["PRD + Bảo mật → Kiến trúc + DevOps → Module TEA → Triển khai + QA nghiêm ngặt"]
- Quick Flow: phù hợp với các yêu cầu nhỏ, số lượng user story ít (1-15 stories) hoặc phạm vi rất rõ ràng (như fix bug, thêm tính năng nhỏ). Track này do agent Barry (Quick Flow Solo Dev) đảm nhiệm, tinh giản một số bước – sử dụng
/bmad-bmm-quick-specđể tạo một tài liệu kỹ thuật ngắn gọn (tech-spec) thay cho PRD, bỏ qua bước kiến trúc, rồi dùng/bmad-bmm-quick-devđể chuyển thẳng đến giai đoạn triển khai. - BMad Method (Chuẩn): phù hợp với sản phẩm/ dự án vừa và tương đối phức tạp (ví dụ 10–50+ story). Track này bao gồm đủ các bước: tạo PRD chi tiết, thiết kế kiến trúc, có thể thêm bước UX, sau đó mới triển khai. Đây là track mặc định khi bạn cài module BMM.
- Enterprise: dành cho các hệ thống lớn, đòi hỏi tuân thủ, bảo mật, đa người dùng (khoảng 30+ story hoặc hơn). Track này tương tự BMad Method nhưng có thể bổ sung thêm các bước chuyên sâu về bảo mật, DevOps, tuân thủ,… thường thông qua việc tích hợp các module mở rộng (như TEA cho kiểm thử, hoặc các workflow đánh giá bảo mật).
Lưu ý: Số lượng story nêu trên chỉ mang tính định hướng, bạn nên chọn track dựa trên nhu cầu lập kế hoạch thực tế của dự án chứ không chỉ dựa vào "toán học về số story". Nếu dự án của bạn đòi hỏi kiến trúc kỹ càng và nhiều rủi ro, hãy chọn track BMad Method hoặc Enterprise tương ứng, ngay cả khi story chưa nhiều.
Dưới đây, chúng ta sẽ tuần tự đi qua các bước sử dụng BMAD Method theo track chuẩn (BMad Method) – vì track này bao gồm đầy đủ giai đoạn nhất, người học sẽ nắm được toàn bộ khả năng của hệ thống. Cuối phần này chúng tôi cũng sẽ chú thích cách giản lược cho track Quick Flow.
Đây là bước chuẩn bị nền móng cho dự án phần mềm của bạn. BMAD Method sẽ giúp bạn tạo ra các tài liệu và cấu trúc cần thiết trước khi viết mã, giống như việc kiến trúc sư vẽ bản thiết kế trước khi thợ xây xây nhà. Bước này gồm ba giai đoạn: Phân tích, Lập kế hoạch, và Thiết kế giải pháp.
Giai đoạn phân tích giúp bạn hiểu rõ vấn đề và bối cảnh trước khi lao vào xây dựng giải pháp. BMAD cung cấp một số workflow tùy chọn trong giai đoạn này để hỗ trợ bạn hình thành ý tưởng và nghiên cứu:
- Brainstorming (Động não): Nếu bạn chưa rõ nên bắt đầu sản phẩm như thế nào hoặc cần tìm ý tưởng sáng tạo, bạn có thể mở agent Analyst (Mary) và chạy workflow brainstorming. AI Analyst sẽ đặt câu hỏi và gợi ý để bạn suy nghĩ về vấn đề, người dùng mục tiêu, và các ý tưởng tính năng tiềm năng.
- Research (Nghiên cứu): Workflow research (cũng do agent Analyst thực hiện) giúp bạn nghiên cứu thị trường, đối thủ hoặc các giải pháp kỹ thuật liên quan. Agent sẽ hỏi bạn về những gì bạn muốn tìm hiểu rồi cung cấp thông tin tổng hợp.
- Create Product Brief (Tạo bản tóm tắt sản phẩm): Đây là workflow
/bmad-bmm-create-product-brief(agent Analyst đảm nhiệm) nhằm tạo một tài liệu tóm tắt về sản phẩm: mô tả vấn đề, mục tiêu, người dùng chính, và phạm vi MVP (sản phẩm khả dụng tối thiểu). Product brief đóng vai trò nền tảng định hướng cho toàn bộ dự án nên được khuyến khích thực hiện nếu bạn có thời gian. (Trong track BMad Method và Enterprise, việc có Product Brief sẽ giúp các bước sau chặt chẽ hơn.)
Tất cả các workflow trong giai đoạn 1 đều không bắt buộc. Nếu bạn đã rõ ý tưởng và yêu cầu ở đầu, bạn có thể bỏ qua giai đoạn phân tích để tiết kiệm thời gian. Tuy nhiên, với người mới hoặc dự án chưa xác định rõ, đây là bước hữu ích để có cái nhìn toàn cảnh trước khi lập kế hoạch chi tiết.
Đây là giai đoạn cốt lõi tạo nên thành công của dự án, nơi bạn chuyển từ ý tưởng sang các yêu cầu cụ thể và kế hoạch thực hiện. Kết quả chính của giai đoạn này là tài liệu Product Requirements Document (PRD) – đóng vai trò như bản thiết kế chi tiết những gì cần xây dựng.
Tạo Product Requirements Document (PRD):
Để bắt đầu, hãy mở agent Product Manager (PM) trong một phiên chat mới. Agent PM trong BMAD (tên hiệu là John) có nhiệm vụ giúp bạn thu thập và hệ thống hóa các yêu cầu sản phẩm. Bạn kích hoạt workflow tạo PRD bằng cách gõ lệnh:
/bmad-bmm-create-prd
Agent PM sẽ bắt đầu phiên hỏi đáp có hướng dẫn: AI sẽ hỏi bạn nhiều câu liên quan đến sản phẩm – ví dụ sản phẩm này giải quyết vấn đề gì, đối tượng người dùng là ai, yêu cầu tính năng nào quan trọng, có yêu cầu phi chức năng (hiệu năng, bảo mật) nào không, v.v. Bạn hãy trả lời các câu hỏi này chi tiết nhất có thể. Dựa trên thông tin trao đổi, agent sẽ soạn thảo tài liệu PRD.md và lưu vào thư mục _bmad-output/.
sequenceDiagram
participant U as 👤 Bạn
participant PM as 🤖 Agent PM - John
participant FS as 📁 _bmad-output/
U->>PM: /bmad-bmm-create-prd
PM->>U: Sản phẩm giải quyết vấn đề gì?
U->>PM: Quản lý công việc cá nhân...
PM->>U: Đối tượng người dùng là ai?
U->>PM: Nhân viên văn phòng, sinh viên...
PM->>U: Yêu cầu tính năng chính?
U->>PM: CRUD tasks, đăng nhập, nhắc nhở...
PM->>U: Yêu cầu phi chức năng?
U->>PM: Bảo mật mật khẩu, giao diện thân thiện
PM->>FS: 💾 Tạo PRD.md
PM->>U: ✅ PRD đã được tạo thành công!
PRD.md (Product Requirements Document) thường bao gồm: phần giới thiệu vấn đề, mục tiêu sản phẩm, mô tả các chức năng chính (được tổ chức thành Epic và User Story hoặc Yêu cầu), thông tin về người dùng và user persona, tiêu chí thành công, yêu cầu phi chức năng, ràng buộc kỹ thuật, v.v. Đây chính là kim chỉ nam để cả đội phát triển theo trong suốt dự án. Sau khi PRD được tạo, bạn nên dành thời gian đọc lại, chỉnh sửa bổ sung (nếu cần) với sự trợ giúp của agent PM (bạn có thể yêu cầu agent "update" lại PRD nếu bạn muốn thêm ý tưởng mới). BMAD Method còn có workflow validate-prd (PM agent) nếu bạn muốn agent kiểm tra chéo sự hợp lý của PRD và chỉnh sửa. Tuy nhiên, bước validate không bắt buộc – một PRD hoàn chỉnh ở lần tạo đầu tiên là đủ để chuyển sang bước tiếp.
Lưu ý: Đối với dự án theo track Quick Flow, bạn sẽ không tạo PRD đầy đủ mà thay vào đó dùng workflow
/bmad-bmm-quick-spec. Workflow này do agent Quick Flow Solo Dev (Barry) đảm nhiệm – agent này kết hợp vai trò của PM và Developer cho dự án nhỏ. Kết quả/bmad-bmm-quick-speclà một tài liệu kỹ thuật ngắn gọn (tech-spec) liệt kê 1-15 stories cần làm. Sau đó, bạn dùng/bmad-bmm-quick-devđể triển khai nhanh từ tech-spec. Nếu bạn chọn Quick Flow, sau bước này bạn có thể bỏ qua giai đoạn 3 và đi thẳng vào giai đoạn 4 (thực thi). Track Quick Flow thường dành cho cá nhân phát triển độc lập dự án nhỏ, do đó agent Barry được thiết kế để làm nhiều việc một lúc (viết spec và sau đó code luôn). Quick Flow cũng tự động phát hiện stack công nghệ và conventions hiện có nếu dự án đã có mã nguồn. Trong hướng dẫn này chúng ta tập trung track đầy đủ, nên sẽ tiếp tục với PRD cho dự án vừa và lớn.
(Tùy chọn) Thiết kế UX ban đầu: Nếu sản phẩm của bạn có giao diện người dùng đáng kể, bạn có thể cân nhắc tạo một tài liệu thiết kế UX trước khi chuyển sang kiến trúc kỹ thuật. BMAD có agent UX Designer (Sally) và workflow create-ux-design. Workflow này (sau khi có PRD) sẽ giúp phác thảo cấu trúc trải nghiệm người dùng: sơ bộ các màn hình chính, hành trình người dùng, giao diện mẫu… Tuy đây không phải bước bắt buộc, nhưng nếu dự án thiên về giao diện (mobile app, web app nhiều màn hình) thì bước UX sẽ giúp các yêu cầu trực quan và rõ ràng hơn. Bạn có thể chạy bước này sau khi hoàn thành PRD và trước khi làm kiến trúc. Kết quả thường là một tài liệu Markdown mô tả các màn hình kèm wireframe (nếu agent đủ khả năng sinh hình ảnh ASCII hoặc bằng ngôn ngữ thiết kế giả lập).
Giai đoạn 3: Thiết kế giải pháp (Solutioning – Bắt buộc với BMad/Enterprise, tùy chọn với Quick Flow)
Ở giai đoạn này, BMAD Method hỗ trợ bạn lên kiến trúc hệ thống và lập kế hoạch chia nhỏ công việc. Bước này đặc biệt quan trọng đối với dự án phức tạp, vì nó chuyển từ "Chúng ta cần gì" (PRD) sang "Chúng ta sẽ làm như thế nào" (giải pháp kỹ thuật).
Tạo tài liệu Kiến trúc (Architecture):
Mở agent Architect (Kiến trúc sư – tên hiệu Winston) trong một chat mới. Kích hoạt workflow kiến trúc bằng lệnh:
/bmad-bmm-create-architecture
Agent Architect sẽ đọc PRD.md (và có thể cả Product Brief nếu có) để hiểu yêu cầu. Sau đó AI sẽ hỏi bạn thêm về các quyết định kỹ thuật chính: ví dụ nên dùng kiến trúc nhiều tầng hay microservice, chọn ngôn ngữ/libraries nào, cơ sở dữ liệu gì, tích hợp hệ thống nào, v.v. Bạn và AI sẽ cùng thảo luận để xác định các quyết định kiến trúc chủ chốt. Kết thúc workflow, agent sẽ tạo tài liệu kiến trúc (thường là architecture.md trong _bmad-output/) ghi lại toàn bộ thiết kế kỹ thuật của hệ thống. Tài liệu này có thể bao gồm: sơ đồ kiến trúc tổng quan (mô tả các thành phần frontend, backend, database…), quyết định về công nghệ (ngôn ngữ lập trình, framework, dịch vụ đám mây…), mô hình dữ liệu, thiết kế API, v.v. Tài liệu kiến trúc sẽ đóng vai trò kim chỉ nam cho lập trình viên khi hiện thực hóa hệ thống.
Tạo Epics và User Stories:
Đây là bước phân rã công việc. Sau khi có kiến trúc, chúng ta muốn chia dự án thành các Epics (phần lớn chức năng hoặc nhóm chức năng) và trong mỗi Epic gồm các User Story (nhiệm vụ cụ thể nhỏ hơn). Trong BMAD phiên bản 6.0.0-Beta.7, việc tạo story được thực hiện sau khi đã có kiến trúc, nhằm đảm bảo các story được viết ra sẽ ăn khớp với thiết kế kỹ thuật đã thống nhất (đây là cải tiến so với phiên bản trước). Để thực hiện bước này, bạn mở lại agent Product Manager (PM) (John) trong chat mới, chạy lệnh:
/bmad-bmm-create-epics-and-stories
Agent PM sẽ sử dụng thông tin từ cả PRD và tài liệu Kiến trúc để đề xuất danh sách các Epic cần có, cùng tập hợp User Stories cho mỗi Epic. Kết quả, BMAD sẽ tạo một cấu trúc thư mục trong _bmad-output/ (hoặc trong thư mục epics/) chứa các tệp markdown cho từng Epic và Story. Ví dụ: có thể có file epics/EPIC-Login.md mô tả Epic "Đăng nhập người dùng", kèm theo các file story bên trong thư mục epics/EPIC-Login/ như Story-Login-UI.md, Story-Login-API.md, v.v. Mỗi file story thường ghi rõ: mô tả user story (vai trò người dùng, mục tiêu), tiêu chí hoàn thành (Acceptance Criteria), và có thể phác thảo kế hoạch triển khai cho story đó. Những story này chính là đơn vị công việc nhỏ nhất mà lập trình viên sẽ thực hiện trong giai đoạn triển khai.
graph TD
PRD["📋 PRD.md"] --> EPIC_GEN["/bmad-bmm-create-epics-and-stories"]
ARCH["🏗️ architecture.md"] --> EPIC_GEN
EPIC_GEN --> E1["📦 Epic 1: Quản lý Tài khoản"]
EPIC_GEN --> E2["📦 Epic 2: Quản lý Công việc"]
EPIC_GEN --> E3["📦 Epic 3: Thông báo"]
E1 --> S1A["📄 Story: Đăng ký"]
E1 --> S1B["📄 Story: Đăng nhập"]
E1 --> S1C["📄 Story: Quên MK"]
E2 --> S2A["📄 Story: Thêm việc"]
E2 --> S2B["📄 Story: Xem danh sách"]
E2 --> S2C["📄 Story: Đánh dấu hoàn thành"]
E2 --> S2D["📄 Story: Xóa việc"]
E3 --> S3A["📄 Story: Cài nhắc nhở"]
E3 --> S3B["📄 Story: Nhận thông báo"]
Lưu ý: Nếu bạn theo track Quick Flow, bạn sẽ không có bước kiến trúc và tạo epic/story ở đây. Thay vào đó, từ giai đoạn 2, bạn đã có tài liệu tech-spec liệt kê các story rồi, bạn có thể chuyển thẳng sang thực thi các story đó. Còn với track BMad Method/Enterprise, việc tạo epic & story lúc này đảm bảo rằng bạn có cái nhìn toàn cảnh về khối lượng công việc, cũng như thứ tự ưu tiên của các story (agent PM thường sẽ gắn cờ ưu tiên hoặc sắp xếp story theo MVP).
Kiểm tra độ sẵn sàng triển khai (Implementation Readiness):
Đây là một bước kiểm tra tổng hợp rất hữu ích trước khi chính thức viết mã. Mục đích là để đảm bảo các đầu ra từ giai đoạn lập kế hoạch phù hợp và nhất quán với nhau. Để làm bước này, bạn mở agent Architect (Winston) và chạy lệnh:
/bmad-bmm-check-implementation-readiness
Agent Architect sẽ kiểm tra chéo giữa PRD, tài liệu Kiến trúc, và các Epic/Story vừa tạo, để xem có chỗ nào mâu thuẫn hoặc thiếu sót không. Ví dụ: có yêu cầu nào trong PRD chưa được phản ánh thành story? Kiến trúc đề xuất công nghệ A nhưng story lại mô tả theo hướng khác? Agent sẽ báo cáo nếu phát hiện vấn đề và gợi ý chỉnh sửa. Nếu mọi thứ nhất quán, agent sẽ cho biết bạn đã sẵn sàng để triển khai. Bước này không bắt buộc nhưng rất được khuyên làm (Highly Recommended), đặc biệt cho dự án lớn, vì nó giúp bạn tự tin rằng kế hoạch của mình đã chặt chẽ. Sau bước này, chúng ta chính thức bước sang giai đoạn thực thi.
Đến giai đoạn này, bạn đã có đầy đủ "bản thiết kế" cho dự án: từ yêu cầu (PRD), thiết kế tổng quan (Architecture) đến danh sách nhiệm vụ (Epics & Stories). Giờ là lúc BMAD Method hỗ trợ bạn trực tiếp viết mã, kiểm thử và hoàn thiện sản phẩm theo hướng dẫn từ các tài liệu trên. Giai đoạn 4 này diễn ra theo phong cách phát triển lặp (iterative development) – tức là thực hiện tuần tự từng phần (epic/story), kiểm thử, cải tiến, rồi lặp lại cho phần tiếp theo, cho đến khi hoàn thành tất cả.
Trước khi bắt đầu coding story đầu tiên, có một bước nhỏ cần làm:
Trong Agile Scrum, trước khi triển khai, bạn thường lập kế hoạch sprint để quyết định sẽ làm những user story nào trong đợt (sprint) này, ai làm, thời gian ra sao. BMAD cung cấp agent Scrum Master (SM) (tên hiệu Bob) để giúp bạn quản lý công việc ở cấp độ tiến trình.
Sprint Planning (Lập kế hoạch nước rút): Mở agent Scrum Master trong chat mới, chạy lệnh:
/bmad-bmm-sprint-planning
Agent SM sẽ thu thập danh sách tất cả các epics và stories từ bước trước để tạo một file theo dõi tiến độ tên là sprint-status.yaml. File YAML này (lưu trong _bmad-output/) liệt kê tất cả các Epic và User Story, trạng thái hiện tại của chúng (pending, in-progress, done), ai là người phụ trách (mặc định có thể để trống hoặc tên bạn nếu cấu hình user_name), và các thông tin liên quan đến sprint (sprint number, độ dài sprint,…). Nếu bạn làm việc theo nhóm, agent SM có thể hỏi bạn phân công ai làm story nào để điền vào file. Còn nếu bạn làm một mình, bạn có thể đánh dấu mình là người thực hiện tất cả hoặc bỏ qua phần người phụ trách.
Kết thúc bước này, file sprint-status.yaml đóng vai trò bảng điều phối giúp bạn nắm được toàn bộ bức tranh công việc. Mỗi khi một story được hoàn thành, bạn hoặc agent sẽ cập nhật trạng thái trong file này (nhiều công cụ AI IDE thậm chí có thể tự động đánh dấu). Việc có sprint-status giúp BMAD agent ở các bước sau hiểu ngữ cảnh (ví dụ: bmad-help sẽ biết bạn đã làm xong đến đâu để tư vấn tiếp).
Giờ chúng ta đi vào trọng tâm của giai đoạn triển khai: thực hiện các user story – tức là viết mã hiện thực chức năng yêu cầu, sau đó kiểm tra chất lượng mã. BMAD Method hướng dẫn một chu trình lặp 3 bước cho mỗi user story như sau:
graph LR
CS["/bmad-bmm-create-story<br/>🤖 Agent SM"] --> DS["/bmad-bmm-dev-story<br/>🤖 Agent DEV"]
DS --> CR["/bmad-bmm-code-review<br/>🤖 Agent DEV"]
CR --> DONE{"Story<br/>hoàn thành?"}
DONE -- "Có ✅" --> NEXT["Story tiếp theo"]
DONE -- "Cần sửa 🔧" --> DS
NEXT --> CS
1. Tạo file cho User Story (/bmad-bmm-create-story):
Trước khi viết mã, ta cần chắc chắn hiểu rõ yêu cầu của story. Agent Scrum Master (SM) hỗ trợ tạo ra một khung tài liệu cho từng user story cụ thể. Khi bắt đầu một story, hãy mở agent SM (Bob) trong chat mới, chạy lệnh:
/bmad-bmm-create-story
Agent sẽ hỏi bạn chọn story nào trong danh sách backlog (danh sách story trong sprint-status hoặc trong thư mục epics). Bạn chỉ định story mà bạn sắp làm (ví dụ: "Story: Đăng ký tài khoản mới"). Agent SM sau đó sẽ tạo một tệp Markdown cho story đó trong thư mục thích hợp (thường trong epics/<EpicName>/Story-XYZ.md). Tệp story này đóng vai trò như một đề bài chi tiết cho lập trình viên thực hiện. Nội dung gồm: nhắc lại mô tả story, liệt kê các tiêu chí chấp nhận (AC), liệt kê các bước/ nhiệm vụ triển khai cụ thể nếu có (ví dụ: cần tạo những API nào, cập nhật database thế nào, UI ra sao), và liên kết đến các phần tài liệu liên quan (trích dẫn từ PRD hoặc Architecture nếu cần). Agent SM đảm bảo rằng story này được đặt trong bối cảnh tổng thể (Epic nào, phụ thuộc gì không). Khi file story đã sẵn sàng, agent đánh dấu story này là "in-progress" trong sprint-status.
Ví dụ: Giả sử bạn đang làm story "Người dùng thêm công việc mới trong app To-Do". File story có thể trông như sau:
# User Story: Thêm công việc mới
**Mô tả:** Là một người dùng, tôi muốn có thể thêm một công việc mới vào
danh sách việc cần làm, để tôi có thể theo dõi công việc đó.
**Epic liên quan:** Quản lý Công Việc (To-Do)
**Tiêu chí hoàn thành (AC):**
- [ ] Khi nhập tiêu đề công việc và bấm "Thêm", mục công việc mới phải
xuất hiện trong danh sách.
- [ ] Nếu tiêu đề để trống và người dùng bấm "Thêm", hệ thống phải cảnh
báo lỗi yêu cầu nhập tiêu đề.
- [ ] Công việc mới mặc định ở trạng thái chưa hoàn thành.
**Status:** `backlog`
<!-- Các giá trị status hợp lệ: backlog, ready-for-dev, in-progress, review, done -->
**Kế hoạch triển khai:**
1. Tạo UI với một trường nhập văn bản cho tiêu đề và nút "Thêm".
2. Xử lý sự kiện bấm nút: kiểm tra tiêu đề không rỗng, gọi hàm tạo
công việc.
3. Cập nhật danh sách hiển thị sau khi thêm.
4. Lưu công việc vào cơ sở dữ liệu (sử dụng API đã thiết kế).(Minh họa một phần nội dung file story – agent SM sẽ tạo dựa trên thông tin từ PRD và Architecture. Bạn có thể bổ sung nếu cần trước khi chuyển cho developer.)
2. Thực hiện story -- Viết mã (/bmad-bmm-dev-story):
Sau khi đã có file mô tả chi tiết story, bây giờ đến lượt agent Developer (DEV) vào cuộc. Mở agent Developer (Amelia) trong một chat mới cho riêng story này. Bạn gõ lệnh:
/bmad-bmm-dev-story
Agent Developer sẽ đọc nội dung file story (và các tài liệu liên quan như kiến trúc) để hiểu chính xác cần làm gì. Sau đó AI sẽ bắt đầu viết mã hiện thực cho story đó. Tùy thuộc vào IDE AI bạn dùng, quá trình này có thể diễn ra theo nhiều cách:
- Nếu dùng IDE AI hỗ trợ code edit (như Claude Code, Cursor): agent Developer có thể tự động tạo hoặc chỉnh sửa các file mã nguồn trực tiếp trong dự án của bạn. Ví dụ, nếu story yêu cầu "thêm tính năng đăng ký người dùng", agent có thể tạo file
SignupForm.jsvới mã giao diện, hoặc thêm hàmcreateUser()trong fileUserController.java,… Agent sẽ hiển thị cho bạn thấy phần code thay đổi (thường dưới dạng diff hoặc code block trong chat) và cũng thực sự ghi vào file dự án nếu được phép. - Nếu dùng môi trường chat không có quyền sửa file: agent Developer sẽ đề xuất đoạn mã cần thêm/sửa. Bạn sẽ thấy code được đề xuất trong cửa sổ chat. Nhiệm vụ của bạn là chép những đoạn code đó vào file tương ứng trong dự án. Thông thường, agent sẽ hướng dẫn khá rõ "Mở file X, thêm hàm Y…", bạn chỉ việc làm theo. Đây là cách hoạt động khi sử dụng ChatGPT trong môi trường VS Code chẳng hạn.
Trong quá trình agent Developer thực thi, bạn có thể tương tác: đặt câu hỏi nếu chưa rõ, hoặc yêu cầu điều chỉnh nếu code chưa phù hợp. Agent có thể chạy qua nhiều bước: tạo mã, sau đó kiểm tra lại ngữ cảnh (ví dụ nó có thể tự mở lại PRD/Architecture để chắc chắn tuân thủ), rồi tiếp tục viết mã. Hãy kiên nhẫn và hợp tác với AI để hoàn thiện story. Khi agent Developer thông báo hoàn thành story (ví dụ: "Code for story XYZ has been implemented."), hãy xem lại các file mã nguồn đã tạo/sửa. Bạn nên chạy thử code (nếu có thể) để đảm bảo chức năng hoạt động như mong đợi.
Mẹo: Luôn đảm bảo agent Developer có đủ ngữ cảnh cần thiết khi viết mã. Nếu bạn thấy AI bỏ sót chi tiết từ tài liệu (ví dụ quên một tiêu chí chấp nhận), bạn có thể nhắc lại hoặc trích dẫn từ file story để agent bổ sung. Mô hình AI có thể có giới hạn về lượng thông tin, nên việc chia nhỏ theo story như BMAD đã làm là rất hữu ích.
3. Kiểm tra chất lượng mã (/bmad-bmm-code-review):
Sau khi code cho story được viết xong, trước khi đánh dấu story là hoàn thành, BMAD khuyến khích bạn dùng agent Developer để review lại mã. Ngay trong phiên chat với agent Developer cho story đó, bạn có thể chạy tiếp lệnh:
/bmad-bmm-code-review
Agent Developer sẽ duyệt qua các phần code vừa được thêm/sửa (nó thường biết chính xác đã động đến file nào trong phiên dev-story) và tiến hành kiểm tra: đảm bảo mã tuân thủ kiến trúc, kiểm tra lỗi tiềm ẩn, tối ưu hóa, v.v. Kết quả, agent sẽ đưa ra một báo cáo ngắn gọn về chất lượng: ví dụ "Code tuân thủ các tiêu chí đề ra, không thấy lỗi cú pháp, có thể bổ sung kiểm tra trường hợp X" hoặc "Phát hiện một vấn đề: chưa kiểm tra đầu vào rỗng cho hàm Y – cần xử lý". Nếu agent đề xuất cải tiến, bạn có thể yêu cầu nó thực hiện hoặc tự bạn chỉnh sửa. Mục tiêu của bước code-review là để bạn có cơ hội sửa lỗi sớm và cải thiện chất lượng trước khi chính thức coi story là hoàn thành.
Khi code review xong và bạn đã hài lòng, bây giờ bạn có thể cập nhật file story (đánh dấu các tiêu chí hoàn thành) và cập nhật trạng thái story trong sprint-status.yaml thành "done". Bạn vừa hoàn thành một user story!
4. Lặp lại cho các story tiếp theo: Bạn sẽ quay lại bước 1 của chu trình này (tạo file cho story kế tiếp) và tiếp tục quy trình /bmad-bmm-create-story -> /bmad-bmm-dev-story -> /bmad-bmm-code-review cho đến khi toàn bộ các story trong một Epic được hoàn thành. Mỗi story làm trong một phiên chat tách biệt, lặp lại các bước như trên.
graph TD
subgraph "Sprint Cycle"
SP["🗓️ Sprint Planning"] --> STORY1
subgraph "Story 1"
STORY1["/bmad-bmm-create-story"] --> DEV1["/bmad-bmm-dev-story"]
DEV1 --> CR1["/bmad-bmm-code-review"]
CR1 --> DONE1["✅ Story Done"]
end
DONE1 --> STORY2
subgraph "Story 2"
STORY2["/bmad-bmm-create-story"] --> DEV2["/bmad-bmm-dev-story"]
DEV2 --> CR2["/bmad-bmm-code-review"]
CR2 --> DONE2["✅ Story Done"]
end
DONE2 --> STORY_N["... Story N"]
STORY_N --> RETRO["🔄 Retrospective"]
end
RETRO --> SP2["🗓️ Sprint tiếp theo"]
- Retrospective (Tổng kết đợt): Sau khi bạn hoàn thành tất cả story thuộc một Epic (hay kết thúc một Sprint), bạn có thể chạy workflow
/bmad-bmm-retrospectivevới agent Scrum Master. Agent sẽ giúp bạn tổng kết những gì đã hoàn thành, những trở ngại nào gặp phải, và bài học kinh nghiệm. Kết quả thường là một bản báo cáo retrospective (có thể lưu vào_bmad-output/). Bước này hữu ích nếu bạn muốn cải thiện quy trình cho những vòng sau, nhất là khi làm việc nhóm (ví dụ agent có thể hỏi bạn: điều gì làm tốt, điều gì chưa, và ghi chú lại). Nếu bạn làm cá nhân, bạn có thể bỏ qua hoặc chỉ làm không chính thức.
Quy trình triển khai cứ thế tiếp diễn theo vòng lặp cho đến khi tất cả các epic và story đã hoàn thành. Nhờ việc chia nhỏ và có hướng dẫn từng bước, BMAD giúp đảm bảo rằng bạn luôn biết phải làm gì tiếp theo và không bỏ sót phần nào. Khi mọi thứ hoàn tất, dự án của bạn sẽ có đầy đủ tài liệu và mã nguồn, sẵn sàng để chạy thử nghiệm tích hợp và triển khai thực tế.
Song song với việc triển khai tính năng, BMAD Method cũng hỗ trợ bạn trong khâu kiểm thử phần mềm nhằm phát hiện lỗi và đảm bảo chất lượng. Có hai cấp độ giải pháp kiểm thử mà BMAD cung cấp:
graph LR
subgraph "Kiểm thử cơ bản"
QA["🤖 Quinn - QA Agent<br/>Tích hợp sẵn BMM"]
QA --> UT["Unit Tests"]
QA --> IT["Integration Tests cơ bản"]
QA --> FAST["⚡ Nhanh và nhẹ"]
end
subgraph "Kiểm thử chuyên sâu"
TEA_A["🤖 Test Architect<br/>Module TEA"]
TEA_A --> TD["Test Design"]
TEA_A --> AUTO["Automation nâng cao"]
TEA_A --> NFR["NFR Assessment"]
TEA_A --> TR["Truy xuất yêu cầu"]
TEA_A --> ENT["🏢 Cấp doanh nghiệp"]
end
Kiểm thử nhanh với Quinn (QA):
Quinn là agent QA tích hợp sẵn trong module lõi BMM, dành cho việc tạo test một cách nhanh gọn. Nếu bạn muốn tự động sinh ra các trường hợp kiểm thử đơn giản cho chức năng vừa làm, bạn có thể mở agent QA (Quinn) và chạy workflow:
/bmad-bmm-qa-automate
Agent QA sẽ xem xét mã nguồn hiện tại (hoặc dựa trên story hoàn thành) và tự động tạo ra các kịch bản kiểm thử (unit test, integration test cơ bản) phù hợp. Ví dụ, sau khi bạn làm xong story "Thêm công việc mới" ở trên, chạy /bmad-bmm-qa-automate có thể khiến agent sinh ra một file test (ví dụ test_add_task.js) với các trường hợp: thêm công việc thành công, thêm công việc tiêu đề trống phải báo lỗi, v.v. Quinn tập trung vào mẫu hình kiểm thử tiêu chuẩn, dễ sử dụng cho người mới và giúp bạn nhanh chóng có được độ bao phủ kiểm thử cho mã nguồn mà không tốn nhiều công sức. Đây là giải pháp kiểm thử "nhanh và nhẹ" – phù hợp cho dự án nhỏ hoặc bước đầu của dự án lớn khi cần thứ gì đó chạy ngay.
Kiểm thử chuyên sâu với Test Architect (TEA):
Đối với các dự án ở quy mô doanh nghiệp hoặc yêu cầu chất lượng cao, BMAD cung cấp module tùy chọn Test Architect (TEA). TEA cung cấp agent chuyên về QA cao cấp tên là Murat, với bộ 9 workflow bao trùm toàn bộ vòng đời kiểm thử: từ lập kế hoạch test dựa trên rủi ro, thiết kế case kiểm thử theo chuẩn, đánh giá yêu cầu phi chức năng (NFR), đến thực thi test, theo dõi truy xuất yêu cầu, v.v. Nếu cài module này, bạn sẽ có những workflow như /test-design, /automate (tương tự QA nhưng nâng cao hơn), /nfr-assessment (đánh giá hiệu năng, bảo mật), /test-review, v.v. TEA phù hợp khi bạn cần xây dựng một chiến lược kiểm thử toàn diện và tuân thủ các tiêu chuẩn (ví dụ dự án tài chính, y tế cần rất cẩn thận). Dĩ nhiên, sử dụng TEA đòi hỏi bạn có kiến thức nhất định về kiểm thử phần mềm để hiểu các khái niệm (agent sẽ hướng dẫn, nhưng phạm vi rộng hơn nhiều). Với người mới bắt đầu, bạn có thể chưa cần TEA ngay, nhưng hãy biết rằng BMAD có sẵn "đất" cho kiểm thử nâng cao khi bạn cần mở rộng sau này.
Tóm lại, BMAD Method không chỉ giúp bạn viết code mà còn tạo điều kiện để bạn kiểm soát chất lượng song hành. Bạn có thể bắt đầu với những bài test cơ bản cùng agent Quinn để tự động phát hiện lỗi nhanh chóng. Về sau, nếu dự án lớn mạnh, bạn có thể tích hợp module TEA và áp dụng quy trình QA chặt chẽ hơn.
BMAD Method cung cấp một số tính năng nâng cao giúp tối ưu hóa chất lượng và tốc độ làm việc:
Sau khi bất kỳ workflow nào tạo ra nội dung (PRD, kiến trúc, stories...), AI có thể suy luận lại kết quả bằng hơn 50 phương pháp tư duy có cấu trúc. Các phương pháp bao gồm: First Principles (Nguyên lý đầu tiên), Red Team vs Blue Team (Đối kháng), Pre-mortem Analysis (Phân tích rủi ro trước), Socratic Questioning (Hỏi theo phương pháp Socrates), và nhiều phương pháp khác.
Cách hoạt động:
- AI đề xuất 5 phương pháp suy luận phù hợp nhất với nội dung vừa tạo.
- Bạn chọn một phương pháp.
- AI áp dụng phương pháp đó để xem xét lại và đề xuất cải tiến.
Đây là cách BMAD đảm bảo chất lượng đầu ra vượt xa việc AI chỉ đơn giản "viết ra một lần rồi xong".
Đây là kỹ thuật code review nâng cao trong workflow /bmad-bmm-code-review. Người review (agent AI) bắt buộc phải tìm ra vấn đề (tối thiểu 3, tối đa 10 phát hiện). Không có kết quả "looks good" -- nếu không tìm thấy vấn đề nào, hệ thống sẽ tạm dừng và yêu cầu phân tích lại. Điều này đảm bảo mọi code review đều có giá trị thực sự.
Trong bất kỳ workflow nào tạo tài liệu (PRD, architecture, stories...), bạn có thể kích hoạt YOLO Mode để bỏ qua tất cả các bước xác nhận và elicitation. Khi bật YOLO Mode, AI sẽ mô phỏng một người dùng chuyên gia để tự động trả lời các câu hỏi và hoàn thành toàn bộ các mục còn lại của workflow. Tính năng này hữu ích khi bạn muốn tạo nhanh bản nháp đầu tiên để sau đó chỉnh sửa.
Khi các file Markdown trở nên quá lớn (vượt giới hạn context window của AI), bạn có thể sử dụng công cụ /bmad:core:tools:shard-doc để tự động chia file theo tiêu đề ## thành các file nhỏ hơn trong một thư mục kèm index.md. Tất cả workflow của BMM đều hỗ trợ minh bạch cả tài liệu nguyên bản lẫn tài liệu đã phân mảnh, nhờ giao thức discover_inputs.
BMAD sử dụng một hệ thống quản lý ngữ cảnh thông minh: đầu ra của mỗi giai đoạn tự động trở thành đầu vào cho giai đoạn tiếp theo. Cụ thể:
- PRD cung cấp ràng buộc cho Architect.
- Architecture cung cấp mẫu (patterns) cho Developer.
- File story cung cấp ngữ cảnh triển khai tập trung cho từng phiên dev.
- Các workflow tự động tải ngữ cảnh liên quan thông qua giao thức
discover_inputs.
Nhờ cơ chế này, AI luôn có đủ thông tin cần thiết mà không cần bạn phải copy-paste thủ công giữa các bước.
BMAD Method không chỉ dành cho dự án mới mà còn hỗ trợ hiệu quả cho các dự án đã có sẵn mã nguồn (brownfield projects):
- Workflow
document-project: Sử dụng agent Analyst để quét toàn bộ codebase hiện có. Workflow này tạo ra fileproject-context.mdghi lại trạng thái hiện tại, kiến trúc, và các quy tắc (architectural rules) của dự án. - Workflow
generate-project-context: Dành riêng cho việc phân tích dự án brownfield -- tạo ra bối cảnh dự án chi tiết giúp BMAD hiểu stack công nghệ, conventions, và cấu trúc đang được sử dụng. - Quick Flow tự nhận diện: Khi làm việc với dự án có sẵn, Quick Flow (agent Barry) tự động phát hiện stack công nghệ và conventions hiện có, đảm bảo code mới tuân thủ phong cách hiện tại.
- Tôn trọng conventions: BMAD luôn tôn trọng các quy ước mã nguồn (coding conventions) đã có trong dự án, không ép buộc thay đổi phong cách code.
Để bắt đầu với dự án có sẵn, quy trình khuyến nghị:
- Cài BMAD vào dự án (
npx bmad-method install). - Chạy workflow
document-projecthoặcgenerate-project-contextđể AI hiểu dự án. - Từ đó, bạn có thể sử dụng các workflow phát triển bình thường (tạo PRD cho tính năng mới, dev-story, code-review...).
Sau khi hoàn thành các vòng lặp triển khai và kiểm thử cho mọi tính năng, bạn sẽ đạt tới giai đoạn cuối cùng: hoàn thiện sản phẩm để sẵn sàng triển khai. Lúc này, bạn có thể sử dụng agent Product Manager hoặc Scrum Master để tổng hợp lại tài liệu dự án cuối cùng nếu muốn (ví dụ, có workflow document-project do Analyst hoặc Technical Writer thực hiện, nhằm xuất báo cáo tài liệu tổng hợp dự án). Đồng thời, kiểm tra lại trong _bmad-output/ bạn đã có: PRD cuối cùng (có thể đã cập nhật qua quá trình /bmad-bmm-correct-course nếu bạn từng thay đổi yêu cầu), tài liệu kiến trúc (có thể đã được cập nhật nếu cần), các tài liệu thiết kế khác (UX, test plan nếu có), các file code (trong thư mục dự án chính), và log tiến độ (sprint-status.yaml).
Đến đây, chúc mừng bạn – bạn đã đi qua toàn bộ quy trình phát triển với BMAD Method! 🎉 Bạn đã học cách cài đặt BMAD, tạo cấu trúc dự án, sử dụng các agent AI để lập kế hoạch, thiết kế và triển khai tính năng, cũng như kiểm thử và hoàn thiện sản phẩm. Dự án mẫu của bạn bây giờ có thể chạy được ở mức cơ bản. Tất nhiên, còn bước triển khai thực tế (deploy) lên môi trường sản xuất, nhưng BMAD Method về cơ bản dừng ở việc tạo ra sản phẩm hoàn thiện trong môi trường phát triển. Việc deploy có thể do bạn tự thực hiện ngoài (BMAD không can thiệp deployment, trừ khi bạn có workflow tùy chỉnh cho CI/CD).
flowchart LR
subgraph Plan["🗺️ Lập Kế Hoạch - Plan"]
direction TB
A1["🧠 Phân tích ý tưởng<br/>brainstorm, research<br/><i>Agent Analyst</i>"] --> A2["📝 Tài liệu Product Brief<br/><i>tuỳ chọn</i>"]
A2 --> B1["📋 Tạo yêu cầu sản phẩm PRD<br/><i>Agent PM</i>"]
B1 --> B2["🏗️ Thiết kế kiến trúc kỹ thuật<br/><i>Agent Architect</i>"]
B2 --> B3["📦 Tạo Epics và Stories<br/><i>Agent PM</i>"]
B3 --> B4["✅ Kiểm tra sẵn sàng triển khai<br/><i>Agent Architect</i>"]
end
subgraph Build["🔨 Thực Thi - Build"]
direction TB
C1["🗓️ Lập kế hoạch Sprint<br/><i>Agent SM</i>"] --> C2["🔄 Thực hiện mỗi User Story:<br/>• Tạo Story - Agent SM<br/>• Viết mã Dev - Agent DEV<br/>• Review mã - Agent DEV"]
C2 --> C3["🔁 Lặp lại đến khi<br/>hoàn thành tất cả Stories"]
C3 --> C4["📊 Tổng kết Retrospective<br/><i>Agent SM</i>"]
end
A4["⚡ Quick Flow rút gọn:<br/>Bỏ qua bước kiến trúc, epics"] -.- B1
B4 --> C1
Sơ đồ trên minh họa dòng chảy công việc chính với BMAD Method: Giai đoạn Lập Kế Hoạch ở bên trái (Plan) tạo ra PRD, Kiến trúc, Stories; sau đó sang Giai đoạn Thực Thi (Build) bên phải, lặp lại triển khai từng story và kiểm thử. Nhánh Quick Flow cho thấy track rút gọn lược bỏ một số bước.
Để giúp bạn hình dung rõ hơn việc áp dụng BMAD Method, chúng ta cùng xem một ví dụ thực tế và sau đó là một số bài tập thực hành cho bạn tự rèn luyện. Giả sử bạn muốn phát triển một ứng dụng "Quản lý Công Việc Cá Nhân" (Personal Todo List) – cho phép người dùng tạo danh sách công việc cần làm, đánh dấu hoàn thành, xóa công việc, v.v. Đây là một dự án nhỏ phù hợp để người mới làm quen với BMAD.
Bối cảnh dự án mẫu: Bạn dự định xây dựng một ứng dụng web đơn giản cho phép người dùng đăng ký tài khoản, sau đó thêm/sửa/xóa các công việc trong danh sách Todo của họ. Bạn muốn ứng dụng có giao diện thân thiện, thời gian thực (cập nhật trạng thái ngay khi người dùng đánh dấu hoàn thành công việc), và có thể mở rộng sau này.
journey
title Hành trình phát triển Todo List App với BMAD
section Khởi tạo
Tạo thư mục dự án: 5: Bạn
Cài đặt BMAD Method: 5: Bạn
Gọi /bmad-help: 4: Bạn, AI
section Phân tích
Brainstorming ý tưởng: 4: Analyst
Tạo Product Brief: 4: Analyst
section Lập kế hoạch
Tạo PRD: 5: PM
Thiết kế Kiến trúc: 5: Architect
Tạo Epics và Stories: 4: PM
Kiểm tra sẵn sàng: 4: Architect
section Triển khai
Sprint Planning: 4: SM
Dev Story Đăng ký: 5: Developer
Code Review: 4: Developer
Dev Story Đăng nhập: 5: Developer
QA Testing: 4: Quinn
section Hoàn thiện
Retrospective: 4: SM
Tổng hợp tài liệu: 5: Tech Writer
Hãy xem cách BMAD Method hỗ trợ bạn từ đầu đến cuối:
Bạn tạo một thư mục dự án trống, cài đặt BMAD Method (như hướng dẫn ở phần trước). Mở dự án bằng Claude Code (chẳng hạn). Gọi /bmad-help – agent thông báo dự án mới, gợi ý bạn nên bắt đầu với việc tạo PRD.
Bạn quyết định thử lệnh /bmad-brainstorming với agent Analyst để xem AI có gợi ý gì thú vị cho ứng dụng Todo List. AI hỏi vài câu về đối tượng người dùng (nhân viên văn phòng, học sinh?), hoàn cảnh sử dụng (quản lý việc cá nhân, công việc nhóm?), bạn trả lời ngắn. AI tổng hợp một vài ý tưởng: có thể thêm tính năng đặt hạn chót cho công việc, gợi ý nhắc nhở, v.v. Bạn ghi chú những ý hay vào sổ tay. Sau đó, bạn chạy /bmad-bmm-create-product-brief. AI Analyst tạo một bản Product Brief tóm tắt: mục tiêu ứng dụng (giúp người dùng quản lý thời gian và công việc hiệu quả hơn), người dùng mục tiêu (người bận rộn, thích đơn giản), tính năng chính (thêm/xóa/đánh dấu việc, phân loại theo ngày/thẻ, thông báo nhắc nhở), rủi ro (cạnh tranh nhiều ứng dụng tương tự), v.v. Bạn hài lòng và lưu Product Brief làm tài liệu tham khảo.
Bạn mở agent Product Manager và chạy /bmad-bmm-create-prd. AI PM bắt đầu hỏi chi tiết:
- "Ứng dụng sẽ có những tính năng chính nào?" – Bạn liệt kê: quản lý danh sách công việc (CRUD công việc), đăng ký/đăng nhập người dùng, phân loại công việc theo nhãn hoặc dự án, đặt hạn chót và nhắc nhở.
- "Ai sẽ sử dụng app này? Mục tiêu của họ là gì?" – Bạn mô tả: người dùng cá nhân, cần công cụ đơn giản, giao diện web, có thể đồng bộ đa thiết bị.
- "Thành công của sản phẩm được đo bằng gì?" – Bạn nghĩ: số lượng công việc hoàn thành, thời gian người dùng gắn bó… nhưng với dự án nhỏ, bạn nói: miễn người dùng thấy hữu ích là được.
- … AI có thể hỏi thêm về yêu cầu phi chức năng: Bạn nhắc hiệu năng không quan trọng lắm vì ít người dùng, nhưng tính bảo mật cơ bản (mật khẩu mã hóa,…) phải có.
Sau khoảng 5-7 câu hỏi, agent thông báo đã đủ thông tin và tiến hành tạo PRD.md. Vài chục giây sau, file PRD.md được tạo trong _bmad-output/. Bạn mở file và thấy một tài liệu khá đầy đủ bằng tiếng Anh (vì bạn chưa đổi ngôn ngữ, PRD mặc định bằng tiếng Anh):
- Introduction: giới thiệu nhu cầu quản lý công việc.
- User Personas: mô tả "Alice – nhân viên văn phòng bận rộn cần app nhắc việc", "Bob – sinh viên muốn tổ chức việc học" chẳng hạn.
- Functional Requirements: liệt kê các tính năng: Đăng ký/Đăng nhập, Thêm công việc, Xem danh sách, Đánh dấu hoàn thành, Xóa công việc, Chỉnh sửa công việc, Gắn nhãn, Tìm kiếm, v.v. Mỗi cái có mô tả ngắn.
- Non-functional: bảo mật mật khẩu, giao diện thân thiện, có thể mở rộng mobile sau này.
- Risks: người dùng quên mật khẩu, v.v.
Bạn nhận thấy AI đã liệt kê hơi nhiều tính năng (ví dụ tính năng tìm kiếm, gắn nhãn mà lúc đầu bạn chưa chắc làm). Bạn quyết định cắt giảm: chỉnh sửa PRD, bỏ phần Search và Labels để giữ dự án nhỏ gọn. Bạn thêm vào PRD một yêu cầu "Ứng dụng có thông báo nhắc nhở trước deadline của công việc" vì thấy quan trọng. Xong, bạn lưu PRD.md. (Bạn có thể nhờ agent PM cập nhật, nhưng tự sửa trực tiếp cũng được).
Mở agent Architect và chạy /bmad-bmm-create-architecture. AI Architect xem qua PRD rồi hỏi:
- "Bạn định xây dựng ứng dụng web này bằng công nghệ gì?" – Bạn: dùng MERN stack (MongoDB, Express, React, Node) vì bạn quen nó.
- "Ứng dụng có cần realtime (websocket) không?" – Bạn: realtime là tốt nhưng để đơn giản có thể dùng AJAX định kỳ. Có thể dùng WebSocket nếu kịp.
- "Bạn có muốn deploy cloud serverless không?" – Bạn: triển khai truyền thống cũng được.
Agent tạo architecture.md. Bạn thấy:
- Kiến trúc tổng quan: Mô hình client-server, React làm frontend, Node/Express backend, MongoDB database. Có sơ đồ ASCII minh họa các thành phần.
- Các quyết định chính: Sử dụng RESTful API, có thể dùng Socket.IO cho realtime update, mã hóa JWT cho session…
- Thiết kế dữ liệu: định nghĩa collection cho User, Task (Task gồm title, description, due_date, completed_flag, user_id, timestamps).
- Sơ lược API: liệt kê endpoint chính:
/api/tasks [GET, POST],/api/tasks/{id} [PUT, DELETE],/api/auth/register,/api/auth/login. - Logic front-end: dùng React, có các component: TaskList, TaskItem, AddTaskForm, LoginForm, etc.
graph TD
subgraph "Frontend - React"
UI["React App"]
UI --> LF["LoginForm"]
UI --> RF["RegisterForm"]
UI --> TL["TaskList"]
UI --> TI["TaskItem"]
UI --> ATF["AddTaskForm"]
end
subgraph "Backend - Node/Express"
API["Express Server"]
API --> AUTH["/api/auth/*<br/>Register, Login"]
API --> TASKS["/api/tasks/*<br/>CRUD Operations"]
API --> MW["Middleware<br/>JWT Auth"]
end
subgraph "Database - MongoDB"
DB[("MongoDB")]
DB --> USERS["Users Collection<br/>email, passwordHash"]
DB --> TASK_COL["Tasks Collection<br/>title, description,<br/>due_date, completed,<br/>user_id, timestamps"]
end
UI --> API
API --> DB
Giờ mở lại agent PM, chạy /bmad-bmm-create-epics-and-stories. AI PM kiểm tra PRD và kiến trúc, rồi sinh ra các epics:
- Epic 1: Quản lý tài khoản người dùng – bao gồm Story: "Đăng ký tài khoản", "Đăng nhập", "Quên mật khẩu" (có thể).
- Epic 2: Quản lý công việc cá nhân – bao gồm Story: "Thêm công việc mới", "Xem danh sách công việc", "Đánh dấu hoàn thành công việc", "Xóa công việc".
- Epic 3: Thông báo nhắc nhở – bao gồm Story: "Cài đặt nhắc nhở cho công việc", "Nhận thông báo nhắc nhở" (cái sau có thể là giả định).
- Epic 4: Giao diện người dùng – (AI có thể tách riêng, hoặc gộp vào các epic trên).
Agent tạo một cấu trúc thư mục _bmad-output/epics/ với các file cho mỗi Epic và Story.
Mở agent Architect, chạy /bmad-bmm-check-implementation-readiness. AI đối chiếu PRD với các story:
- AI phát hiện: TRONG PRD có nhắc "nhắc nhở (reminder)" nhưng chưa thấy story nào về gửi thông báo (Epic3 có cài đặt nhắc nhở nhưng chưa rõ việc gửi). Agent cảnh báo điều này. Bạn nhận ra đúng là chưa nghĩ cách thực hiện thông báo (có thể push notification phức tạp, tạm bỏ?).
- AI gợi ý: Nếu chưa chắc, có thể đánh dấu tính năng nhắc nhở là stretch goal (không bắt buộc cho phiên bản đầu). Bạn quyết định cập nhật PRD: chuyển mục "Thông báo nhắc nhở" thành mục "Dự định tương lai" thay vì yêu cầu cốt lõi.
- Ngoài ra, agent có thể kiểm tra: mọi yêu cầu chính trong PRD đã có story tương ứng chưa. Kết quả: Ok (đăng ký, đăng nhập, CRUD task đều có).
- Kiến trúc so với story: agent thấy ổn (ví dụ story DeleteTask – kiến trúc có API xóa, khớp nhau).
Agent kết luận bạn đã sẵn sàng để triển khai (sau khi bạn điều chỉnh lại PRD cho khớp). Giờ thì bắt đầu coding thôi!
Bạn quyết định trong Sprint 1 sẽ hoàn thành các tính năng cơ bản (Epics 1 & 2). Mở agent SM, chạy /bmad-bmm-sprint-planning. Agent tạo file sprint-status.yaml liệt kê tất cả stories:
sprint: 1
length: 2 weeks
team: [Dev1] # nếu nhiều người có thể liệt kê
stories:
- id: Story-Register
epic: UserAccount
title: Đăng ký tài khoản người dùng
status: backlog
assignee: Dev1
- id: Story-Login
epic: UserAccount
title: Đăng nhập hệ thống
status: backlog
assignee: Dev1
- id: Story-AddTask
epic: Tasks
title: Thêm công việc mới
status: backlog
assignee: Dev1
- ... # (các story khác)Agent có thể hỏi bạn muốn làm story nào trước, bạn chọn: ưu tiên hoàn thành chức năng tài khoản trước (để đăng nhập vào hệ thống), rồi đến quản lý công việc.
sequenceDiagram
participant U as 👤 Bạn
participant SM as 🤖 SM - Bob
participant DEV as 🤖 Dev - Amelia
participant FS as 📁 Dự án
U->>SM: /bmad-bmm-create-story → Story-Register
SM->>FS: 📄 Tạo Story-Register.md
SM-->>U: Story sẵn sàng!
Note over U,DEV: Phiên chat mới
U->>DEV: /bmad-bmm-dev-story → Story-Register
DEV->>FS: 📝 Tạo RegisterForm.jsx
DEV->>FS: 📝 Tạo routes/auth.js
DEV->>FS: 📝 Tạo models/User.js
DEV->>U: Dùng bcrypt được không?
U->>DEV: Đồng ý 👍
DEV->>FS: 📝 Hoàn thiện code
DEV-->>U: ✅ Register implemented!
U->>DEV: /bmad-bmm-code-review
DEV-->>U: ⚠️ Chưa check email phía server
U->>FS: 🔧 Sửa code theo gợi ý
DEV-->>U: ✅ Code looks good!
U->>FS: Cập nhật sprint-status → Done
Mở agent SM, chạy /bmad-bmm-create-story. Chọn story Register. Agent SM tạo file Story-Register.md với đầy đủ chi tiết thực thi. Bạn xem file Story-Register:
- Mô tả: As a new user, I want to register an account with email & password.
- AC: email phải hợp lệ, email chưa tồn tại, password đáp ứng chính sách (ví dụ >=8 ký tự), đăng ký thành công thì tự động đăng nhập hoặc thông báo.
- Implementation: cần form giao diện, API endpoint POST /api/auth/register, lưu user DB (mã hóa password).
Bây giờ mở agent Developer, chạy /bmad-bmm-dev-story. Agent đọc Story-Register và bắt đầu viết mã:
- Tạo file
src/components/RegisterForm.jsxvới form input email, password, nút Submit. - Tạo
src/api/auth.jsthêm hàmregisterUser(data)gọi endpoint. - Tạo
src/server/routes/auth.jsthêm routerouter.post('/register', ...)xử lý tạo user. - Tạo
src/server/models/User.jsđịnh nghĩa User schema (MongoDB): email, passwordHash,… - Agent dừng lại hỏi: "Bạn muốn dùng thư viện nào để mã hóa mật khẩu? bcrypt được không?" – Bạn đồng ý dùng bcrypt.
- Agent tiếp tục: trong route register, dùng
bcrypt.hash(password)rồi lưu user. - Agent hiển thị mã đã tạo. Bạn chép (hoặc AI tự động điền file nếu dùng Claude Code).
Sau khi code xong, agent thông báo: "Register functionality implemented. Please review and test."
Bạn gõ /bmad-bmm-code-review trong cùng chat. Agent Developer phân tích code:
- Nó phát hiện bạn chưa kiểm tra định dạng email phía server (chỉ mới client). Gợi ý: nên kiểm tra email hợp lệ ở server nữa.
- Cũng gợi ý: mật khẩu chưa kiểm tra độ mạnh (có thể chấp nhận vì đã giới hạn độ dài).
- Bạn quyết định: thêm check email regex ở server. Bạn tự sửa code auth.js theo gợi ý agent.
- Agent khen: code nhìn tốt hơn, chúc mừng.
Bạn cập nhật sprint-status.yaml: đánh dấu Story-Register done.
Tiến trình tương tự: /bmad-bmm-create-story cho Login (nếu cần), open agent Dev, run /bmad-bmm-dev-story. Agent tái sử dụng nhiều phần:
- Tạo
LoginForm.jsx. - Thêm route
POST /api/auth/loginkiểm tra user,bcrypt.comparemật khẩu, trả JWT token. - Cập nhật giao diện điều hướng sau đăng nhập.
Code-review: agent nhắc đảm bảo lưu token an toàn (HttpOnly cookie chẳng hạn). Bạn điều chỉnh theo khuyến cáo. Story Login hoàn thành.
Tương tự, bạn lần lượt thực hiện story AddTask, ViewTasks. Có thể gộp chúng hoặc làm song song:
- AddTask: agent Developer tạo
AddTaskForm.jsx, routePOST /api/tasks, model Task. - ViewTasks: agent gợi ý tạo
TaskList.jsxhiển thị tasks từGET /api/tasks. - CompleteTask, DeleteTask: nếu trong Sprint 2, thì để sau.
Bạn và agent dần dần viết xong các chức năng. Mỗi lần đều code-review để chắc không bug. Quinn (QA agent) có thể được gọi sau khi xong một vài chức năng quan trọng:
- Bạn chạy
/bmad-bmm-qa-automatesau khi xong AddTask + ViewTasks: agent QA tạo test cho API/tasks(giả lập thêm task với dữ liệu hợp lệ và không hợp lệ). - Bạn chạy test, thấy 1 test fail (AI expected code 400 cho tiêu đề rỗng nhưng code bạn chưa check rỗng server). Bạn sửa code, test pass. 👍
Tất cả story trọng tâm của Sprint 1 đã done. Mở agent SM, chạy /bmad-bmm-retrospective. AI Scrum Master hỏi bạn một vài câu: "Điều gì diễn ra tốt trong Sprint này?" Bạn: việc tích hợp BMAD giúp em code nhanh hơn, rõ ràng từng bước. "Khó khăn gì?" Bạn: đôi lúc AI viết code chưa tối ưu, phải chỉnh tay, và ngôn ngữ tài liệu tiếng Anh phải tự dịch. AI tạo báo cáo retrospective ghi lại các điểm này và khuyến nghị: lần sau có thể thử đặt document_output_language: vietnamese để agent viết tài liệu tiếng Việt cho nhanh (một phát hiện thú vị!). Bạn lưu lại để cải thiện.
Bạn tiếp tục Sprint 2 cho các story còn lại: CompleteTask, DeleteTask, có thể Notification (nếu muốn làm). Quy trình giống Sprint 1. Sau cùng, toàn bộ chức năng Todo List cơ bản hoàn thành. Bạn có một bộ mã nguồn tương đối đầy đủ (React frontend + Node backend), kèm các tài liệu PRD, Architecture, v.v.
(Tùy chọn) Bạn có thể dùng agent Technical Writer (Paige) với workflow /document-project để tổng hợp các tài liệu thành một báo cáo cuối. Agent này thậm chí có thể tạo một số biểu đồ (sử dụng Mermaid) cho bạn, ví dụ sơ đồ use-case hoặc diagram kiến trúc. Bạn thử workflow document-project và thấy agent tạo một file Markdown tổng hợp: bao gồm phần giới thiệu dự án, liệt kê các use case, đính kèm hình vẽ kiến trúc (Mermaid) và liệt kê module, v.v. Rất tiện lợi để làm báo cáo cho sếp hay thầy cô nếu đây là project học tập.
Đến đây, bạn đã trải nghiệm việc phát triển một ứng dụng hoàn chỉnh với sự hỗ trợ của BMAD Method. Từ góc độ người mới, BMAD đã:
- ✅ Hướng dẫn bạn từng bước một trong quy trình, giúp bạn biết cần làm gì và làm như thế nào.
- ✅ Đóng vai các chuyên gia (PM, Architect, Dev, QA) để bổ khuyết kiến thức cho bạn khi cần (ví dụ: nhắc bạn về kiểm tra đầu vào, mã hóa mật khẩu).
- ✅ Tự động tạo ra tài liệu chuẩn chỉnh mà nếu tự viết có thể bạn sẽ bỏ qua.
- ✅ Hỗ trợ viết code nhanh hơn và có kiểm tra, giảm thiểu lỗi.
- ✅ Giúp bạn học hỏi các thông lệ tốt (best practices) trong lập trình thông qua tương tác với các agent.
Bạn cũng thấy rằng BMAD không làm thay toàn bộ công việc, mà đòi hỏi sự phối hợp từ phía bạn. Điều này hoàn toàn có chủ ý: BMAD tin rằng con người vẫn là trung tâm sáng tạo, AI chỉ là công cụ hỗ trợ. Sự kết hợp này giúp kết quả đạt chất lượng cao hơn so với AI tự động hoàn toàn.
Để củng cố kiến thức, bạn có thể tự mình thử sức với các bài tập sau:
-
Thực hành với dự án Todo List: Nếu đã theo dõi ví dụ trên, hãy thử tự tay làm lại các bước cho ứng dụng Todo List hoặc một ứng dụng tương tự (ví dụ: ứng dụng Quản lý Ghi chú cá nhân). Cố gắng thực hiện đầy đủ từ PRD đến code cho một vài chức năng cơ bản. Điều này giúp bạn làm quen giao diện công cụ AI và cách các agent tương tác.
-
Thử track Quick Flow: Tạo một dự án thử mới (ví dụ: một tiện ích dòng lệnh nhỏ) và cài BMAD. Khi tạo kế hoạch, chọn track Quick Flow. Bạn sẽ sử dụng agent Quick Flow Solo Dev (Barry) -- thử chạy lệnh
/bmad-bmm-quick-specđể xem tài liệu tech-spec được tạo ra sao, sau đó dùng/bmad-bmm-quick-devđể triển khai nhanh từ tech-spec và xem toàn bộ quá trình rút gọn thế nào. So sánh với track đầy đủ. -
Tích hợp module TEA (nâng cao): Nếu bạn hứng thú với kiểm thử, cài thêm module Test Architect vào dự án Todo List ở trên (
npx bmad-method install --modules tea). Đọc tài liệu hướng dẫn TEA và thử chạy một vài workflow như/test-designhoặc/trace(theo dõi yêu cầu). Mặc dù phần này khá nâng cao, nhưng nó cho bạn thấy BMAD mở rộng được tới đâu. -
Tùy chỉnh agent hoặc workflow (nâng cao): Mở thư mục
_bmad/bmm/workflows/và thử đọc nội dung một workflow YAML đơn giản (ví dụ workflowcreate-prd.yaml). Tìm hiểu cấu trúc bên trong: các bước tasks được liệt kê ra sao. Nếu cảm thấy mạo hiểm, bạn có thể sao lưu file gốc, rồi thử chỉnh sửa nhỏ (ví dụ đổi một câu prompt cho vui) và chạy lại workflow xem kết quả có thay đổi không. Đây là bước đầu để bạn hiểu cách tạo workflow tùy chỉnh bằng BMad Builder sau này.
Trong phần đầu, chúng ta đã đề cập việc cần một IDE tích hợp AI để làm việc hiệu quả với BMAD. Ở phần này, chúng ta sẽ thảo luận rõ hơn về cách kết hợp BMAD Method với các AI Agent/ công cụ AI phổ biến hiện nay, nhằm tự động hóa và nâng cao khả năng của hệ thống, cũng như cách mở rộng BMAD cho các mục đích phức tạp hơn.
BMAD Method phiên bản 6.0.0-Beta.7 (tháng 2/2026) hỗ trợ hơn 20 IDE tích hợp AI. Dưới đây là phân loại theo mức độ tương thích:
graph TD
BMAD["🤖 BMAD Method v6<br/>20+ IDE hỗ trợ"] --> PREFERRED["⭐ Preferred"]
BMAD --> SUPPORTED["👍 Also Supported"]
BMAD --> MANUAL["⚠️ Thủ công"]
PREFERRED --> CC["Claude Code"]
PREFERRED --> CURSOR["Cursor"]
PREFERRED --> WINDSURF["Windsurf"]
SUPPORTED --> GEMINI["Gemini CLI"]
SUPPORTED --> COPILOT["GitHub Copilot"]
SUPPORTED --> CLINE["Cline"]
SUPPORTED --> ROO["Roo Code"]
SUPPORTED --> AUGGIE["Auggie"]
SUPPORTED --> CODEX["Codex"]
SUPPORTED --> OPENCODE["OpenCode"]
SUPPORTED --> QWEN["QwenCoder"]
SUPPORTED --> TRAE["Trae"]
SUPPORTED --> KIRO["Kiro CLI"]
SUPPORTED --> KILO["KiloCoder"]
SUPPORTED --> ANTIGRAVITY["Google Antigravity"]
SUPPORTED --> IFLOW["iFlow"]
SUPPORTED --> CRUSH["Crush"]
SUPPORTED --> ROVO["Rovo Dev"]
MANUAL --> CHATGPT["ChatGPT / GPT-4<br/>Web - Copy-paste"]
MANUAL --> API["Custom Script<br/>OpenAI API"]
Claude Code là một công cụ AI do Anthropic phát triển, được thiết kế cho việc hỗ trợ lập trình trong môi trường IDE. Điểm mạnh của Claude Code là khả năng đọc và hiểu ngữ cảnh toàn bộ dự án (nó có thể nạp hàng trăm nghìn token, nghĩa là nhiều file cùng lúc) và thực hiện các tác vụ phức tạp một cách "tác nhân hoá" (agentic). Khi sử dụng Claude Code cùng BMAD:
- Bạn có thể cài plugin Claude Code trong VS Code hoặc chạy
claudetrong terminal (nếu có công cụ CLI) để kích hoạt trợ lý AI. - Sau khi cài BMAD, Claude Code sẽ tự nhận biết các tệp trong
_bmad/. BMAD tự động tạo các lệnh slash trong.claude/commands/bmad/, vì vậy khi bạn gõ lệnh như/bmad-bmm-create-prdhay bất kỳ lệnh workflow nào, Claude Code sẽ tìm đến định nghĩa workflow tương ứng và thực thi logic dựa trên đó. - Claude Code có thể tự tạo và chỉnh sửa tệp. Điều này nghĩa là khi agent Developer quyết định tạo file mới, Claude có thể trực tiếp tạo file đó trong dự án mà không cần bạn copy-paste.
- Claude Code hỗ trợ nhiều lệnh đặc biệt và phím tắt (tuỳ môi trường) giúp bạn dễ tương tác với BMAD hơn. Ví dụ, có thể có lệnh để liệt kê các agent có sẵn, xem menu hướng dẫn, v.v (bạn kiểm tra tài liệu của Claude Code để biết thêm).
Nói ngắn gọn, Claude Code + BMAD Method là một sự kết hợp lý tưởng để đạt mức độ tự động hoá cao trong lập trình. Bạn có thể gần như giao cho AI thực hiện tuần tự các bước phát triển (dưới sự giám sát của bạn). Tuy nhiên, hãy nhớ luôn giữ quyền kiểm soát: bạn nên xem lại mã và quyết định cuối cùng thay vì phó mặc 100% cho AI.
OpenAI Codex (tiền thân của GPT-4 trong lập trình) và ChatGPT hiện nay cũng có khả năng hỗ trợ lập trình mạnh mẽ. Tuy không có một sản phẩm tên "Codex IDE" riêng, nhưng bạn có các cách sau:
-
Sử dụng GitHub Copilot Chat: Đây là công cụ chat AI tích hợp VS Code (và một số IDE khác). Copilot Chat sử dụng mô hình GPT-4 (hoặc tương tự) và có thể truy cập ngữ cảnh file bạn mở. Tuy nhiên, Copilot Chat hiện chưa đọc toàn bộ project như Claude Code, mà chủ yếu theo ngữ cảnh file đang làm việc. Do đó, để dùng BMAD, bạn có thể mở thủ công các tệp workflow/agent liên quan để Copilot Chat biết đến chúng. Ví dụ, mở file
create-prd.yamltrước, rồi trong cửa sổ chat yêu cầu "Hãy thực thi workflow tạo PRD này". Cách này hơi vòng vèo nhưng vẫn dùng được. -
Sử dụng ChatGPT (giao diện web): Nếu bạn không có IDE tích hợp, bạn có thể dùng ChatGPT Plus trên web với GPT-4. Tuy nhiên, bạn cần cung cấp ngữ cảnh bằng cách copy nội dung các file agent/workflow quan trọng vào prompt. Thao tác sẽ như: copy nội dung agent PM, paste vào chat bảo ChatGPT "Hãy đóng vai agent này", rồi copy workflow PRD vào, bảo nó thực hiện… Rõ ràng, cách này thủ công và chỉ phù hợp nếu bạn không có lựa chọn nào khác. Nó cũng dễ gây vượt giới hạn token nếu project lớn.
-
Sử dụng OpenAI API với một khung agent tuỳ chỉnh: Đây là phương pháp nâng cao. Bạn có thể viết một đoạn code Python sử dụng OpenAI API GPT-4, nạp các tệp BMAD vào hệ thống prompt, sau đó lần lượt gửi lệnh workflow. Về bản chất, bạn đang tự viết một "AI IDE" đơn giản. Cách này đòi hỏi kỹ thuật, nhưng một số thành viên cộng đồng đã thử để tạo tính tự động hoá hoàn toàn (không cần bạn can thiệp từng bước). Chẳng hạn, có người trên Reddit hỏi về việc để BMAD agents tự chạy liên tục qua nhiều task. Hiện tại, OpenAI GPT-4 vẫn giới hạn độ dài ngữ cảnh (khoảng 8K-32K token), nên nếu dự án lớn, việc nạp toàn bộ có thể khó khăn. Song, nếu dự án vừa phải, bạn có thể lần lượt feed cho GPT từng phần. Điều này về cơ bản là làm bằng tay, nhưng bạn có thể tự động hóa bằng kịch bản.
Lưu ý về tính tự động hoàn toàn: BMAD Method được thiết kế xoay quanh triết lý "Facilitation over Generation" – tức là hỗ trợ con người tạo ra sản phẩm chứ không thay thế hoàn toàn con người. Do đó, hiện tại chưa có sẵn nút bấm nào kiểu "AI ơi, tự làm hết dự án cho tôi". Nếu bạn cố gắng script để AI chạy liên tục qua các workflow mà không có phản hồi con người, rất có thể:
- AI sẽ vấp phải chỗ cần quyết định (ví dụ: chọn công nghệ) mà không có thông tin bạn cung cấp, dẫn đến kết quả không chính xác.
- Hoặc AI có thể đi lệch hướng nếu một bước có đầu ra không đúng (mà không được bạn hiệu chỉnh trước khi sang bước sau).
Tuy nhiên, điều này không ngăn cản bạn thử nghiệm những mức độ tự động hóa cao hơn. Với kinh nghiệm kỹ thuật, bạn có thể kết hợp BMAD với các khung multi-agent như LangChain hoặc Auto-GPT: cho AI quyền gọi lại chính mình nhiều lần, qua đó chuỗi nhiều workflow. Chẳng hạn, bạn có thể lập trình: "Nếu /bmad-bmm-create-prd xong, tự động chạy /bmad-bmm-create-architecture, rồi tự động chạy /bmad-bmm-create-epics-and-stories...". Nhưng hãy chỉ làm điều này khi bạn đã hiểu rõ và tin tưởng từng workflow, bởi vì sai sót nhỏ có thể khuếch đại qua các bước khi không có con người kiểm tra giữa chừng.
Hiện tại, cách tối ưu để dùng BMAD vẫn là kết hợp nhịp nhàng giữa bạn và AI: AI lo phần nặng và gợi ý, bạn lo quyết định và điều chỉnh. Điều này đảm bảo sản phẩm cuối phù hợp mong đợi của bạn nhất.
Khi bạn dần thành thạo (master) BMAD Method, bạn có thể sẽ muốn:
- Thêm tính năng mới cho BMAD: Ví dụ, bạn làm trong lĩnh vực Data Science và muốn có agent hỗ trợ phân tích dữ liệu hoặc tạo pipeline ML.
- Tùy chỉnh hành vi của agent: Có thể bạn muốn agent Developer của mình tuân theo coding style riêng của công ty, hoặc muốn agent Architect luôn chọn kiến trúc serverless nếu có thể.
- Chia sẻ module tùy chỉnh với cộng đồng: Nếu bạn tạo được workflow hay cho một domain, bạn muốn đóng gói làm module.
BMAD Method hoàn toàn cho phép các điều đó thông qua module BMad Builder (BMB) và cấu hình nâng cao:
graph LR
subgraph "Tùy biến BMAD"
BMB["🔧 BMad Builder<br/>Tạo agent và workflow mới"]
EDIT["✏️ Chỉnh sửa trực tiếp<br/>agent/workflow có sẵn"]
UPDATE["🔄 Cập nhật phiên bản<br/>v5 → v6"]
MARKET["🏪 Community Marketplace<br/>Dự kiến"]
end
BMB --> NEW_AGENT["Agent mới:<br/>Data Scientist,<br/>DevOps Engineer..."]
BMB --> NEW_WF["Workflow mới:<br/>explore-data,<br/>train-model..."]
EDIT --> CAUTION["⚠️ Sao lưu trước!<br/>Dùng BMB thay vì<br/>sửa module lõi"]
MARKET --> SHARE["Chia sẻ module<br/>với cộng đồng"]
MARKET --> DOWNLOAD["Tải module<br/>từ người khác"]
- Sử dụng BMad Builder: BMB (được cung cấp như một module npm riêng) chứa các công cụ và hướng dẫn để bạn tạo đặc vụ và workflow của chính mình. Khi cài BMB, bạn sẽ có mẫu một cấu trúc module. Bạn có thể định nghĩa agent mới (ví dụ "Data Scientist Agent"), viết các workflow (ví dụ
explore-data.yaml,train-model.yaml), và các task bên trong. Việc này đòi hỏi hiểu biết về cú pháp YAML của BMAD và cách viết prompt hiệu quả cho AI, nhưng không quá phức tạp khi bạn đã có ví dụ từ module lõi. - Chỉnh sửa cấu hình agent/workflow có sẵn: BMAD không cấm bạn sửa trực tiếp nội dung các agent hoặc workflow trong
_bmad/bmm. Tuy nhiên, hãy cẩn thận và luôn sao lưu trước khi chỉnh. Một thay đổi nhỏ sai cú pháp có thể làm workflow không chạy. Để an toàn, bạn nên dùng BMB để override hành vi thông qua module mở rộng thay vì sửa module lõi. - Cập nhật phiên bản BMAD: Dự án BMAD đang ở giai đoạn beta (phiên bản 6.0.0-Beta.7 tính đến tháng 2/2026). Việc cập nhật có thể thay đổi cấu trúc file. Bạn nên đọc hướng dẫn nâng cấp (ví dụ Upgrading from Previous Versions nếu từ v5 lên v6). Trong v6, các module có tính kế thừa config – nghĩa là nếu bạn config ngôn ngữ ở core, module con sẽ tự nhận.
Community Marketplace: Theo kế hoạch của nhóm phát triển, khi BMAD v6 ổn định, sẽ có một chợ module cộng đồng nơi mọi người chia sẻ các module do họ tạo. Điều này mở ra cơ hội lớn để bạn học hỏi và đóng góp. Bạn có thể trở thành người phát triển module BMAD cho một lĩnh vực ngách nào đó.
Để thực sự master BMAD Method, ngoài việc tự thực hành, bạn nên tận dụng các nguồn lực từ cộng đồng và tài liệu chính thức:
graph TD
CENTER["🤖 BMAD Method<br/>Hành trình học tập"]
CENTER --> DOCS["📚 docs.bmad-method.org<br/>Tài liệu chính thức"]
CENTER --> DISCORD["💬 Discord<br/>Cộng đồng hỗ trợ"]
CENTER --> YT["🎬 YouTube<br/>Video tutorial"]
CENTER --> REDDIT["🌐 Reddit<br/>r/BMAD_Method"]
CENTER --> PRACTICE["🛠️ Thực hành<br/>Dự án cá nhân"]
DOCS --> TUT["Tutorials"]
DOCS --> HOW["How-To Guides"]
DOCS --> EXPLAIN["Explanations"]
DOCS --> REF["Reference"]
- Tài liệu chính thức (Documentation): BMAD có trang docs tại
docs.bmad-method.orgchứa hướng dẫn, giải thích, tài liệu tham khảo rất chi tiết. Bạn có thể tìm thấy ở đó các bài Tutorials (ví dụ Getting Started mà chúng ta đã trích dẫn), mục How-To Guides cho các tình huống cụ thể (như Cách cài đặt BMad, Hướng dẫn tùy biến BMad, Cách đặt câu hỏi cho BMad...), mục Explanation giải thích triết lý (như Advanced Elicitation, Party Mode, Preventing Agent Conflicts...), và Reference liệt kê toàn bộ agent, workflow, lệnh có sẵn. Ngoài ra, filellms-full.txttạidocs.bmad-method.org/llms-full.txtcung cấp toàn bộ tài liệu ở dạng AI-friendly, rất hữu ích khi bạn muốn nạp tài liệu BMAD vào AI context. - Discord cộng đồng: Tham gia kênh Discord của BMad tại
discord.gg/gk8jAdXWmjđể thảo luận, hỏi đáp. Ở đó có các kênh#bmad-method-help(hỗ trợ người dùng),#report-bugs(báo lỗi), và chắc chắn có nhiều người dùng giàu kinh nghiệm sẵn sàng chia sẻ. Nếu bạn gặp lỗi hoặc agent hành xử kỳ lạ, Discord là nơi tốt để nhờ trợ giúp. - YouTube: Kênh YouTube chính thức tại
youtube.com/@BMadCodevới các tutorial, lớp học master, podcast... Hãy theo dõi để cập nhật các video hướng dẫn trực quan -- rất hữu ích để bạn nâng cao kỹ năng. Ngoài ra, có thể có các bài viết trên Medium/blog của nhóm về kiến trúc BMAD, các case study sử dụng BMAD thành công. - Reddit và mạng xã hội: BMad Method cũng được bàn luận trên Reddit tại
r/BMAD_Method. Bạn có thể đọc kinh nghiệm của người khác -- chẳng hạn một người dùng đã viết "Thank God for BMAD!" trên Reddit, mô tả cách BMAD giúp họ hoàn thành dự án nhanh. Những chia sẻ thực tế này sẽ cho bạn thêm động lực và mẹo sử dụng.
BMAD Method là một sự kết hợp độc đáo giữa phương pháp luận phát triển Agile và sức mạnh của AI hiện đại. Đối với người mới bắt đầu, BMAD giống như một người hướng dẫn tận tâm, từng bước cầm tay chỉ việc, giúp bạn học hỏi quy trình phát triển phần mềm một cách bài bản mà không cảm thấy choáng ngợp. Đối với người đã có kinh nghiệm, BMAD là trợ thủ đắc lực giúp tăng tốc công việc, tự động hóa những phần tẻ nhạt, để bạn tập trung vào các quyết định quan trọng và sáng tạo.
Trong tài liệu này, chúng ta đã đi qua:
- ✅ Cách cài đặt và thiết lập BMAD Method trong dự án.
- ✅ Hiểu được cấu trúc thư mục BMAD, vai trò của các agent và workflow.
- ✅ Thực hành quy trình phát triển đầy đủ với BMAD, từ giai đoạn phân tích đến triển khai và kiểm thử.
- ✅ Ví dụ minh họa cụ thể với dự án Todo List, giúp bạn hình dung rõ cách tương tác với BMAD.
- ✅ Thảo luận về cách sử dụng BMAD với các công cụ AI tiên tiến (Claude Code, ChatGPT/Codex) để nâng cao hiệu quả và mức độ tự động hóa.
- ✅ Cách mở rộng, tùy biến BMAD và khai thác các tài nguyên cộng đồng để không ngừng học hỏi.
- 🔄 Luôn dùng chat mới cho mỗi workflow quan trọng – tránh vượt giới hạn ngữ cảnh của AI.
- 🤝 BMAD không thay thế bạn, mà hỗ trợ bạn tốt hơn – hãy tận dụng agent để có góc nhìn chuyên gia, nhưng đồng thời luôn kiểm soát và điều chỉnh đầu ra theo mục tiêu dự án.
- 🏋️ Thực hành nhiều lần – càng dùng BMAD, bạn sẽ càng hiểu rõ các workflow và có thể sáng tạo trong cách áp dụng (thậm chí bỏ qua bước không cần thiết khi đã quen).
- ❓ Đừng ngại hỏi trợ giúp (
/bmad-help) – cả trong chat lẫn từ cộng đồng BMAD, vì mọi người đều từng là newbie và BMAD đang không ngừng hoàn thiện dựa trên phản hồi người dùng.
Chúng tôi hy vọng tài liệu hướng dẫn chi tiết này sẽ giúp bạn tự tin bắt đầu với BMAD Method. Hãy tưởng tượng mỗi agent như một "người đồng nghiệp AI" luôn sẵn sàng giúp bạn hoàn thành công việc nhanh hơn và học được nhiều điều mới. Chúc bạn có những dự án thành công với BMAD Method! 🎉
Nguồn tham khảo: Tài liệu và hướng dẫn chính thức từ dự án BMAD Method, cùng với kinh nghiệm và đóng góp từ cộng đồng người dùng BMAD. Hãy tham khảo trang tài liệu BMAD và tham gia cộng đồng để cập nhật những thông tin mới nhất và mẹo hữu ích trong hành trình trở thành "master" BMAD của bạn.