Unter einem Epic versteht man die Beschreibung einer Anforderung an eine Software auf einer hohen Abstraktionsebene.

Epic – Definition und Bedeutung

Epic ist ein Begriff aus dem Anforderungsmanagement. Hierbei handelt es sich um die Beschreibung einer (Funktions-)Anforderung an eine Software.

Ein Epic bezeichnet im agilen Projektmanagement eine größere, zusammenhängende Arbeitseinheit, die in mehrere kleinere Aufgaben, sogenannte User Stories, aufgeteilt werden kann. Epics helfen dabei, umfangreiche Anforderungen in der Softwareentwicklung zu strukturieren, Prioritäten festzulegen und den Projektfortschritt übersichtlich zu verfolgen.

Statt eine Funktionsanforderung als Ganze zu bearbeiten, wird sie in kleinere, überschaubare Einheiten aufgeteilt.

Beispiel für ein Epic in der Softwareentwicklung

Ein Unternehmen möchte eine individuelle Softwarelösung entwickeln, über die Mitarbeiter ihre Arbeitszeiten erfassen und verwalten können.

Ein größerer Funktionsbereich dieser Anwendung könnte als Epic angelegt werden.

Epic: Digitale Zeiterfassung für Mitarbeiter

Das Epic beschreibt die übergeordnete Anforderung, Arbeitszeiten digital erfassen und verwalten zu können.

Daraus würden sich beispielsweise folgende User Stories ergeben:

  1. Arbeitszeit erfassen: Als Mitarbeiter möchte ich Beginn und Ende meiner Arbeitszeit dokumentieren, damit meine geleisteten Stunden erfasst werden.
  2. Arbeitszeit einsehen: Als Mitarbeiter möchte ich meine bisherigen Arbeitszeiten einsehen, damit ich einen Überblick über meine geleisteten Stunden habe.
  3. Einträge korrigieren: Als Mitarbeiter möchte ich fehlende Zeiteinträge zur Korrektur einreichen können, damit meine Arbeitszeit korrekt dokumentiert wird.
  4. Arbeitszeiten prüfen: Als Teamleiter möchte ich eingereichte Korrekturen prüfen und freigeben können, damit die erfassten Arbeitszeiten vollständig und korrekt sind.

Diese User Stories können wiederum in konkete technische Aufgaben unterteilt werden, beispielsweise die Entwicklung einer Benutzeroberfläche, die Implementierung einer Schnittstelle oder die Einrichtung entsprechender Datenbankstrukturen.

Die einzelnen Funktionen müssen nicht gleichzeitig fertiggestellt werden. Sie können schrittweise entwickelt und getestet werden.

Wie wird ein Epic erstellt und in User Stories aufgeteilt?

Ein Epic entsteht häufig aus einer größeren fachlichen Anforderung, einem Nutzerbedürfnis oder einem strategischen Produktziel.

Bei der Erstellung und weiteren Ausarbeitung haben sich folgende Schritte bewährt:

  1. Ziel definieren: Welches Problem soll gelöst werden und welchen Nutzen bietet die Funktion?

  2. Umfang beschreiben: Welche fachlichen Anforderungen und Funktionen gehören zum Epic?

  3. User Stories ableiten: Welche kleineren, möglichst eigenständig nutzbaren Ergebnisse lassen sich aus dem Epic entwickeln?

  4. Prioritäten festlegen: Welche User Stories bieten den größten Nutzen oder müssen aufgrund von Abhängigkeiten zuerst umgesetzt werden?

  5. Aufwand einschätzen: Wie komplex ist die Umsetzung der einzelnen Anforderungen?

  6. Umsetzung planen: Die ausreichend ausgearbeiteten User Stories werden entsprechend ihrer Priorität in die Entwicklungsplanung aufgenommen.

Im Verlauf der Entwicklung können neue Erkenntnisse entstehen, durch die bestehende User Stories angepasst, ergänzt oder entfernt werden.

Dieses Vorgehen wird im agilen Umfeld häufig als Backlog Refinement bezeichnet. Dabei werden Anforderungen kontinuierlich konkretisiert und in kleinere, besser verständliche Einheiten zerlegt.

Welche Vorteile bieten Epics in der Softwareentwicklung?

Die Verwendung von Epics bietet insbesondere bei umfangreichen Softwareprojekten mehrere Vorteile:

  • Bessere Übersicht: Auch komplexe Anforderungen bleiben nachvollziehbar.

  • Einfachere Planung: Große Funktionsbereiche können schrittweise umgesetzt werden.

  • Mehr Transparenz: Projektbeteiligte erhalten einen Überblick über den Bearbeitungsstand.

  • Flexible Entwicklung: Neue Anforderungen lassen sich in die bestehende Planung integrieren.

  • Klare Zielorientierung: Zusammengehörige User Stories verfolgen ein gemeinsames fachliches Ziel.

Epics sind besonders hilfreich, wenn Softwarelösungen aus mehreren umfangreichen Funktionsbereichen bestehen oder über einen längeren Zeitraum weiterentwickelt werden.

Welche Rolle spielen Epics in Scrum?

Epics werden häufig in Projekten verwendet, die nach dem agilen Framework Scrum organisiert sind. Sie können helfen, größere Anforderungen innerhalb des Product Backlogs zu strukturieren.

Wichtig: Epics sind kein offiziell vorgeschriebenes Element von Scrum.

Der Scrum Guide definiert unter anderem das Product Backlog, das Sprint Backlog und das Increment als Scrum-Artefakte. Eine verpflichtende Hierarchie aus Epics, User Stories und Tasks sieht das Framework hingegen nicht vor.

Scrum-Teams können selbst entscheiden, wie sie ihre Product Backlog Items beschreiben und organisieren. Epics sind somit eine ergänzende Planungstechnik und keine Voraussetzung für die Anwendung von Scrum.