Eine User Story ist ein kurzer, einfacher und leicht verständlicher Satz, der aus der Perspektive eines Benutzers eine gewünschte Funktion oder ein Ziel beschreibt. Sie dient als Kommunikationsmittel zwischen Entwicklern und Stakeholdern in agiler Softwareentwicklung und ermöglicht es, Anforderungen verständlich und nachvollziehbar zu formulieren. Der Fokus liegt dabei auf dem Nutzen für den Benutzer und nicht auf technischen Details. Die User Story ist ein zentraler Bestandteil des Scrum Frameworks und insbesondere im Product Backlog anzutreffen.
Struktur einer User Story
Eine User Story besteht in der Regel aus drei Teilen:
- Der Rolle (Wer?): Hier wird beschrieben, welche Art von Benutzer oder Stakeholder von der Funktion betroffen ist oder einen Nutzen daraus zieht.
- Der Funktion (Was?): Hier wird beschrieben, welche Funktion oder welches Ziel der Benutzer bzw. Stakeholder erreichen möchte.
- Dem Nutzen (Warum?): Hier wird erklärt, welchen Vorteil oder Mehrwert die Funktion für den Benutzer bzw. Stakeholder bietet.
Ein häufig verwendetes Format für User Stories ist die sogenannte Connextra-Schablone, die wie folgt aufgebaut ist:
Als [Rolle]
möchte ich [Funktion]
um [Nutzen]
Beispiel einer User Story
Ein Beispiel für eine User Story könnte folgendermaßen lauten:
Als Online-Shop-Besucher
möchte ich die Möglichkeit haben, Produkte nach Kategorien zu filtern
um schneller das gewünschte Produkt zu finden.
Abgrenzung zu technischen Anforderungen
Ein wichtiges Merkmal von User Stories ist, dass sie sich auf den Nutzen für den Benutzer konzentrieren und technische Details bewusst ausklammern. Die Umsetzung der technischen Anforderungen, die sich aus einer User Story ergeben, ist Aufgabe des Entwicklungsteams und wird in Form von
definiert, die im Zuge der Umsetzung der User Story bearbeitet werden. Diese Trennung von fachlichen und technischen Anforderungen fördert die Verständlichkeit und Nachvollziehbarkeit der Anforderungen und ermöglicht eine klarere Priorisierung der Aufgaben im Entwicklungsprozess.
User Stories im agilen Kontext
User Stories sind ein zentraler Bestandteil agiler Softwareentwicklungsmethoden wie Scrum oder Kanban. Im Scrum Framework werden User Stories im Product Backlog erfasst und priorisiert. Das Product Backlog ist eine geordnete Liste aller Funktionen, die für ein Produkt geplant oder erwünscht sind. In den sogenannten Sprints, zeitlich begrenzten Iterationen der Softwareentwicklung, werden User Stories vom Product Backlog in das Sprint Backlog überführt und vom Entwicklungsteam umgesetzt.
Erstellung und Verfeinerung von User Stories
Die Erstellung von User Stories ist ein kontinuierlicher, gemeinschaftlicher Prozess, der die Zusammenarbeit zwischen den verschiedenen Stakeholdern, wie z.B. dem Product Owner, dem Entwicklungsteam und den Endbenutzern, fördert. User Stories werden im Rahmen von sogenannten Refinement-Meetings diskutiert und verfeinert. Hierbei werden die Anforderungen konkretisiert, Unklarheiten beseitigt und die User Stories in kleinere, handhabbare Einheiten zerlegt, wenn nötig. Dieser Prozess ist iterativ und wird fortlaufend über den gesamten Entwicklungszyklus des Produkts hinweg durchgeführt.
Abnahme von User Stories
Zur Sicherstellung der Qualität und der Erfüllung der Anforderungen einer User Story werden sogenannte Abnahmekriterien definiert. Abnahmekriterien sind präzise und objektive Kriterien, die beschreiben, unter welchen Bedingungen eine User Story als erfüllt betrachtet wird. Sie dienen als Grundlage für die Kommunikation zwischen den Stakeholdern und dem Entwicklungsteam und helfen, die Erwartungen an die Umsetzung der User Story zu klären. Die Abnahme einer User Story erfolgt im Rahmen der Review-Meetings am Ende eines Sprints, in denen das Entwicklungsteam die umgesetzten User Stories präsentiert und die Stakeholder die Erfüllung der Abnahmekriterien prüfen.
Fazit
Die User Story ist ein bewährtes Instrument zur Erfassung und Kommunikation von Anforderungen in der agilen Softwareentwicklung. Sie fördert die Zusammenarbeit zwischen den Stakeholdern und dem Entwicklungsteam, ermöglicht eine klare Fokussierung auf den Nutzen für den Benutzer und unterstützt die Priorisierung der Entwicklungsarbeit. Durch die Verwendung von User Stories wird die Verständlichkeit und Nachvollziehbarkeit von Anforderungen im Entwicklungsprozess erhöht und die Qualität des entwickelten Produkts sichergestellt.