Software Factories at enterprise scale: A federated platform for agentic developmentDownload the free Whitepaper

Spec-driven development (SDD)

What is spec-driven development?

In short

Spec-driven development (SDD) is a way of building software with AI coding agents in which a written specification is the source of truth. The team records intent, constraints and acceptance criteria in a versioned spec, agents plan and implement the work from it, and the result is validated against that spec before it is accepted.

Updated 15 September 202622 min read

Keep up with the Knowledge BaseEvery month, get new terms and updated definitions straight to your inbox.

Frequently asked questions#

What does SDD stand for?
In AI-assisted engineering, SDD stands for spec-driven development, sometimes written specification-driven development. In older engineering usage the same letters can mean a software design document, which is one reason teams should spell the term out.
Is spec-driven development only for AI coding agents?
The principles predate AI and apply to any team that writes intent down before building. Current tools assume an agent executes the spec, and that is what makes the practice newly practical: a spec that drives implementation is much harder to neglect than one sitting in a wiki.
Do you need a tool to do spec-driven development?
No. A folder of Markdown files, a constitution and an agent instructed to follow them is enough to start. Tools add templates, commands and checks that keep the workflow consistent across people, which matters once several teams share the practice.
Can product managers and other non-engineers write specs?
They should own the intent, and many can write the first half of a spec well. Prezi found the workflow accessible to less technical participants, while the tooling around it, such as Git, was the barrier. Meet product owners where their backlog lives, and let engineers own the technical plan and tasks.
Does spec-driven development replace code review?
No, and nothing else does either: you cannot know a spec was implemented without tests and a review of the code against it. What changes is where the effort goes and how precise it is. Part of it moves earlier, to the spec and the plan, and code review stops being an open-ended read because there are stated criteria to check. The live question is who reviews, not whether. An agent can, as long as it checks against evidence it cannot rewrite.
Is spec-driven development just waterfall?
No. Waterfall's problem was fixing the requirements for a whole system up front and learning late whether they were right. Spec-driven development done well specifies one slice at a time and learns from each before writing the next spec. What keeps it iterative is small batches: plan one epic at a time and treat anything further out as rough notes.

Sources

  1. Birgitta Böckeler — Exploring Generative AI: spec-driven development toolsmartinfowler.com
  2. Thoughtworks — Technology Radar: spec-driven developmentthoughtworks.com
  3. GitHub — Spec Kitgithub.com
  4. Kiro — Feature specs documentationkiro.dev
  5. OpenSpec — Conceptsgithub.com
  6. Nitin Garg — When spec-driven development pays off (InfoQ, September 2026)infoq.com
  7. Prezi Engineering — We tried spec-driven development so you don't have tomedium.com
  8. Hidde de Smet — The hidden costs of spec-driven developmenthiddedesmet.com
  9. Faros AI — The AI Productivity Paradox Report, July 2025faros.ai
  10. Liu et al. — Lost in the Middle (2023)arxiv.org

Make spec-driven development work across your teams

Spec-driven development is a core module of our AI Education programme, where engineering teams learn to write, review and validate specs on their own backlog. Our Software Factories team builds the validation and governance that let specs drive delivery at scale.

Found something wrong, missing or badly explained? Tell us. We credit every correction we publish.