Epic

Epic Software Entwicklung

Copyright © Shutterstock/kentoh

Was ist Epic?

Werden die Anforderungen an eine neue Software beschrieben, und zwar auf einer sehr hohen abstrahierten Ebene, bezeichnet man dies als Epic. Dabei wird die Beschreibung in der sogenannten Alltagssprache formuliert, um sie auch denjenigen Personen zugänglich zu machen, die als Laien die Fachsprache nicht beherrschen  kongruent zu User Storys.

Anwendung des Epic

Der Begriff ist in erster Linie aus dem Anforderungsmanagement der agilen Software-Entwicklung bekannt. Epics werden für die Entwicklung eines Product-Backlogs verwendet, beispielsweise im Rahmen von Scrum. Der Autor der Beschreibung kann zunächst eine kumulierte Übersicht der Anforderungen an das neue Produkt entwickeln und dabei die Details zunächst außer Acht lassen. Die Zerlegung dieser Übersichtsbeschreibung in detaillierte Beschreibungen wird als “Story-Zerlegung” bezeichnet.

Dieser Vorgang ist Teil der Story Decomposition. Diese dient dazu, dass die User Storys ausreichend detailliert beschrieben werden. Außerdem sollen die User Storys sich aus den Zielen der Anwender ableiten lassen. Um die Anforderungen schrittweise zu verfeinern, gehen die Entwickler von der Breite in die Tiefe vor: Von den zu erreichenden Zielen über die Epics zu den detaillierten User Storys, die wiederum um Kriterien hinsichtlich der Akzeptanz erweitert werden.

Die Unterschiede zwischen Epic, User Story und Theme

Eine klare Abgrenzung zwischen den Begriffen Epic, User Story und Theme ist kaum möglich. Die Grenze zwischen Epic und User Story ist fließend, da die User Story häufig nur aus einem oder zwei Sätzen besteht. Ein Epic ist im Prinzip eine “große Story”, groß genug, um in einzelne User Storys zerlegt zu werden. Epics kommen dann zum Einsatz, wenn der vorgesehene Umfang einer User Story von ein bis zwei Sätzen nicht mehr ausreicht, diese also zu komplex sind.

Werden einzelne User Storys thematisch zu einer Gruppe zusammengefasst, wird diese als Theme bezeichnet. Vergleichen lassen sich solche Themes mit Büchern, zum Beispiel mit englischen Krimis. Das Theme “englische Krimis” erleichtern unter dem Oberbegriff “Bücher” die Einordnung und sorgt für eine präzisere Beschreibung und Abgrenzung.

Anwendung des Epic in der agilen Software-Entwicklung

Mit agiler Software-Entwicklung werden Vorgehensweisen bezeichnet, die im Prozess der Software-Entwicklung zu einem schnelleren System-Einsatz führen sollen. In diesem Zusammenhang ist die Flexibilität und Transparenz signifikant erhöht und sorgt dafür, dass die Risiken im Entwicklungsprozess so weit wie möglich minimiert werden. Gleichzeitig zielen die Team-Mitglieder auf den weitgehenden Verzicht von Regeln und Bürokratie, um das Tempo der notwendigen Veränderungen und Anpassungen zu erhöhen.

In der agilen Software-Entwicklung stehen Schätzungen des Aufwands häufig im Fokus; aus diesem Grund ist die Aufteilung in Storys äußerst relevant. Sind die Schätzungen nicht oder nur beschränkt möglich, kann es im Entwicklerteam zu Schwierigkeiten kommen, die sich mit hoher Wahrscheinlichkeit sowohl auf den Produktinhaber als auch das Management ausweiten.

Die Anforderungen zu zerlegen, sorgt für einen signifikant besseren Überblick über das gesamte Projekt. Der Aufwand ist einfacher einzuschätzen, die langfristige Planung lässt sich besser organisieren und sicherstellen.

Banner SEO Technik

© OSG

Auf den Punkt: Die Vorteile der Zerlegung von Epics und User Storys

  • Die gesamte Fragestellung in kleinere zu zerlegen, ermöglicht einen besseren Überblick über den zu erwartenden Aufwand sowie einen optimierten Projektablauf.
  • Im Idealfall entfällt der Breakdown als Task vollständig oder kann zumindest deutlich vereinfacht werden.
  • Jede User Story unterstützt die Messung des Business Value.
  • Jede Story konzentriert sich auf lediglich eine Fragestellung und ermöglicht so das Setzen von Prioritäten.
Erst wenn alle Storys als fehlerfrei gelten, ist das gesamte Projekt abgeschlossen und erhält sein “Done”.

Bewährte Methoden zur Formulierung von Epics

Als effizient und hilfreich hat sich sowohl für Epics als auch für User Storys folgendes Formulierungsschema gezeigt:

Als … (Kunde, Rolle, etc.) will ich … (Ziel, Bedarf, Inhalt), damit … (Nutzen, Vorteil, Wunsch) funktioniert.

Die Beschreibung des Epic basiert also auf W-Fragen und ist damit auch für Laien verständlich und effektiv zu nutzen. Die gestellten Wünschen und Anforderungen können sich sowohl auf Produkte als auch auf Dienstleistungen beziehen, wobei die Verständlichkeit im Fokus steht. Die User Storys – zerlegt und verfeinert – bilden die Grundlage für die Gespräche aller Beteiligten.

Die Bedeutung des Epic für die Software-Entwicklung

Ohne eine klare Beschreibung der Anforderungen an die neue Software ist eine zielgerichtete Programmierung kaum machbar. Epics sind unverzichtbar, um Strukturen zu bilden, und sie sind eng mit den User Storys verzahnt. Epics und User Storys erleichtern aufgrund der Alltagssprache die Verständigung zwischen Programmierern und Anwendern, vereinfachen die gesamte Planung des Projekts und sorgen für einen optimalen Überblick über Aufwand und Ergebnis.

Zusammenfassung zum Einsatz von Epics

Epics beschreiben inhaltliche Anforderungen an zu entwickelnde Software, ohne die technischen Details zu berücksichtigen. Sie sind in Alltagssprache verfasst und daher für die Verständigung zwischen Usern und Developern bestens geeignet.

Epics spezifizieren noch unklare und grob formulierte Anforderungen und können darüber hinaus für die Aufzeichnung von Themen, Ansätzen und Ideen eingesetzt werden – unabhängig davon, ob diese im Projektverlauf tatsächlich umgesetzt werden. Der Einsatz von Templates zur einheitlichen Strukturierung der Epics wird empfohlen.

Epics können zunächst in untergeordnete Epics und dann in User Storys aufgesplittet werden. Für die einzelnen Ebenen sind keine Vorgaben vorgesehen, um den Software-Entwicklern möglichst viel Spielraum zu bieten.

Bei der Erstellung der Epics werden Product Owner und/oder Kunde grundsätzlich mit einbezogen. Damit stellt das Team sicher, dass die zu entwickelnde Software allen Anforderungen im Alltag gerecht wird.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte