Spezifikationsgetriebene Entwicklung ist plötzlich überall. Viele KI-Tools behaupten, sie zu unterstützen, und viele Teams sagen, sie würden es bereits tun. Doch bei genauerem Hinsehen sehe ich oft etwas ganz anderes.
Der typische Ablauf sieht so aus:
Anforderungen -> Plan -> Aufgaben
Die Anforderungen werden schnell in einen Plan übersetzt, und der Plan wird in sehr konkrete Aufgaben zerlegt. Diese Aufgaben werden dann einem KI-Agenten mit sehr detaillierten Anweisungen übergeben. Schritt für Schritt. Mach dies, dann das.
Das ist keine spezifikationsgetriebene Entwicklung. Es ist Aufgaben-Scripting.
Warum aufgabengetriebene KI keine Spezifikation ist
Aufgabengetriebene KI konzentriert sich auf kurzfristige Produktivität. Das Ziel ist, der KI genau zu sagen, was sie tun soll, damit sie schnell Code erzeugen kann. Dies kann überraschend gut für kleine Features oder Wegwerf-Prototypen funktionieren.
Das Problem ist die Nachhaltigkeit.
Eine echte Spezifikation beschreibt die Absicht, nicht die Schritte. Sie erklärt, was das System tun muss und warum, ohne das „Wie“ in Form von Anweisungen zu kodieren. Aufgabenlisten tun genau das Gegenteil. Sie mischen Anforderungen, Designentscheidungen und Implementierungsdetails in einem fragilen Artefakt.
Sobald sich etwas ändert, bricht alles zusammen.
Ändert sich eine Anforderung, müssen die Aufgaben neu geschrieben werden.
Ändert sich die Architektur, passen die Aufgaben nicht mehr.
Kommt ein neues Teammitglied hinzu, gibt es nichts Stabiles, wovon es lernen könnte.
Es gibt kein gemeinsames Verständnis, nur eine Abfolge von Befehlen, die zu einem bestimmten Zeitpunkt sinnvoll waren.
Dieser Ansatz ist auch stark entwicklerzentriert. Er optimiert die Codeerzeugung, nicht die Kommunikation. Andere Rollen im Projekt werden effektiv ausgeschlossen.
Requirements Engineers können die Absicht nicht validieren.
Tester wissen nicht, welches Verhalten wirklich zählt.
Product Owner sehen Aufgaben, nicht den Geschäftswert.
Das Ergebnis ist schnelle Lieferung, aber schwache Grundlagen.
Was spezifikationsgetriebene Entwicklung tatsächlich bedeutet
Spezifikationsgetriebene Entwicklung beginnt mit einem anderen Mindset.
Die Spezifikation ist die Quelle der Wahrheit.
Code ist eine Konsequenz, nicht das Zentrum.
Eine gute Spezifikation erfasst drei Dinge:
Anforderungen, die Absicht und Einschränkungen beschreiben.
System-Use Cases, die beobachtbares Verhalten und Abläufe beschreiben.
Ein Entity-Modell, das die Domänenkonzepte und die Sprache definiert.
Diese Artefakte sind stabil. Sie ändern sich langsamer als Code. Sie sind für Menschen lesbar und gleichzeitig präzise genug für KI.
Am wichtigsten: Sie sind geteilt. Jeder im Projekt kann sie lesen, diskutieren und validieren.
Das macht ein System evolvierbar.
Die Perspektive des KI Unified Process
Mit dem AI Unified Process (AIUP) nehme ich diese Idee ernst und wende sie auf den gesamten Entwicklungszyklus an.
AIUP geht nicht darum, KI-Agenten mit besseren Prompts zu steuern. Es geht darum, langlebige Spezifikationen zu schaffen, mit denen Menschen und KI gemeinsam arbeiten können.
Anforderungen, System-Use Cases und das Entity-Modell bilden ein ausführbares Spezifikationsset. Sie werden als Text und Diagramme als Code gespeichert. Sie verwenden stabile Identifikatoren, sind versioniert und nachvollziehbar.
KI spielt eine wichtige Rolle, aber nicht als Aufgaben-Executor.
KI hilft dabei:
-
Anforderungen zu verfeinern und zu validieren
-
Konsistenz zwischen Use Cases und Entities zu prüfen
-
Code, Tests und Dokumentation aus der Spezifikation zu generieren
-
Auswirkungen von Änderungen zu bewerten
Menschen behalten die Kontrolle über Absicht und Entscheidungen.
Dies funktioniert für alle Rollen in der Softwareentwicklung: Requirements Engineers, Software Engineers, Tester und Product Owner. Alle arbeiten aus der gleichen Quelle der Wahrheit.
Aber was ist mit User Stories?
AIUP lehnt User Stories nicht ab. Es setzt sie an die richtige Stelle.
User Stories sind nützlich, um Bedürfnisse und Gespräche festzuhalten. In AIUP leben sie im Requirements-Katalog. Sie helfen, Ziele und Kontext auszudrücken.
Nicht verwendet werden sie für die Planung von KI-Aufgaben.
User Stories werden in System-Use Cases und Domain-Modelle verfeinert. Diese werden zur echten Spezifikation, die Implementierung und Automatisierung steuert.
So wird der häufige Fehler vermieden, User Stories als ausführbare Anweisungen zu behandeln.
KI als langfristiger Beschleuniger
Aufgabengetriebene KI wirkt zunächst mächtig. Man bekommt schnell Ergebnisse. Doch das System wird mit jeder Iteration schwerer änderbar.
Spezifikationsgetriebene Entwicklung ist am Anfang langsamer, dafür über die Zeit viel schneller.
Wenn Spezifikationen zuerst kommen:
-
beginnen Änderungen auf der richtigen Ebene
-
werden Auswirkungen früh sichtbar
-
ist Regeneration möglich
-
ist Modernisierung realistisch
Das ist der Unterschied zwischen KI als Produktivitätstrick und KI als langfristigem Beschleuniger zu nutzen.
Wenn KI Systeme unterstützen soll, die evolvierbar sind, braucht man mehr als Aufgaben. Man braucht Spezifikationen.
Darum geht es bei AIUP.
Mehr erfahren unter https://aiup.dev


