Use Cases werden in der Software-Entwicklung bereits seit 25 Jahren als Mittel zur Darstellung der funktionalen Anforderungen verwendet. Nicht zuletzt als Bestandteil der Unified Modeling Language (UML) haben sie eine recht hohe Verbreitung gefunden. Insbesondere im Zusammenhang mit agilen Methoden erfuhren die Use Cases in den letzten Jahren einige Kritik, da bei dieser Methode häufig schon recht detaillierte Abläufe im Voraus erarbeitet werden. Agile Entwickler arbeiten daher gerne mit User Stories, die sich eher auf die Ziele des Benutzers konzentrieren als bereits frühzeitig Bedienungsdetails festzulegen. Die vorliegende Studie untersucht den Einsatz von Use Cases in der Praxis. Ein verlässliches Bild über die tatsächliche Verbreitung dieser Methodik liefert die Studie nicht, wurde doch ein Großteil der 83 Teilnehmer aus dem Umfeld eines GI-Arbeitskreises mit dem Schwerpunkt Use Cases gewonnen. Daher dürften hauptsächlich Menschen geantwortet haben, die sich sowieso für dieses Thema interessieren. Und so verwundert es nicht, dass über 90% bereits Use Cases einsetzen oder dies planen. Dennoch deutet die Tatsache, dass sich dieses Teilnehmerfeld aus ganz unterschiedlichen Branchen finden ließ, darauf hin, dass Use Cases vielerorts nach wie vor zum festen Methodenrepertoire der Softwareentwicklung gehören.
Use Case
Agile Entwicklung: Was wurde eigentlich aus den Use Cases?
Use Cases sind seit vielen Jahren ein beliebtes Mittel zur Strukturierung und Dokumentation funktionaler Anforderungen. Ein Use Case, oder Anwendungsfall, stellt dar, wie ein System mit einem Benutzer oder einem anderen System zusammenwirkt, um eine bestimmte Aufgabe zu erledigen. Ein Use Case-Diagramm zeigt die Akteure und ihre Use Cases im Überblick. Als Bestandteil der Unified Modeling Language (UML) haben Use Case-Diagramme eine weite Verbreitung gefunden. Noch wichtiger als die Diagramme sind aber die Beschreibungen der einzelnen Use Cases, meist in Form von Texten, die nach bestimmten Vorlagen strukturiert sind. Diese Beschreibungen der Abläufe bei der Bearbeitung einer bestimmten Aufgabe dienen als Grundlage für die eigentliche Entwicklung, aber auch für den anschließenden Test.
In klassischen, wasserfallartigen Vorgehensmodellen hatten die Use Cases ihren Platz als Beschreibungsmittel im Rahmen der Anforderungsanalyse. Wie sieht dies aber in der agilen Entwicklung aus?