KI verändert, wie wir Software entwickeln. Code, Tests und sogar UI können sehr schnell generiert werden. Das ist mächtig, offenbart aber auch eine Schwäche in vielen Projekten.
KI versteht Intentionen nicht von selbst. Sie arbeitet nur zuverlässig, wenn der Input präzise ist.
Deshalb sind System Use Cases heute relevanter denn je.
In meinen Projekten sind System Use Cases das zentrale Artefakt. Sie steuern die KI, halten Code und Intention in Einklang und machen Änderungen sicher und vorhersehbar.
Dieser Artikel erklärt, warum System Use Cases im Zeitalter der KI so gut passen, woher sie stammen und was einen System Use Case ausführbar macht.
Das Kernproblem bei KI-gestützter Entwicklung
KI kann Code generieren. Sie kann aber nicht erraten, was Sie wirklich meinen.
Sind Requirements vage, wird der generierte Code vage sein. Ist Verhalten implizit, erfindet die KI Details.
User Stories, Tickets und Freitextbeschreibungen sind für Menschen geschrieben. Sie lassen Interpretationsspielraum. Das funktionierte, als Menschen den gesamten Code schrieben. Mit KI in der Entwicklung reicht das nicht mehr aus.
System Use Cases lösen dieses Problem, indem sie beobachtbares Systemverhalten präzise und strukturiert beschreiben.
Woher System Use Cases stammen
System Use Cases stammen aus klassischer Software- und Requirements-Engineering-Praxis. Sie konzentrieren sich darauf, was das System von aussen tut.
Ein System Use Case beschreibt keine Implementierungsdetails. Er beschreibt Verhalten, das beobachtet, getestet und validiert werden kann.
System Use Cases können auf verschiedene Weise erstellt werden:
- Abgeleitet aus strukturierten Requirements in einem neuen Projekt
- Verfeinert aus Geschäftsprozessen und Domänenwissen
- Aus einem bestehenden System während der Modernisierung extrahiert
- Aus realen Nutzerinteraktionen rekonstruiert
In Modernisierungsprojekten ist dies besonders wichtig. Bevor Code geändert wird, extrahiere ich zuerst System Use Cases aus dem laufenden System. Dadurch wird verborgenes Verhalten sichtbar und eine stabile Basis für KI-gestützte Änderungen geschaffen.

Business Use Cases vs. System Use Cases
Business Use Cases beschreiben was das Business will. System Use Cases beschreiben wie das System sich verhält.
Business Use Cases sind nützlich für Diskussion und Abstimmung. System Use Cases sind nützlich für Umsetzung und Automatisierung.
KI benötigt System Use Cases, nicht Business-Narrative.
Was einen System Use Case ausführbar macht
Ausführbar bedeutet nicht „laufender Code“. Ausführbar bedeutet, dass der Use Case direkt von Tools und KI genutzt werden kann.
Ein ausführbarer System Use Case hat klare Struktur und keine Ambiguität. Er enthält immer:
- Einen klaren Trigger
- Explizite Akteure
- Einen strukturierten Hauptfluss
- Explizite alternative und Fehlerflüsse
- Stabile Domänensprache
Diese Struktur eliminiert Raten und ermöglicht Automatisierung.
Gutes Beispiel: Ausführbarer System Use Case
Das folgende Beispiel zeigt einen guten, ausführbaren System Use Case.
System Use Case: Benutzer registrieren
ID: UC-001 Primary Actor: Besucher Supporting Actors: Email Service Trigger: Besucher sendet das Registrierungsformular ab
Vorbedingungen Der Besucher ist nicht authentifiziert.
Nachbedingungen Ein neuer Benutzeraccount existiert mit Status pending verification. Eine Verifizierungs-E-Mail wird an den Benutzer gesendet.
Hauptfluss
- Der Besucher gibt E-Mail-Adresse und Passwort ein.
- Der Besucher sendet das Registrierungsformular ab.
- Das System prüft die Eingaben.
- Das System erstellt einen neuen Benutzeraccount.
- Das System sendet eine Verifizierungs-E-Mail.
- Das System bestätigt die erfolgreiche Registrierung.
Alternative Flüsse
A1: E-Mail-Adresse existiert bereits
- Im Schritt 3 erkennt das System einen bestehenden Account.
- Das System lehnt die Registrierung ab.
- Das System zeigt eine Fehlermeldung an.
A2: Ungültige Eingaben
- Im Schritt 3 erkennt das System ungültige Eingaben.
- Das System lehnt die Registrierung ab.
- Das System zeigt Validierungsfehler an.
Warum dieser Use Case ausführbar ist
Dieser Use Case funktioniert gut mit KI, weil:
- Der Trigger explizit ist
- Akteure klar definiert sind
- Jeder Schritt beobachtbares Verhalten beschreibt
- Validierung und Fehlerbehandlung explizit sind
- Domänenterminologie konsistent ist
Aus diesem einzelnen Use Case kann die KI Backend-Code, Validierungslogik, Persistenz, UI-Verhalten und Tests generieren. Ändert sich der Use Case, kann die KI den bestehenden Code aktualisieren, statt alles neu zu erzeugen.
Schlechtes Beispiel: Nicht ausführbarer Use Case
Zum Vergleich ein schlechtes Beispiel. Diese Art der Beschreibung ist sehr verbreitet.
Use Case: Benutzerregistrierung
Benutzer sollten sich einfach registrieren können. Das System muss sicher und benutzerfreundlich sein.
Wenn sich ein Benutzer anmeldet, prüft das System die Daten und erstellt einen Account. Wenn etwas schiefgeht, soll der Benutzer eine hilfreiche Nachricht erhalten.
Nach der Registrierung erhält der Benutzer eine E-Mail.
Warum dieser Use Case nicht ausführbar ist
Diese Beschreibung versagt bei KI-gestützter Entwicklung.
Der Trigger ist unklar. Es ist nicht definiert, wann der Use Case startet.
Akteure fehlen. Es ist nicht klar, wer mit dem System interagiert.
Der Ablauf ist unstrukturiert. Es gibt keine geordneten Schritte und keine klaren Systemreaktionen.
Validierung ist vage. „Prüft die Daten“ und „etwas geht schief“ sind keine beobachtbaren Verhaltensweisen.
Fehlerbehandlung ist implizit. Es gibt keine definierten alternativen Flüsse.
Die Sprache ist subjektiv. Wörter wie „einfach“, „sicher“ und „benutzerfreundlich“ lassen sich nicht in Code oder Tests übersetzen.
Was passiert, wenn die KI das verwendet
Wenn die KI diesen Input erhält:
- Unterschiedlicher Code bei jeder Generierung
- Validierungsregeln werden geraten
- Fehlerbehandlung unvollständig
- Tests schwach oder fehlend
- Kleine Änderungen verursachen grosse Codeunterschiede
Die KI wird gezwungen, Verhalten zu erfinden, statt es umzusetzen.
Was „ausführbar“ in der Praxis wirklich bedeutet
Ausführbare System Use Cases dienen als stabiler Referenzpunkt.
Darauf kann die KI:
- Code und Tests generieren
- Bestehenden Code sicher aktualisieren
- Verhalten über alle Schichten konsistent halten
Code wird nicht blind neu generiert. Er wird mit dem Use Case synchronisiert.
Das ist wichtig, weil KI kein Compiler ist. Generierter Code ist nicht jedes Mal identisch. Der Use Case hält alles im Einklang.
Kein Big Upfront Design
Dieser Ansatz basiert nicht auf Big Upfront Design.
System Use Cases werden inkrementell geschrieben:
- Ein Use Case
- Eine Generierung oder Aktualisierung
- Eine Überprüfung
- Eine Änderung auf einmal
Das passt perfekt zur modernen Entwicklung und zur optimalen Nutzung von KI heute.
Konklusio
Im Zeitalter der KI ist Code nicht mehr der beste Ort, um Systemverhalten zu beschreiben. Code ist ein Ergebnis.
Ausführbare System Use Cases bieten Präzision, Stabilität und Nachvollziehbarkeit. Sie funktionieren für Menschen und KI. Deshalb stehen System Use Cases im Zentrum meiner Softwareentwicklung heute.


