Spec-driven Development

Spec-driven Development (auch Specification-driven Development, kurz SDD) ist ein Ansatz der KI-gestützten Softwareentwicklung, bei dem KI-Agenten auf Basis von Large Language Models Software anhand einer zuvor erstellten Spezifikation entwickeln. Diese wird häufig in natürlicher Sprache formuliert und dient als maßgebliche Grundlage für die Umsetzung. Die KI-Agenten unterstützen bereits beim Ausformulieren der Anforderungen, zerlegen diese in Teilaufgaben und erzeugen daraus Quelltext und Softwaretests. Entwickler prüfen in der Regel die Zwischenergebnisse und präzisieren gegebenenfalls die Spezifikation erneut. Der Ansatz wird häufig als strukturiertere Alternative zum Vibe-Coding eingeordnet.

Begriff und Abgrenzung

Der Begriff Spec-driven Development wird in der Fachliteratur und von Anbietern von Entwicklungswerkzeugen uneinheitlich verwendet und ist nicht eindeutig definiert. Vereinzelt wurde die Bezeichnung bereits vor der Verbreitung generativer KI-Modelle verwendet, etwa 2004 für einen agilen Ansatz, der testgetriebene Entwicklung mit dem Prinzip des Design by Contract verbindet. Mit der Verbreitung KI-gestützter Programmierwerkzeuge wird der Begriff überwiegend in diesem Kontext verwendet.

Anforderungen vor der Implementierung festzulegen, ist kein neues Vorgehen. Es ist Gegenstand des Anforderungsmanagements und liegt auch der testgetriebenen Entwicklung, dem Behavior Driven Development und der modellgetriebenen Softwareentwicklung zugrunde. Anders als die Codegeneratoren der modellgetriebenen Softwareentwicklung erzeugen Large Language Models den Quelltext jedoch nicht deterministisch, sodass aus derselben Spezifikation unterschiedlicher Code entstehen kann.

Ansatz

Die Arbeit wird meist in aufeinanderfolgende Schritte gegliedert, in denen jeweils ein eigenes Dokument entsteht. Zunächst werden übergeordnete Grundsätze und Anforderungen festgehalten und Mehrdeutigkeiten aufgelöst. Anschließend erstellt der KI-Agent einen technischen Entwurf, zerlegt die Arbeit in Einzelaufgaben und setzt diese um. Das Ergebnis wird abschließend gegen die Spezifikation geprüft. Auf diese Weise sollen die ursprünglichen Anforderungen über alle Schritte hinweg erhalten bleiben, statt mehrfach neu interpretiert zu werden.

Üblicherweise werden drei aufeinander aufbauende Reifegrade unterschieden. Beim Spec-first-Vorgehen entsteht die Spezifikation einmalig zu Beginn der Arbeit an einem Feature und wird danach nicht zwingend weitergepflegt. Bei Spec-anchored bleibt sie nach der Implementierung als Referenz für die Weiterentwicklung erhalten und wird fortgeschrieben, wobei sie sich auch auf einzelne Funktionen oder Entwicklungsschritte beschränken kann. Dadurch lässt sich der Ansatz iterativ einsetzen. Bei Spec-as-source dient die Spezifikation als primäres Artefakt, aus dessen Änderungen der Quellcode automatisch erzeugt oder aktualisiert wird.

Empirische Befunde

Die empirische Evidenz zu Vor- und Nachteilen von Spec-driven Development ist bislang begrenzt. Eine 2026 veröffentlichte Studie untersuchte rund 88.000 Pull-Requests aus 119 Open-Source-Repositories und fand keinen statistisch signifikanten Zusammenhang zwischen den untersuchten Spezifikationsartefakten und einer Verringerung von Programmfehlern oder nachträglichen Korrekturen. Die Studie untersuchte jedoch keine von aktuellen SDD-Werkzeugen erzeugten Spezifikationen.

Eine weitere empirische Untersuchung zeigte, dass die Qualität der Anforderungen die Ergebnisse der Codegenerierung beeinflusst. Eine Studie zu sogenannten Requirement Smells fand bei zunehmender Dichte problematischer Anforderungen eine geringere funktionale Korrektheit des erzeugten Codes. Zugleich führte auch eine hohe Qualität der Anforderungen nicht in allen Fällen zu korrektem Code.

Literatur

Einzelnachweise

  1. 1 2 3 4 Anna Gutowska: What is spec-driven development? In: ibm.com. IBM, 19. Mai 2026, abgerufen am 3. November 2026 (englisch).
  2. 1 2 Jannis Mainczyk, Jan Oberhagemann: Fünf Tools für Spec-driven Development im Überblick. In: heise.de. Heise Medien GmbH & Co. KG, 8. Juni 2026, abgerufen am 3. November 2026.
  3. 1 2 3 4 5 6 7 Birgitta Böckeler: Understanding Spec-Driven-Development: Kiro, spec-kit, and Tessl. In: martinfowler.com. Martin Fowler, 15. Oktober 2025, abgerufen am 3. November 2026 (englisch).
  4. ↑ Jonathan S. Ostroff, David Makalsky, Richard F. Paige: Agile Specification-Driven Development. In: Extreme Programming and Agile Processes in Software Engineering (= Lecture Notes in Computer Science. Nr. 3092). Springer, Berlin, Heidelberg 2004, S. 104–112, doi:10.1007/978-3-540-24853-8_12 (englisch).
  5. 1 2 Deepak Babu Piskala: Spec-Driven Development: From Code to Contract in the Age of AI Coding Assistants. 30. Januar 2026, arxiv:2602.00180 (englisch).
  6. ↑ 830-1998 IEEE Recommended Practice for Software Requirements Specifications. IEEE / Institute of Electrical and Electronics Engineers Incorporated, 1998, ISBN 978-0-7381-0448-5 (englisch).
  7. 1 2 Apoorv Gupta: Spec-Driven Development: A Spec-First Approach to AI-Native Engineering. In: developer.microsoft.com. Microsoft, 10. Juni 2026, abgerufen am 3. November 2026 (englisch).
  8. ↑ Wolf Hosbach: Specs first: OpenSpec sortiert das KI-Chaos beim Entwickeln. In: heise.de. Heise Medien GmbH & Co. KG, 13. Juli 2026, abgerufen am 3. November 2026.
  9. ↑ Brenn Hill: Specification Artifacts in Open-Source Pull Request Workflows Do Not Reduce Defects: An Empirical Test of Spec-Driven Development Claims. In: LIPIcs, Volume 394, ESEM 2026. Band 394. Schloss Dagstuhl – Leibniz-Zentrum für Informatik, 2026, ISSN 1868-8969, S. 84:1–84:20, doi:10.4230/LIPICS.ESEM.2026.84 (dagstuhl.de [abgerufen am 8. Oktober 2026]).
  10. ↑ Hugo Villamizar, Jannik Fischbach, Mert Şahin, Julian Frattini, Alessio Ferrari, Alexander Korn, Andreas Vogelsang, Daniel Mendez: On the Impact of Requirement Smells in LLM-Based Code Generation. 25. September 2026, abgerufen am 8. Oktober 2026 (englisch).