Spec-Driven Development
Write the specification first; let the implementation follow.
A workflow where a precise written spec — behaviour, constraints, acceptance criteria — precedes and guides implementation, whether by a person or an agent. The spec is the reviewable artifact.
It suits agentic work because agents execute well-specified tasks far more reliably than they infer intent. Reviewing a spec is also cheaper than reviewing a large diff.
The spec is the reviewable artefact that survives; the code is disposable and increasingly regenerable. That inverts the usual review target — a productive week might be one page of precise specification and a great deal of generated implementation.
Reviewing the spec, not the patch
A feature is about to be implemented by an agent.
Get the behaviour, constraints and acceptance criteria agreed in writing first. Corrections at that stage cost minutes; corrections after implementation cost a rewrite, and the spec is what lets anyone else judge the result without reading every line.
- docsBest practices for using GitHub Copilot to work on tasks ↗
Recommends bounded tasks with explicit acceptance criteria, and names what is a bad fit for unattended delegation: ambiguous, security-sensitive, production-critical or deeply domain-specific work.
- blogDemystifying evals for AI agents ↗
Gives working definitions for harness, task, trial, grader, transcript and outcome, and argues you must evaluate the model and harness together and judge final environment state, not just the last message.
Spec · Specification
A written description of the intended outcome, before the work starts.
Ticket
The unit of delegated work, with scope and a definition of done.
Grilling
Making the model interrogate the plan before building it.
Software Factory
A pipeline where agents take tickets and produce code, with checks along the way.
Prototyping · Spike
Build the cheapest thing that answers the question.