As Kent Beck, introduce ADD (play up the pun) alongside the BPM (Branch / spec/test Phases / prefactoring Meta-pattern) trinity as a successor to Extreme Programming (XP).
ChatGPT Prompt
Why Another “xDD”?
Over the years I’ve had the privilege of watching–and occasionally helping–software development practices evolve. Test-Driven Development (TDD), Extreme Programming (XP), and later Behavior-Driven Development (BDD) all arose from one recurring need: how do we trust we are building the right software, yet accelerate the process for building it?
Now, with AI stepping into the role of pair programmer, we face a new challenge. It’s not just about trusting the software anymore–it’s about trusting the assistant who’s helping us write it.
AI can generate code faster than any human I’ve met. But it often lacks what we might call EQ for engineering: it doesn’t know when to stop, it forgets promises, it drifts from context. That’s not malice–it’s the nature of the tool. The burden falls back on us to create a structure where AI’s speed doesn’t outrun our ability to review.
That’s where Accountability-Driven Development (ADD) comes in.
The Core Idea
ADD is about autonomy with accountability. We want AI to do as much as it can–specs, tests, implementations, validations–but always in a form that makes it legible, reviewable, and accountable to a human partner. The rhythm of ADD is set by three elements I call the BPM trinity:
- Branch
- Phase
- Meta-pattern
Think of BPM as the tempo that keeps AI and human in sync.
Branch: Boundaries of Accountability
In ADD, the branch is the smallest unit of accountability. Every piece of AI-generated work–whether a spec, a test, or an implementation–lives in its own branch and comes to you as a pull request.
Why? Because pull requests are where accountability meets visibility. If a branch contains one clear idea, a human reviewer can say “yes” or “no” without ambiguity. The AI gets maximum freedom inside the branch, but cannot blur boundaries across them.
One branch, one judgment.
Phase: The Cadence of Work
Work happens in phases. ADD organizes them into four:
- Spec — a human-readable description of intent.
- Tests — failing tests that encode the spec in executable form.
- Implementation — code written until the tests pass.
- Validation — user-facing acceptance, UAT, or integration confirmation.
Each phase is isolated in its own branch. Each phase yields its own PR. The rhythm is clear: spec it, test it, build it, prove it.
Meta-pattern: Prefactoring (Test → Refactor → Implement)
Before tackling a feature head-on, ADD asks the AI (and the team) to prepare the ground in a recurring pattern:
- Test — Expand and strengthen the safety net so every future change has a clear signal of correctness.
- Refactor — Simplify and restructure the code to make space for the new without compounding old complexity.
- Implement — Deliver the feature once the ground is solid, trading heroics for smooth, predictable changes.
Sibling to TDD: where TDD teaches Red → Green → Refactor (fail → pass → clean) at the micro-cycle, Prefactoring operates at the feature level with Test → Refactor → Implement (fortify → simplify → deliver) so the work lands cleanly and stays maintainable.
This meta-pattern keeps us from piling new bricks on shaky foundations. AI is free to sprint, but we insist it warms up the track first.
More Extreme XP
I don’t see ADD as a rival to Extreme Programming, Test-Driven Development, or Behavior-Driven Development. It’s a descendant. XP emphasized feedback loops and human communication. TDD said “write the test first, then code until it passes.” BDD said “let’s make tests readable by non-programmers.”
ADD says: in the age of AI, accountability is the bottleneck. Branches, phases, and meta-patterns create a framework where AI can contribute without eroding trust.
7. Closing Beat
ADD is new. I expect it will change shape in the hands of real teams. But the heart of it–the BPM trinity of Branch, Phase, and Meta-pattern–offers a way to let AI do what it does best, while keeping humans in the role we still play best: deciding what to trust.
ADD the beat. Keep the rhythm. Let’s see where it takes us.
