Spec-Driven Development
The practice of replacing informal user stories with machine-readable specifications that serve as contracts between humans and agents.
Definition
Spec-Driven Development is the practice of replacing informal user stories and ticket descriptions with machine-readable specifications that serve as deterministic contracts between humans and agents. It makes the core pillars of agentic development operational: without precise specs, context is incomplete, governance gates have nothing to check against, and routing decisions lack the information they need.
Spec-Driven Development shares foundational principles with Test-Driven Development (TDD) but differs in three ways:
- Scope — specs operate at the feature level rather than the function level, covering behavioral requirements, business context, and architectural constraints in a single document.
- Audience — specs are written for both agents and humans, not just test runners. They must be precise enough for machine execution while remaining readable for human review.
- Richness — specs include architectural context, golden samples, and domain knowledge alongside acceptance criteria, providing agents with the full picture needed for autonomous implementation.
The workflow follows a clear sequence: humans write specs, agents implement them, and the Evaluation Harness validates the results against the spec's acceptance criteria. This creates a verifiable loop where every piece of agent output traces back to a human-authored specification.