When AI agents started writing code autonomously, one thing became clear: the quality of the output depended more on the clarity of the instructions than on the capability of the model. A vague prompt produces vague code. A precise specification produces code that works.
Spec Driven Development (SDD) takes that observation and turns it into a methodology. It is not just another AI ecosystem trend. It is a natural evolution in how software is conceived when the entity writing most of the code is an agent, not a person.
What is Spec Driven Development
Spec Driven Development is an approach where the software specification, the what and the why, is defined completely and structurally before a single line of code is written. The spec becomes the source of truth: the contract between product intent and technical implementation.
It is not the same as Test Driven Development (TDD), where you write tests before code. In SDD, you write the full definition of expected behaviour: user flows, business rules, data structures, acceptance criteria and technical constraints. An AI agent (or a human team) then implements following that spec as a guide.
The key difference from traditional development is the order:
- Traditional development: vague requirements, then code, then tests, then documentation (if time allows).
- TDD: tests, then code, then documentation.
- Spec Driven Development: complete specification, then implementation (by agent or person), then verification.
Why it makes sense now
This approach is not conceptually new. The idea of defining clearly before building has been part of software engineering since the 1970s. What has changed is the context:
- AI agents code fast, but they need precise instructions. An agent like Claude, GPT-4 or Copilot can generate hundreds of lines of functional code in minutes. But if the instruction is ambiguous, the result will be coherent with the ambiguity. The spec eliminates that ambiguity at the source.
- The cost of iterating on a spec is far lower than iterating on code. Changing a paragraph in a specification document takes minutes. Changing a misdirected implementation can cost days.
- The spec is reusable. A good specification can generate tests, documentation, diagrams and the code itself. It is an asset, not a formality.
Concrete benefits for development teams
Less rework
When implementation is guided by a reviewed and validated spec, surprises decrease. The team knows what is expected before writing code, and AI agents have enough context to generate solutions aligned with product intent.
Better communication across roles
Specs serve as a shared language between product, design and development. Product managers describe behaviour. Developers and agents implement it. QA verifies it. Everyone reads the same document.
Scalable AI use
If an AI agent receives a complete spec, it can work more autonomously and consistently. That allows more implementation tasks to be delegated without losing control over output quality.
Living documentation
The spec is not archived after the sprint. It stays updated and serves as reference documentation for onboarding, audits and product evolution.
Platform comparison
Several tools have emerged to facilitate creating, managing and executing specs. Each takes a different approach:
| Platform | Approach | Spec format | Agent integration | Licence |
|---|---|---|---|---|
| Open Spec | Specs as first-class source code | Markdown + YAML frontmatter | Native: Cursor, Claude, Copilot, Windsurf, OpenCode | Open source (MIT) |
| SpecStory | Capture prompts as versioned specs | Markdown in .specstory/ | Native: Cursor | Open source |
| Cursor Specs | Contextual specs inside the editor | Built into Cursor IDE | Own: Cursor Agent | Proprietary |
| Claude Max / Specs | CLAUDE.md as behaviour spec | Markdown (CLAUDE.md) | Own: Claude Code | Proprietary |
| Copilot Workspace | From issue to plan to implementation | Generated from GitHub Issues | Own: GitHub Copilot | Proprietary |
Platform analysis
SpecStory
SpecStory takes a pragmatic approach: it captures the prompts that work and turns them into versioned specifications inside .specstory/. It is especially useful for teams already using Cursor who want to document which prompts produce the best results. Its strength is low friction: it does not change your workflow, it improves it. The limitation is that it is tied to the Cursor ecosystem, and specs tend to be evolved prompts rather than proper product specifications.
Cursor Specs
Cursor has integrated specs as a first-class citizen inside its editor. You can define contextual specs that the Cursor agent reads before generating code. The integration is smooth and the user experience is solid. The main downside is lock-in: if your team uses multiple editors or agents from different providers, Cursor specs are not portable.
Claude Max / CLAUDE.md
Anthropic has promoted CLAUDE.md as a context and behaviour file for Claude Code. It is not exactly SDD, but it fulfils a similar function: defining rules, conventions and constraints that the agent respects during implementation. It is simple and effective for solo projects or small teams. For larger or multi-agent projects, it falls short in structure.
Copilot Workspace
GitHub Copilot Workspace automates the path from an issue to an implementation plan and code. It is useful for teams that live in GitHub and want the agent to propose its own plan before coding. The limitation is that specs are generated by the AI from the issue, not written by the team. That reduces control over behaviour definition.
Open Spec: our preferred option
Of all the options, Open Spec best addresses the real challenges of a team that wants to adopt Spec Driven Development seriously and sustainably. The reasons:
Open and portable format
Open Spec specs are written in Markdown with YAML frontmatter. No proprietary formats, no lock-in with a specific editor or AI provider. If you switch agents or IDEs tomorrow, your specs remain valid.
Agent-agnostic
Open Spec is designed to work with any agent: Cursor, Claude, Copilot, Windsurf, OpenCode and any other that respects the format. That allows each team member to use the tool they are most comfortable with while sharing the same specs.
Specs are source code
In Open Spec, specs are versioned in the repository alongside the code. They are reviewed in pull requests, discussed in code review and kept updated like any other project file. That turns the spec into a living asset, not a document written once and forgotten.
SPEC.md support
Open Spec's SPEC.md format includes structured sections for objectives, technical context, constraints, acceptance criteria and dependencies. That structure helps the agent have all the information it needs to implement without ambiguity.
Open source
MIT licence. You can audit the code, contribute improvements and adapt it to your team's needs without depending on a commercial vendor.
How to get started with Spec Driven Development
If you want to try SDD with your team, these are the steps we recommend:
- Choose a small task. A bug, a minor feature, a UX improvement. Do not try to spec the entire system at once.
- Write the spec before touching code. Describe what you want to achieve, what the constraints are, what acceptance criteria must be met. Use Open Spec's SPEC.md format.
- Let the agent implement. Pass the spec to your AI agent (Cursor, Claude, Copilot) and let it generate the code.
- Review the result against the spec. Does it meet the acceptance criteria? Does it respect the constraints? If not, adjust the spec before adjusting the code.
- Iterate. Adjust the granularity of your specs until you find the level that works for your team and your agents.
Spec Driven Development is not just another methodology. It is a practical response to a new reality: when the entity writing code is an AI agent, the clarity of the instructions becomes the factor that determines the quality of the output.
Your team needs secure AI training
The EU AI Act requires AI literacy for all staff from August 2026. Our courses cover compliance, AI agents and governance. FUNDAE can subsidise 100% of the cost.