If agents write the code, the specification becomes the thing you review
When implementation is cheap and fast, the bottleneck moves. It stops being typing and becomes knowing precisely what you asked for. Spec-driven development treats the specification as the primary artefact — versioned, reviewed, executable against tests — and lets agents produce the implementation from it.
- Specifications precise enough to build from. Written so that a competent agent, or a new engineer, produces the same thing from them.
- Review where the decisions are. Engineers reviewing intent and acceptance criteria rather than skimming large generated diffs, which is where review actually breaks down.
- Tests derived from the spec. Acceptance criteria expressed as executable tests, so the specification is checkable rather than aspirational.
- A pipeline your team can run. Set up in your repositories and CI, with the guardrails and the review gates that make generated code safe to merge.
What is delivered
Specification format
A structure that works for your domain: intent, constraints, acceptance criteria, and the explicitly out-of-scope. Short enough to be read and precise enough to be built from.
Agent pipeline
Generation, test execution, iteration and the point at which a human is asked. Configured in your CI rather than as a service somebody else runs.
Guardrails
Size limits on generated changes, forbidden areas of the codebase, mandatory human review paths, and automatic rejection of anything that cannot be traced to a specification.
Test strategy
Acceptance tests from the spec, property tests where they fit, and the evaluation harness for any AI component. Tests written to be independent of the implementation, or the whole thing is circular.
Review practice
What a reviewer is actually looking for in generated code, and how to keep review capacity the binding constraint — because if it is not, under-reviewed code accumulates.
Team enablement
Your engineers running the method, with the failure modes named. This is a working practice, not a tool you install.
How it runs
- 01
Pick a bounded area
A well-understood part of the codebase with good test coverage. Starting in the least understood area is how teams conclude the method does not work.
- 02
Write specs properly
Two or three real features specified to the required precision. Most teams discover here that their existing tickets were nowhere near specifications.
- 03
Run the loop
Generate, test, review, iterate — with the failure rate measured openly so the method is judged on evidence.
- 04
Widen or stop
Extend to more of the codebase if the numbers support it. If they do not, that is a legitimate outcome and worth knowing after four weeks rather than four quarters.
A good fit when
- A team already using AI coding assistants ad hoc, with inconsistent results.
- Well-covered code where the specification, not the typing, is the constraint.
- Large volumes of similar work: integrations, adapters, migrations, CRUD surface.
- You want the method to be your team's rather than a supplier's.
Not the right service when
- Little or no test coverage. Generated code without tests is an unreviewable liability, and building coverage comes first.
- Exploratory research work, where the specification only exists after the experiment.
- You expect it to remove the need for engineers. It moves where they spend their time; it does not remove them, and a supplier promising otherwise is selling something else.
Frequently asked questions
Does this actually make development faster?
How do you stop the volume problem?
Who is accountable for generated code?
Which agents and models?
Can you set this up and leave?
Other services
AI Strategy
Which decisions are worth changing, what each would cost, and what would measurably be different. Including the ones where the answer is not AI.
Read articleAI Transformation
The part after the strategy: sequencing against real capacity, changing how work is done, and making adoption somebody's job rather than a hope.
Read articleAI Agents Engineering
Agents that do work rather than answer questions — with bounds, tools, approval gates and a decision log that survives the first incident.
Read article
