spec-driven development
In plain wordsBuilding software with AI coding agents by first writing a detailed description of what it should do, which the AI then follows to plan and write the code.
An approach to agentic codingagentic coding, n.: Writing software by directing AI agents that plan, edit and test code themselves, with the human acting more as a reviewer and manager than as the person typing every line. in which a written specification — requirements, design decisions and a task breakdown, usually as Markdown files kept with the code — is produced before implementation and serves as the source of truth for both humans and coding agentscoding agent, n.: An AI agent that writes and fixes software by itself: it reads a codebase, edits files, runs commands and tests, and keeps working until a feature is built or a bug is fixed.. Practitioners distinguish 'spec-first' use (a spec written for one task), 'spec-anchored' use (the spec is maintained alongside the code as it evolves) and 'spec-as-source' (humans edit only the spec and regenerate the code). Tools include Amazon's Kiro, which moves from requirements to design to tasks; GitHub's open-source Spec Kit, built around a project 'constitution' and slash commands; and Tessl. Critics argue that the workflows are heavy for small changes, that reviewing verbose Markdown is no easier than reviewing code, and that agents still ignore parts of specs.
We moved to spec-driven development: no agent touches the repo until the requirements doc is approved.
Origin
Spread in mid-to-late 2025 as a structured alternative to vibe coding, with the launch of Amazon's Kiro (July 2025) and GitHub's Spec Kit (September 2025); Birgitta Böckeler's October 2025 analysis on martinfowler.com set out its levels.
Usage note
'Spec' is sometimes used loosely for any detailed prompt. Spec-as-source revives ideas, and some problems, of model-driven development.
Related
- agentic codingagentic coding, n.: Writing software by directing AI agents that plan, edit and test code themselves, with the human acting more as a reviewer and manager than as the person typing every line.
- vibe codingvibe coding, n.: Programming by conversation: you ask an AI for what you want, try out what it produces and ask again until it works, trusting the code without really reading it.
- coding agentcoding agent, n.: An AI agent that writes and fixes software by itself: it reads a codebase, edits files, runs commands and tests, and keeps working until a feature is built or a bug is fixed.
- agent instruction fileagent instruction file, n.: A plain-text file kept in a software project that tells AI coding agents how the project works — how to build and test it, which conventions to follow, what to avoid — read at the start of every session.
- dark factorydark factory, n.: A way of building software in which AI agents write, test and ship all the code and no human writes or reads it, like a factory run with the lights off.
- vibe engineeringvibe engineering, n.: Building serious software with AI coding assistants while still taking full responsibility for its quality — the careful, professional opposite of vibe coding.
- vibe codingvibe coding, n.: Programming by conversation: you ask an AI for what you want, try out what it produces and ask again until it works, trusting the code without really reading it.
Sources
- Böckeler, B. (2025). Understanding Spec-Driven-Development: Kiro, spec-kit, and Tessl. martinfowler.com, 15 October 2025. martinfowler.com/articles/exploring-gen-ai/sdd-3-tools.html