Der nachfolgende Text wurden mit KI erstellt und kann Fehler enthalten. Fehler gefunden? Bei GitHub editieren
Wichtige Keytakeaways
- Spec-Driven Development mit detaillierten Use-Cases ermöglicht KI-gestützte Code-Generierung deutlich besser als User Stories oder vages Vibe-Coding.
- Self-Contained Systems als Architekturstil reduzieren den Kontext für KI optimal und ermöglichen gleichzeitig unabhängige Deployments nach Stakeholder-Gruppen.
- Fullstack-Frameworks wie Vaadin mit Java ermöglichen konsistente KI-Prompts auf einer einzigen Technologie ohne Frontend-Backend-Trennung auf technologischer Ebene.
- Spezifikationen als Markdown in Git (nicht Confluence / Jira) schaffen eine Single Source of Truth, die über Jahre hinweg erhalten bleibt und Modernisierung ermöglicht.
- KI-Agenten sind keine deterministischen Code-Generatoren, sondern Team-Mitglieder, die iterativ zusammen mit Entwicklern an Code und Tests arbeiten.
- Der gesamte Requirements-Prozess sollte KI-unterstützt erfolgen: von Requirements über Domain-Modelle, Use-Cases bis zur Architektur-Dokumentation.
Behandelte Kernfragen
- Wie lässt sich KI produktiv in realen Softwareprojekten einsetzen, ohne in Chaos zu verfallen?
- Warum sind Use-Cases mit strukturierten Abläufen der Spezifikation überlegen gegenüber User Stories für KI-gestützte Entwicklung?
- Welche Architektur-Stile eignen sich optimal für KI-gestützte Code-Generierung (Monolith vs. Microservices vs. Self-Contained Systems)?
- Wie unterscheidet sich echter Spec-Driven Development von reiner Task-Driven Development mit KI-Tools?
- Inwiefern können detaillierte Spezifikationen langfristig Technologie-Wechsel ermöglichen, ohne Code komplett neu zu schreiben?
- Wie lässt sich Versionskontrolle und agile Iterationen mit KI-generiertem Code vereinbaren, wenn KI nicht deterministisch ist?
Glossar wichtiger Begriffe
- Self-Contained Systems (SCS): Architekturstil, der Applikationen in unabhängige, vertikal geschnittene Säulen aufteilt, die nach Stakeholder-Gruppen organisiert sind und einzeln deploybar sind, ohne den Rest zu beeinflussen.
- Vaadin: Java-basiertes Fullstack-Framework, das UI-Komponenten als Java-Klassen bereitstellt und zur Laufzeit automatisch zu JavaScript-Single-Page-Applikationen im Browser synchronisiert, ohne dass JavaScript geschrieben werden muss.
- MCP-Server: Model Context Protocol Server, der KI-Agenten Zugriff auf externe Tools, APIs und Datenbanken ermöglicht (z.B. Playwright für Browser-Steuerung, Jooq-Dokumentation via Vektordatenbank).
- Spec-Driven Development: Entwicklungsmethodik, die mit detaillierten, strukturierten Spezifikationen (Use-Cases mit Abläufen, Vor-/Nachbedingungen, Business-Regeln) beginnt und daraus Code sowie Tests KI-gestützt generiert.
- Use-Case: Detaillierte Spezifikation eines System-Ablaufs mit Akteur, Vorbedingungen, Hauptablauf, alternativen Abläufen, Business-Regeln und Nachbedingungen – gegenüber User Stories strukturierter und für KI besser verständlich.
- Balkon-Architektur: Anti-Pattern in Legacy-Systemen, bei dem Entwickler aus Unsicherheit kleine Funktionalität an existierende Logik „anbalkonieren”, statt den Gesamtablauf umzugestalten, was zu Redundanzen und Verwirrung führt.
- Browser-Less Testing: Integrations-Test-Ansatz bei Vaadin-Applikationen, bei dem nur der Java-Backend-Code mit Mockups getestet wird, während die UI-Synchronisation durch das Framework automatisch erfolgt – beschleunigt Tests erheblich.