Ein gewachsenes Spring-Projekt auf veralteter Java- und Framework-Version wird in prüfbare Slices zerlegt und Schritt für Schritt auf ein definiertes Zielniveau gehoben.
Fallstudie im Detail
Synthetisches Beispiel — illustrative Größenordnungen, kein Messwert.
Ein gewachsenes Spring-Projekt läuft auf einer veralteten Java- und Framework-Version. Abhängigkeiten sind über Jahre angehäuft, ein Teil der Tests ist rot oder übersprungen, und die Migration auf ein definiertes Zielniveau wurde wiederholt verschoben, weil sie sich nicht in kleine, prüfbare Schritte zerlegen liess.
Abgrenzung — nicht automatisiert: Nicht automatisiert: welches Zielniveau angestrebt wird, bleibt eine vorab getroffene Projektentscheidung. Der Review jedes einzelnen Slices, die Freigabe kritischer Abhängigkeitswechsel und der endgültige Merge-Entscheid liegen durchgehend bei einem Menschen.
Voraussetzungen
Repository mit bestehender Build-Konfiguration (Gradle/Maven) und lauffähiger Testsuite als Ausgangspunkt.
Ein Stack-Profil, das Zielversion und Architekturkonventionen benennt.
Guardrails, die die verbindlichen Konventionen des Projekts festhalten.
Freigabe des Ticket-Backlogs durch ein Projektmitglied vor dem ersten Lauf.
Ablauf
Ticket im angebundenen Tracker beschreibt das Zielniveau je Modul.
Der Plan zerlegt die Migration in geordnete, einzeln überprüfbare Slices.
Jeder Slice ändert einen abgegrenzten Ausschnitt: Abhängigkeit, API-Anpassung oder Testkorrektur.
Validierung je Slice: Kompilierung, betroffene Tests, statische Analyse.
Ergebnis geht als Pull Request an das Repository — Review und Merge bleiben beim Menschen.
Ergebnisartefakte
Geänderte Dateien und Abhängigkeiten je Slice im Commit-Verlauf nachvollziehbar.
Testergebnisse und Gate-Status je Slice dokumentiert.
Ein Pull Request je Slice oder gebündelt, mit Verweis auf das Ticket.
Offen gebliebene Punkte stehen als eigene Tickets im Backlog, nicht stillschweigend verworfen.
Kennzahlen
Umfang
Stories/Tickets
1
Slices
34
Dateien/Module
118
Durchsatz
Validierte Slices
31
Wiederholungen
9
Menschliche Eingriffe
6
Qualität
Ausgeführte Checks
Compile, Unit Tests, Static Analysis
Gates bestanden
5
Gates fehlgeschlagen
1
Restschuld
Zwei ältere Testklassen decken den neuen Codepfad noch nicht ab; als Ticket zurückgestellt statt stillschweigend entfernt.
Ressourcen — ohne Preis
Prompt-Tokens
500000
Completion-Tokens
200000
Cache-Tokens
750000
Modell-Aufrufe
200
Sandbox-Laufzeit
90 Minuten
Modell-/Stack-Kontext
Java 17 → Java 25, Spring Boot 3 → Spring Boot 4 (Zielprofil java-spring-boot-4-hexagonal).
Alle Beispiele auf dieser Seite sind zur Veranschaulichung erstellt. Sie sind keine Zusage über Dauer, Qualität oder Kosten eines künftigen eigenen Laufs — die eigenen Zahlen zeigt das Cockpit nach der Anmeldung, im eigenen Tenant-Kontext.