What is Specifications Driven Development (SDD)?

AI-assisted development tools are already commonplace in many teams. However, the faster AI can code, the clearer one challenge becomes: without clear guidance, AI makes assumptions, builds in the wrong direction, and produces code that no one understands how to maintain. Specifications Driven Development (SDD) is the answer to this problem.

What is Specifications Driven Development?

SDD is a software development approach where the development work of AI agents is guided by specifications and documentation.

In traditional development, code is created first and documentation is attempted afterwards, if at all. SDD reverses this order: first, a precise description of what is being built, why, and under what constraints is written.

Specifications are essentially markdown files that live alongside the code in version control. They describe the requirements, architecture, interfaces, and constraints. When the software needs to change, the specification is modified first. The code follows.

How does the SDD process work in practice?

A typical workflow proceeds in five stages:

  1. Writing the specification: The team or an individual developer documents the requirements as a clear, written description: what is being built, for whom, and with what constraints.

  2. Design: The AI agent analyses the specification and suggests an implementation plan. This is an iterative phase — humans check and correct.

  3. Breaking down tasks: The plan is broken down into concrete development tasks, all linked to the specification.

  4. Implementation: The AI executes the tasks one by one. The developer supervises and approves.

  5. Validation: The implementation is checked against the specification. Any potential drift, meaning a situation where the code has deviated from the agreed path, is detected and corrected in time.

A growing trend is the so-called self-spec: the AI writes its own specification before starting to code. A human checks the specification, and only then does the implementation begin. This way, misunderstandings are identified before even a line of code is written.

Why is this topic particularly relevant now?

SDD is not a new idea, but the development of AI makes it particularly relevant now for three reasons:

  1. The capability of language models has grown to a point where AI can execute extensive tasks at once. This requires it to have a sufficiently detailed description of what needs to be done.

  2. The growth of context windows allows the entire specification to fit into an agent's memory at once.

  3. New tools like Google's Antigravity, Anthropic's Claude, and GitHub's Spec-Kit and Kiro provide ready-made SDD workflows directly to developers.

How does SDD benefit development teams?

From Crasman's perspective, the most intriguing promise of SDD is how it alters the distribution of expertise within the team.

When requirements are documented in the specification, knowledge is not tied to an individual developer or to who can prompt the best. The same process works for both juniors and seniors. Every change made by the AI is linked to the specification, making tracking and auditing changes significantly easier.

Crasman Ltd

27 Feb 2026