What is specification-driven development?

Definition

Specification-driven development turns goals, constraints, interfaces, and expected behavior into a durable reference for implementation. The specification helps people and coding agents agree on what should be built before code changes make assumptions expensive to reverse.

A useful specification is precise enough to guide tests and review but remains open to justified revision. Committing the specification and plan beside implementation history makes changes in intent easier to trace.

ELI5

Specification-driven development starts with a clear description of what software must do. The specification defines the goal, scope, constraints, and expected results before implementation begins.

For example, a coding agent can receive exact rules for a search feature plus tests that prove correct behavior. The agent then has a concrete target and can verify its work without repeatedly guessing what the user meant.

What belongs in a software specification?

It can include goals, users, behavior, constraints, interfaces, error cases, security requirements, and measurable acceptance criteria.

Can a specification change during development?

Yes. New evidence may justify a revision, but the change should be deliberate and recorded so implementation and tests remain aligned.

  1. Ray Fernando beside the words When to Rewrite Working Code
  2. Clare Liguori beside the words Stop Babysitting Agents
  3. David Ondrej and Daniel Miessler in blue tops flank the headline ENGINEERING WITH AGENTS on black.
  4. Bijan Bowen in a blue top beside the blue-and-white headline “OPEN MODELS BUILD GAMES” on black.
  5. Drake Surach in a blue shirt holds an open palm beside the blue-and-white headline “PLAN BUILD VERIFY” on a black background.
  6. The words Agent Code Stays Traceable beside two plain interlocking links
Definition card for specification-driven development: What is specification-driven development?

Specification-driven development defines intended behavior and acceptance criteria before implementation begins.