Skip to main contentSkip to page footer

 |  Blog

Spec Driven Development (SDD) in the age of AI

AI tools such as ChatGPT or GitHub Copilot are fundamentally changing software development. While code is being generated faster and faster, the focus is shifting to the quality of the underlying specification. Spec Driven Development (SDD) offers a structured and practical approach to this. One toolkit that specifically addresses the synergy between SDD and AI-generated code and supports it with suitable tools is the "GitHub Spec Kit".

What is Spec Driven Development (SDD)?

In Spec Driven Development, everything starts with a clear, written specification. It serves as the single source of truth and the foundation for all related documentation and coding results. The specification is versioned and maintained together with the source code. Its requirements and acceptance criteria are broken down into well-structured, manageable tasks that can then be implemented.

This tight coupling between technical implementation and business requirements ensures clarity, traceability, and reproducibility, all of which are especially valuable when generating code with AI. While the idea behind SDD isn’t entirely new, what’s new is how effectively AI can now translate these predefined requirements into working code.

How SDD and AI Are Shaping Development Work

The synergy between Spec Driven Development and AI-generated code fits perfectly with the growing automation of coding tasks by AI. According to Google’s CEO, by April 2025 about 30% of their code had already been written by AI, or around 50% if you include autocomplete suggestions.

This shift has a major impact on developers’ daily work. The core focus is moving from writing code to describing systems. Developers increasingly define what the system should do instead of worrying about how to implement it.

A good example of this in practice is the open-source tool GitHub Spec Kit. It’s an actively maintained solution that includes a set of AI agents with predefined workflows and structured document templates. The agents fill these templates as part of the workflow.

A typical workflow in GitHub Spec Kit includes four steps:

  • /specify: Share your system idea with a dedicated AI agent. This step focuses on the what and why.
  • /plan: Define the technical approach. You can specify frameworks, tools, and languages or collaborate with the agent to explore options.
  • /tasks: Based on the previous results, this step breaks everything down into small, structured work packages.
  • /implement: The agent implements each of the described work packages for a given feature.

This standardized workflow, with defined output documents, ensures reliable, reproducible, and transparent AI-generated results.

SDD with AI – Tips and Lessons Learned

Even with tools like GitHub Spec Kit, we’re still far from being able to hand a rough specification to an AI and expect a high-quality software product in return. Over time, I’ve collected a number of practical tips and identified some limitations, many of which are also echoed by others working in this field:

  • Keep specs and work packages small and specific. The clearer and more focused the requirements, the better the AI results. It’s often better to have several concise specs than one massive document.
  • Review every AI-generated output. Continuous reviews help prevent cascading errors and uncover false assumptions early. Manual reviews should be supported by automated tests, linters, and static code analysis.
  • Let the AI generate tests. Ongoing test coverage helps detect both faulty code and incomplete requirements early. Each “implement” step should include a test run.
  • Write detailed and precise specs. Unlike human developers, AI can’t be trusted to fill in even obvious gaps on its own.
  • Question AI output critically. Even if an AI seems confident after several bug fix rounds, that doesn’t always mean the problem is solved. Manual verification is still essential.
  • Maintain a “lessons learned” document. Collect recurring or typical mistakes and integrate a check against this list into your implementation workflow.

Common Limitations and Challenges:

  • Complete feature implementations by AI are still unrealistic. Based on experience, the success rate across all requirements including tests is roughly 50–90%. Feedback loops can improve results, but after a few iterations, quality gains usually plateau.
  • Repeated or cascading errors. Unlike humans, AI often fails to recognize when fixing one bug requires adjusting other parts of the system.
  • Working with AI takes time. Multiple specs, repeated reviews, and manual corrections all add up, sometimes making AI-assisted development more labor-intensive than expected.
  • Context limitations. Large legacy codebases or cross-cutting refactoring can exceed an AI model’s context window, leading to significantly weaker output.

Spec Driven Development fits perfectly with the ongoing trend of faster and cheaper code generation. Tools like GitHub Spec Kit move SDD from a “nice-to-have” concept to a real competitive advantage in AI-assisted software development.

About the author

 

Andreas Eberlei has a Master of Science in Computer Science. As a senior software developer, he drives numerous projects at M&M and has extensive experience in various specialist and technical domains. His enthusiasm for the use of artificial intelligence and machine learning in software development dates back to his Master's degree. He is currently actively supporting the transition to AI-supported product development at M&M.

Created by