A user guide to BMAD, a framework of specs and role-playing agents: the tutorial is dated, but five feedback loops are worth the detour.
Why this book
You describe the app you want to an AI, then let it code. That habit has a name: vibe coding. It works as long as the project stays small.
Marlon Vidal Ferreira's course starts from that limit and proposes the opposite: write before you code. That is spec-driven development. A specification is a document that describes what you want to build.
The author teaches it with BMAD, an open-source framework. Its name expands to "Breakthrough Method of Agile AI-Driven Development". BMAD has you write the documents first. Then agents hand them to one another, each with its own role. They include an analyst (Mary), a product manager, a UX designer (Sally), an architect, a developer, a Scrum Master (Bob) and a tester. An agent, here, is an AI that writes the code and runs the commands itself.
I use Claude Code agents every day. Claude Code is a coding assistant that runs in the terminal. I read this course on ExpertEdge in October 2026 with two questions. The first was about feedback loops, where a result flows back to correct the next step. The second was about agents working in parallel.
Three words come up everywhere in the course:
- Workflow: a BMAD procedure launched by a slash command, meaning one that starts with "/". It walks the agent step by step to a file.
- PRD (Product Requirements Document): the requirements document, which says what the product must do. For instance, the
/bmad-prdcommand produces it. - Session: one conversation with the agent, open until you close it.
The course is short: 3 h 20 of transcribed demos. I keep seven ideas, in two families. Ideas 1 to 4 frame the code: what you write before, what you check after. Ideas 5 and 6 give the project a memory from one session to the next. The last one says when to lighten the whole ritual.
This book is part of ExpertEdge, Packt's subscription for technical books. The code ODILON50 takes 50% off the yearly plan: the book on ExpertEdge. Affiliate link: I earn a commission if you subscribe with this code, and my ratings don't depend on it.
The ideas that stay
1The AI invents whatever the context leaves out
First family: framing the code, starting before the first line. The AI knows only what you tell it about the project. That is called the context. Whatever the context leaves out, the AI invents. So the book proposes fixing the context in advance: that is context engineering. In its words: "The purpose of context engineering is to create boundaries of truth that the AI cannot cross" (lesson 5). In other words, facts set in advance that the AI must not contradict. Here is a bare instruction, then the same one with its context:
✗ BEFORE: Build a to-do list application.
✓ AFTER (the book's example, abridged):
Who : overworked freelance designers
Why : track billable hours per task
What : a Kanban (a board of cards in columns) with a timer, no social features
In that block, the last line is the most useful. It also says what you will not build: no social features. The book gives it a whole section, "Explicit exclusions". Without it, the project can keep growing features nobody asked for. That is scope creep. The book says that fixing in advance what is out of scope prevents it.
2Tests come before the code, not after
The context says what to build. You still have to check that the agent built it. An agent may code first, then write its tests afterwards. Its tests then check what it did, not what you asked for.
So BMAD flips the order with its test module, TEA (Test Architect, which the book spells three ways). Its method is called ATDD: acceptance test-driven development. It starts from acceptance criteria. An acceptance criterion (AC) is a condition the feature must meet to be declared done. Each criterion carries an identifier, such as AC1, and you write one test for each before the code.
The method follows three beats, with traffic-light colors. Red: the test fails, because the feature does not exist yet. Green: the agent codes until the test passes. Refactor: you clean up the code without changing what it does.
So this loop restarts for each acceptance criterion. The tests are first put to sleep with test.skip: they exist, but do not run. Here is my minimal version, not a copy of the book:
test.skip('AC1: the card shows the task title', async () => {
// test body to write
});
To go red, you remove the skip: the test fails. The agent then codes until green. In the book's demo, the tests for the card and the task window exist before a single line of interface. The reason, according to the author: "If tests are created after implementation, we are not necessarily covering all scenarios" (lesson 26).
These identifiers also act as a thread from one document to the next: they tie together the story, its test and its review (idea 4). A story is a unit of work, small enough to fit in one session. It is described in a Markdown file, which is lightly formatted text.
3Before any code, check that the documents agree
Tests check the code. Before the code, BMAD checks the documents too. At this stage there is no code yet, only three texts: the PRD (what to do), the architecture (how to build it) and the epics, meaning big batches of features split into stories. These texts can contradict each other or leave something out.
Picture three plans for the same house: the architect's, the electrician's, and the list of rooms. Before building, you make sure they describe the same house. The implementation readiness check does that job. An agent reads the three documents and cross-checks them.
This check works as a gate before implementation. It returns one of three verdicts:
- PASS: everything is consistent, move on;
- CONCERNS: there are gaps, but they do not block;
- FAIL: fix before going further.
On the demo, the check found three problems in the documents, before a single line of code (lesson 28):
- entities missing from the data model: objects the application handles, but that no document describes;
- a missing date filter;
- an
AppProviderthat would have crashed the application if built as it stood. It is the root component, the one that hands shared data to every screen.
A FAIL is therefore no drama. The book says so: "Rather than treating this as a setback, treat it as the system doing its job" (lesson 15). The agent proposes the fix, then the human approves it.
4After every story, a review that tries to break the code
The check in idea 3 happens before the code. The review happens after, at the end of every story. The book puts it this way: "The review layer is not a formality. It is a deliberate adversarial check designed to catch what the implementation session misses" (lesson 18). An adversarial check tries to break the work rather than confirm it.
Yet the book describes this review in two ways, without choosing between them:
- Lesson 18, three passes in a row. The Blind Hunter looks for logic errors and silent failures, the ones that show no message. The Edge Case Hunter looks for edge cases, such as an empty list, and for concurrent access. The Acceptance Auditor checks each criterion identifier. Before the review, a menu asks which changes to review: uncommitted, staged, a branch diff or a range of commits.
- Lesson 31, three agents in parallel. The workflow launches them at once, on edge cases, acceptance criteria and the before-and-after diff. No Blind Hunter is named there.
Either way, the developer fixes, then the review runs again.
The book adds one piece of advice: "ideally using a different model to independently evaluate the work" (lesson 30). The reason, in my view: two sessions of the same model share the same blind spots.
5Every workflow starts in a fresh session
Second family: giving the project a memory from one session to the next. It starts from a rule in the book: a new session for each workflow, no exceptions. You should "never chain" the PRD and then the architecture in the same session (lesson 43).
The reason: accumulated context biases what follows. During the PRD, the conversation fills up with discussions about the product. If you chain the architecture right after, the agent still has them in mind and draws on them. A fresh session is a whiteboard wiped clean before the next meeting.
That context also has a limited size, counted in tokens. A token is a word fragment, the unit the model counts and bills. Switching sessions costs little: "The cost of starting fresh is seconds" (lesson 45).
Starting from scratch raises a question, though: how do you keep the work in progress? Each workflow keeps track of its own progress in a file (lesson 21). The book shows it twice:
- the test setup writes its progress to the
framework-setup-progressfile (lesson 22); - the PRD is built in eleven steps, and its progress is written to a file too.
If the context fills up, you open a fresh session and relaunch the workflow, pointing it to that file. It picks up where it left off (lesson 27).
6project-context.md: rules that grow with every retrospective
A fresh session starts from scratch, but the project itself has to remember. BMAD keeps that memory in the project-context.md file, "a constitution for the project" (lesson 15). It plays the role of a CLAUDE.md, the instructions file Claude Code rereads every session. It is loaded only in BMAD workflows: 18 workflows and files refer to it (lesson 23).
The project-context.md first lists the tech stack, meaning the project's languages and tools, with their versions. It then lists conventions: TypeScript configuration, state management, data model, testing best practices.
This constitution gets amended at the end of every epic, and that is the best idea in the book. Three steps follow one another:
- A coverage gate checks that the epic is tested enough. Coverage is the share of the code the tests check. The gate returns PASS, CONCERNS, FAIL or WAIVED, a waiver approved by the business. So an under-tested epic does not get closed (lesson 19).
- The retrospective, the epic's review meeting, rereads the completion notes written at the end of each story.
- The file's generation is run again, and it takes that review into account.
A concrete case, not from the book: a test wasted time because the database was not emptied between two tests. The retrospective turns that into a rule, "empty the database before each test". The next epic starts with it.
The book sums up this loop in one sentence: "the project-context.md becomes the living record of how the project has learned to build itself" (lesson 19).
7A small change goes through a lighter workflow
This whole ritual would be heavy for fixing a button. So for small changes, BMAD provides the quick-dev workflow. It condenses intent, plan, implementation and review into one session.
This shortcut has a trap. BMAD first estimates the change's "blast radius": the paths by which it could break something else. When there is "zero blast radius", quick-dev may implement without writing a specification. The book says to demand one anyway, for traceability: being able to find out later why the code changed (lesson 24).
Even in its lighter form, the workflow leaves the last word to the human. When quick-dev offers to cap the display at three tags, the book suggests declining (lesson 26).
My take, honestly
My verdict, 5.2 out of 10: good checks, inside a course that measures almost nothing. I read it with two questions. How do you get an agent's work checked at every step? And can several agents work at the same time? The book answers the first well, the second barely.
Its strength: five checks I would reuse tomorrow. Four are described above: the test before the code, the gate before implementation, the review, the retrospective. The fifth is a test that walks through the application like a user. When it fails, the workflow fixes the defect and reruns the test without help (lesson 30). These checks stay useful even without BMAD.
Its weaknesses, and what they cost you:
- Parallel work stays theoretical. The book answers it only once, in a Q&A, with no demo (lesson 42). Cost: you will have to look elsewhere.
- Part of the course teaches an editor, not a method. The demos run on Cursor. Cost: time spent on a tool that may not be yours.
- No result is measured. The book sets thresholds and goals (P0 at 100%, CI feedback in under five minutes), never results. The cost of these checks has no figure and every demo ends well (lessons 29 and 31). Cost: there is no way to predict what it will cost.
My advice: read the passages on tests, the gate, the review and the retrospective, and skip the installation. The book says it itself: BMAD is "a team process, not a solo tool" (lesson 45). Solo, I see a menu where you pick three dishes. What I want now is a book that puts a price on these checks and runs agents in parallel for real.
Odilon
Still relevant in 2026?
The principles, yes: write the context before the code and the tests before the implementation, then review to break things and update the project's rules. The commands, no. The book follows BMAD 6.8.0 (lesson 3), a version that will be stale within weeks. The /bmad-prd command has in fact already absorbed three older commands: "On v6.8.0, /bmad-prd workflow was consolidated into one single slash command" (lesson 13). The author himself warns that his course "might contain outdated info depending on the time you're reading it" (lesson 6). Check every command in the documentation before copying it.
Who is it for?
Read it if
- You already run a coding agent and want concrete guardrails between planning, tests and review
- You work in a small team and need a shared vocabulary to frame the agents' work
- You want to compare BMAD with your own method before investing in the tool
- You like extracting five ideas from a three-hour course
Skip it if
- You want agents that build in parallel end to end: the book only offers a conditional answer and an orchestrator that runs the steps one by one
- You want figures on cost, duration or failure rate: almost none
- You code alone, without a team: the book says so itself
For going further
- The Agentic Architectural Patterns note, by Arsanjani and Bustos: the multi-agent patterns this course does not theorize.
- The The Claude Code Operating Model note: context and hooks, on the tool side.
- The AI Engineering note, by Chip Huyen: read it before the other two if you are new to agents.
Based on the 2026 ExpertEdge course version: 50 lessons, transcribed demos. The examples marked as mine do not come from the book.
Comments (0)