Behavior-Driven Development (BDD)
I started using the word 'behaviour' in place of 'test' in my dealings with TDD, and I immediately found that teams started to have more meaningful conversations about their software.
Behavior-Driven Development (BDD), created by Dan North in 2003–2006, replaces ambiguous requirements with concrete, structured examples expressed in plain language. Using the Given-When-Then scenario format and the Three Amigos collaboration model, it ensures developers, testers, and business stakeholders agree on exactly what a feature should do — before a line of code is written. The result is living documentation that doubles as an automated test suite.
“Sure. Our story is: 'As a customer, I want to reset my password so that I can regain access to my account.' The acceptance criteria just say 'user…”
Turn vague acceptance criteria into executable scenarios developers, testers, and business stakeholders all own
BDD prescribes a four-step lifecycle for every feature: Discover → Specify → Automate → Implement. Discovery begins with a Three Amigos session — a business analyst, a developer, and a tester meet before any code is written to surface assumptions through concrete examples. Those examples are formalized using the Given-When-Then (GWT) scenario structure in Gherkin, a plain-language syntax understood by both humans and tools like Cucumber and SpecFlow. Development proceeds outside-in: acceptance scenarios drive integration tests, which drive unit tests — ensuring every line of code is traced back to a stated behavior. The resulting feature files become living documentation: because they are executable, they can never drift out of sync with the actual system.
Requirements get lost in translation between business and engineering. Acceptance criteria written as vague prose lead to mismatched expectations, last-minute scope debates, and regression bugs that should have been caught before coding started. Teams that rely on test-after verification discover ambiguities only when fixing them is expensive — after code has been written and deployed.
Express every feature as concrete, executable examples before writing code — so that business stakeholders, developers, and testers are looking at exactly the same specification, in plain language, that the automated test suite will enforce forever.
- A user story, feature request, or vague requirement you need to clarify
- Existing acceptance criteria, test cases, or specification documents to convert to BDD
- Gherkin scenarios you've already written that need quality review
- An upcoming story refinement meeting you need to prepare discovery questions for
- Well-formed Given-When-Then scenarios covering happy path, edge cases, and negative cases
- A complete Gherkin feature file ready for automation with Cucumber, SpecFlow, or JBehave
- An Example Mapping table surfacing rules, concrete examples, and open questions for Three Amigos sessions
- Actionable feedback on scenario anti-patterns: imperative UI coupling, compound scenarios, missing Given context
Watch the methodology work.
Three specimens from a single real session: the same situation, unaided and calibrated, the full transcript, and the skill answering live in the channel where the work happens.
“Your story card says 'Users can reset their password' with one acceptance criterion: 'password reset works.' The developer builds a flow. The QA engineer finds three edge cases in regression. The security team flags that the error message reveals whether an email is registered. The feature gets bounced back two days before release for a hotfix and an emergency design review.”
“Before a line of code is written, a 30-minute Three Amigos session produces a Gherkin feature file with six scenarios covering happy path, expiry, reuse prevention, security-safe error messages, and password strength validation. The security requirement is a named scenario every stakeholder reviewed and signed off on. Automation is wired before implementation begins. The feature ships without last-minute surprises — and when the expiry policy changes from 1 hour to 24 hours six months later, a single Given clause update shows exactly what to retest.”
The same skill, where the work happens.
No new app to learn. The methodology runs over the WhatsApp Business API, so the answer lands as a reply in the thread you’re already in — same rigour, zero context-switch.
What it does, specifically.
Each capability is a distinct move drawn straight from the source methodology — not a generic assistant guessing.
Given-When-Then Scenario Writer
Transforms a user story or feature description into well-formed BDD scenarios using the rigid three-part GWT structure. Produces a happy-path scenario, at least one edge case, and one negative/failure case for every feature — ensuring full behavioral coverage before development starts.
Acceptance Criteria Converter
Takes existing acceptance criteria written in prose, bullet lists, or test-case format and rewrites them as atomic, concrete Given-When-Then scenarios. Flags criteria that are too vague to specify (e.g., 'the system should be fast') and prompts for the specific threshold or observable outcome needed to make them automatable.
Three Amigos Session Facilitator
Prepares and guides the discovery conversation between a business analyst, developer, and tester before a story enters development. Generates targeted example questions, surfaces boundary conditions and security edge cases, and produces an Example Mapping table distinguishing rules, concrete examples, and open questions that need answers before coding begins.
Scenario Quality Reviewer
Analyzes existing Gherkin scenarios for the most common BDD anti-patterns: imperative step-by-step UI instructions instead of declarative behavior descriptions, over-specified UI coupling that makes tests brittle, compound 'And' chains hiding multiple behaviors, missing Given context, and assertions that can't be verified without reading implementation code.
Gherkin Feature File Generator
Produces a complete, automation-ready Gherkin feature file from a description or set of scenarios, including Feature title, role-benefit-business narrative (As a / I want / So that), Background section where shared context applies, and a full Scenario suite with Scenario Outline and Examples tables for data-driven cases.
Graded before it shipped.
Every skill is scored against independent scenarios for methodology fidelity before it goes live — not vibes, a rubric.
Gherkin Feature File
A complete, tool-ready .feature file with Feature narrative, Background context, and a full Scenario suite (happy path, edge cases, negative cases, Scenario Outlines where appropriate). Paste directly into your Cucumber, SpecFlow, or JBehave project and wire up step definitions.
Example Mapping Table
A structured table separating business rules (yellow), concrete examples per rule (green), open questions blocking specification (red), and out-of-scope items — the exact output of a Three Amigos session, ready to drive story refinement.
Scenario Anti-Pattern Audit
A line-by-line review of existing scenarios flagging imperative style, UI coupling, compound steps, and missing context — with rewritten BDD-compliant alternatives and explanations of why each anti-pattern creates maintenance burden.
Acceptance Criteria Conversion Report
Side-by-side mapping of original prose acceptance criteria to their Given-When-Then equivalents, with notes on assumptions made explicit, ambiguities resolved, and criteria too vague to automate without further discovery.
Grounded in the original work.
Every answer traces back to a real source and the practitioner who wrote it — not a secondhand summary. Here is the source of record.
Dan North
Dan North coined the term 'Behavior-Driven Development' in 2003 and published the foundational article 'Introducing BDD' in Better Software Magazine in 2006. He created JBehave, the first BDD testing framework, which directly inspired Cucumber, SpecFlow, and Behat. His core insight — that TDD's value lies in specifying behavior rather than writing tests — transformed how agile teams write requirements and acceptance criteria. North is an international conference speaker at QCon, Agile, and GOTO, and has spent two decades teaching BDD practices to engineering organizations worldwide.
Introducing BDD (Better Software Magazine, 2006) and dannorth.net
Creator of BDD (2003); originator of Given-When-Then and the Three Amigos model; author of JBehave; keynote speaker at QCon, GOTO, and Agile conferences.
Be first to run it.
Behavior-Driven Development (BDD) is being built right now. Leave your email and we’ll tell you the moment it goes live.