Spec-driven Development (auch Specification-driven Development, kurz SDD) ist eine Arbeitsweise der KI-gestützten Softwareentwicklung, bei der eine sktrukturierte Spezifikation als zentrale Grundlage des Entwicklungsprozesses dient. Sie wird vor der Implementierung erstellt und bildet für Softwareentwickler und generative KI-Modelle die maßgebliche Referenz (Single Source of Truth). Quellcode, Tests und Dokumentation werden aus der Spezifikation abgeleitet oder auf ihre Übereinstimmung mit der Spezifikation geprüft. Der Ansatz verbreitete sich ab etwa 2025 als strukturierte Alternative zum Vibe-Coding.
Begriff 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 Sprachmodelle verwendet, etwa 2004 für einen agilen Ansatz, der testgetriebene Entwicklung mit dem Prinzip des Design by Contract verbindet. In seiner heutigen Bedeutung bezeichnet der Begriff jedoch überwiegend eine Arbeitsweise der KI-gestützten Softwareentwicklung. Die Grundidee, das gewünschte Verhalten zunächst zu spezifizieren und die Implementierung daran auszurichten, teilt Spec-driven Development mit älteren Verfahren wie der testgetriebenen Entwicklung, dem Behavior Driven Development und der modellgetriebenen Softwareentwicklung.
Ansatz Beim Spec-driven Development wird der Implementierung einer Software oder einzelner Features eine strukturierte Spezifikation vorangestellt, die das gewünschte Verhalten in natürlicher Sprache beschreibt. Sie enthält insbesondere Anforderungen, Randbedingungen sowie Sonderfälle und dient als Referenz für die weitere Planung und Umsetzung. Eine solche Spezifikation liefert einem KI-Agenten den entsprechenden Kontext, aus dem er Quellcode, Tests und weitere Artefakte erzeugt.
Die zugehörigen Vorgehensmodelle gliedern die Entwicklung in aufeinanderfolgende Schritte, bei denen jeweils ein eigenes Dokument entsteht. Üblicherweise werden zunächst übergeordnete Grundsätze und Anforderungen festgehalten. Anschließend werden Mehrdeutigkeiten aufgelöst, die Architektur geplant und die Arbeit in einzelne Aufgaben zerlegt, bevor die Implementierung mit KI-Unterstützung erfolgt und das Ergebnis abschließend gegen die Spezifikation geprüft wird. Auf diese Weise sollen die ursprünglichen Anforderungen über alle Stationen der Entwicklung erhalten bleiben, statt auf dem Weg von den Bedürfnissen der Beteiligten über Anforderungen und Architektur bis zur Umsetzung 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. Werkzeuge wie Kiro, das GitHub Spec Kit, das Tessl Framework oder OpenSpec setzen unterschiedliche Ausprägungen des Ansatzes mit vordefinierten Arbeitsabläufen um.
Weblinks (englisch) – kuratierte Liste rund um Spec-driven Development
Einzelnachweise
Kategorie:Künstliche Intelligenz Kategorie:Vorgehensmodell (Software) Kategorie:Softwaretechnik