← Back to blog

Spec-Driven Development: From Specification to Code with AI

• 2 min read
This article is also published on another platform.
Spec-Driven Development with AI

This article was co-written and published on the Ippon Technologies blog (in French).

Spec-Driven Development (SDD) proposes a simple yet radical shift: the specification becomes the source of truth for the project. Before writing any code, you precisely describe what the system must guarantee. These guarantees directly guide the architecture, implementation, and tests.

The core idea

SDD is a development approach where a formalized specification — requirements, acceptance criteria, invariants — becomes the central artifact of the project. It’s versioned alongside the code and serves as the reference for design, implementation, and testing.

What makes an approach truly Spec-Driven isn’t the presence of a “requirements document”. It’s three principles:

  • The spec acts as a contract — if an implementation deviates from it, that’s a defect, not a valid variant.
  • Every decision is traceable — a component answers a requirement, a test checks an acceptance criterion, a validation protects an invariant.
  • The spec is alive — it evolves at the same pace as the code, versioned in the same repository and reviewed in the same cycle.

The SDD cycle

The cycle is iterative: Specify → Plan → Develop & Test → Iterate.

The key discipline is separating what from how: you agree on expected behaviors before debating the best way to implement them. This prevents architecture from accidentally dictating the product.

SDD vs BDD vs PDD

  • BDD formalizes behavior through tests (Given/When/Then). SDD structures the entire project around the spec. Both can coexist.
  • PDD (Prompt-Driven Development) optimizes the exchange with AI via prompts — effective for prototyping, but the prompt is ephemeral. SDD uses prompts as a tool while the spec remains the reference.

What AI changes

Tools like Kiro now allow you to organize work around Requirements → Design → Tasks, making the spec an active artifact rather than a static document.

Modern AI can:

  • transform a product intention into structured requirements
  • derive a coherent design from those requirements
  • generate implementation tasks
  • produce tests aligned with acceptance criteria
  • verify that code still honors the original intent

The specification stops being a burden and becomes an accelerator.

Read the full article on the Ippon blog: Spec-Driven Development: From Specification to Code with AI