Software-Entwicklungsmethodologien haben sich in den letzten Jahrzehnten rasch weiterentwickelt, von umfangreichen, vorab erstellten Wasserfall-Dokumentationen hin zu leichtgewichtigen, iterativen agilen Praktiken. Längere Zeit wurde der traditionelle „Use Case“ – ein Kernbestandteil der objektorientierten Softwareentwicklung – als unvereinbar mit modernenagilen Frameworks wie Scrum und Kanban angesehen. Er wurde oft wegen seiner zu dokumentationszentrierten und langsamen Natur kritisiert.
Eintreten vonUse-Case 2.0. Eingeführt von Ivar Jacobson, Ian Spence und Brian Kerr, revolutioniert dieses moderne Framework den klassischen Use Case, um ihn leichtgewichtig, skalierbar und vielseitig zu gestalten. Es ist darauf ausgelegt, die Lücke zwischen den strukturellen Vorteilen von Use Cases und der Flexibilität agiler Entwicklung zu schließen.
Use-Case 2.0 ist die moderne Weiterentwicklung des Use-Case-Ansatzes, speziell entwickelt, um die Grenzen der traditionellen Anforderungserhebung zu überwinden. Im Gegensatz zu seinem Vorgänger, der oft umfangreiche Details vor Beginn der Programmierung erforderte, konzentriert sich Use-Case 2.0 auf das Wesentliche, iterative Lieferung und vertikale Slicing.
Die zentrale Innovation dieses Frameworks ist die Fähigkeit, Use Cases in kleinere, handhabbare Teile zu zerlegen, die alsUse-Case-Slices. Dies ermöglicht es Teams, das „Großbild“ der Systemarchitektur beizubehalten, während gleichzeitig Wert in kleinen, sprintbasierten Inkrementen geliefert wird, die mit Scrum, SAFe und Disciplined Agile kompatibel sind.
Use-Case 2.0 basiert auf sechs Leitprinzipien, die sicherstellen, dass der Prozess schlank und wertorientiert bleibt:
Um zu verstehen, wie Use-Case 2.0 in Agile passt, muss man seine Artefakte verstehen. Das Framework vereinfacht die umfangreiche Dokumentation der Vergangenheit in drei Hauptkomponenten.
Ein Use Case beschreibt weiterhin eine zielgerichtete Interaktion zwischen einem Akteur (Benutzer) und dem System. In Version 2.0 wird er jedoch nicht vollständig vorab detailliert. Er beginnt mit einem Namen, einer kurzen Beschreibung und demHaupterfolgsszenario. Details zu alternativen Abläufen und Ausnahmen werden „just-in-time“ hinzugefügt, sobald sie für die Entwicklung priorisiert werden.
DieUse-Case-Sliceist die wichtigste Innovation in diesem Framework. Eine Slice ist ein vertikaler Schnitt durch einen Use Case, der einen vollständigen Wertstrom darstellt. Sie beinhaltet einen Teil der Erzählung (Stories), die relevantenTestfälle, sowie den Code, der zur Implementierung erforderlich ist.
Das Slicing ermöglicht es, einen einzelnen Use Case (z. B. „Bestellung verarbeiten“) über mehrere Sprints zu verteilen:
Jede Slice fungiert als Backlog-Element – sie ist schätzbar, testbar und innerhalb einer Iteration lieferbar.
Während die Slices im täglichen Arbeitsablauf behandelt werden, bleibt dasUse-Case-Modellals Karte erhalten. Es ist die Zusammenfassung aller Use Cases und bietet den Kontext und die architektonische Übersicht, die einzelne User Stories oft fehlen. Dies löst das häufige agile Problem, bei dem ein Team Hunderte von Stories abschließt, aber die Gesamtbetriebsweise des Systems aus den Augen verliert.
Viele Teams haben Schwierigkeiten damit,zwischen User Stories und Use Cases zu wählen. Use-Case 2.0 argumentiert, dass man nicht wählen muss; es bietet die Struktur von Use Cases mit der Agilität von Stories.
| Aspekt | Klassische Use Cases (vor 2.0) | Benutzerstories | Use-Case 2.0 |
|---|---|---|---|
| Vorarbeit | Hoch (detaillierte Spezifikationen) | Sehr gering | Niedrig → inkrementell |
| Überblick | Ja | Häufig verloren | Ja (über Use-Case-Modell) |
| Iterative Fähigkeit | Schlecht | Ausgezeichnet | Ausgezeichnet (über Slices) |
| Nachvollziehbarkeit | Stark | Schwach | Stark (fließt in Tests ein) |
| Testfokus | Manuell / Spätphase | Akzeptanzkriterien | Eingebaut pro Slice (TDD) |
| Beste Umgebung | Wasserfall / Strukturiert | Einfache agile Projekte | Komplexe / enterprise-agile Projekte |
Die Einführung dieser Methode erfordert einen zyklischen Arbeitsablauf, der sich nahtlos in standardmäßige agile Sprints einfügt:
Use-Case 2.0 ist besonders effektiv für Unternehmenssysteme, regulierte Branchen oder komplexe Domänen, in denen einfache User Stories nicht ausreichen.
Es bietet Skalierbarkeit indem Teams mit einem leichten Start beginnen und Formalität nur dort hinzufügen, wo sie notwendig ist. Es gewährleistet Wertfokus indem Teams dazu zwingt, in ganzheitlichen Benutzerreisen statt in isolierten technischen Aufgaben zu denken. Schließlich löst es das DokumentationsverschuldungProblem; da das Use-Case-Modell iterativ aktualisiert wird, entwickelt sich die Dokumentation mit dem Code mit und fungiert als „lebendige“ Anforderungssammlung anstelle eines veralteten Archivs.