Agiles Projektmanagement führt schnell und effizient zu kundenorientierten Produkten. Aber es verlangt eine sehr genaue Planung. Epics helfen dabei.
In ihrer einfachsten Form sind Epics eine Methode, komplexe Ziele in kleine, leichter zu bewältigende Pakete aufzuteilen. Richtig angewandt können sie dazu beitragen, bessere agile Strategien für dein Unternehmen zu entwickeln.
Epics bieten sich insbesondere für die Softwareentwicklung, beispielsweise in GitLab an. Doch beschränkt sich ihr Einsatz nicht darauf. Ein Epic ist ein flexibles Instrument, das in nahezu jeder Branche Anwendung finden kann.
Gerne zeigen wir dir, wie du Epics gewinnbringend einsetzen kannst.
Was ist ein Epic?
Ganz gleich, ob du neue Software entwickelst oder dir einen besseren Überblick über deine monatlichen Kennzahlen verschaffen möchtest: dein Anforderungsprofil wird in der Regel aus einer Liste von gewünschten Funktionen, Leistungen oder Informationen bestehen.
Die meisten dieser Funktionen - auch „User Stories“ genannt – stellen das Team vor eine genau umrissene Aufgabe. Einige User Stories sind aber umfassender … Ihre Umsetzung erfordert eine Vielzahl von Aufgaben, die alle eng miteinander verknüpft und üblicherweise abteilungsübergreifend sind.
Diese größeren User Stories bezeichnet man in der agilen Entwicklung als Epics. Epics spielen in der Planung eine zentrale Rolle, unabhängig davon, ob du mit Scrum oder Kanban oder einem anderen agilen Tool arbeitest.
Epics in GitLab
Auch in GitLab dienen Epics dazu, umfassende User Stories oder geplante Features, die sich über verschiedene Projekte und Diskussionen erstrecken, thematisch zusammenzufassen und zu organisieren.
Epics als umfassende User Stories sind kein exklusives GitLab-Feature. Ihre Integration ist hier aber besonders organisch, da GitLab als führende DevSecOps-Plattform eng mit derselben Agile-Philosophie verbunden ist, auf der auch Epics basieren.
Einerseits erlauben GitLab Epics es dir, sehr präzise die unterschiedlichen Arbeitsphasen der Teams nachzuvollziehen und auf einer fast schon mikroskopischen Ebene detaillierte Planungen vorzunehmen. Andererseits bieten sie einen hervorragenden Rahmen, Projekte von einer übergeordneten Ebene aus zu betrachten und Synergien zu nutzen.
In dem folgenden Video findest du eine kurze Einleitung dazu, welchen praktischen Nutzen die Arbeit mit Epics in einem Tool wie GitLab bietet:
Was ist ein Epic?
Der IT-Coach und -Berater Anthony Murphy hat darauf hingewiesen, dass sich die Diskussion um Epics oftmals in Definitionen und Begriffserklärungen erschöpft. Wenn du den Begriff in eine Suchmaschine eingibst, wirst du in der Regel eine Vielzahl von Artikeln finden, die den Sachverhalt eher verkomplizieren.
Dabei lässt sich die Frage, was ein Epic ist, eigentlich ganz einfach beantworten: Sie unterstützen dich dabei, deine Visionen, die gerade in der Softwareentwicklung recht komplex sein können, so zu gliedern, dass sie sich Schritt für Schritt bewältigen lassen – und dabei schneller als traditionelle Methoden, wie z. B. dem Wasserfallmodell, zu marktfähigen Produkten führen.
Das eigentliche Ziel besteht für Murphy darin, „unsere gewünschten Ergebnisse zu definieren, Experimente anzudenken oder auch schlicht und einfach unsere Nutzer(innen) besser zu verstehen.“
Denke Top-Down
Entscheidend für eine gelungene Verwendung von Epics ist, Top-Down zu denken. Epics sind selbst eigenständige Ziele, die allerdings in kleinere Abschnitte aufgeteilt werden können und müssen.
Es geht also weniger darum, penibel alle Epic Stories umzusetzen. Was zählt ist vielmehr, dass das Hauptziel erreicht wird – beispielsweise die Veröffentlichung eines neuen Features. So erlauben Epics eine bessere Einschätzung, welche User Stories wirklich relevant sind und welche unter Umständen ausgelassen werden können.
Diese Top-Down-Sicht erlaubt es uns auch, die oftmals verwirrende Flut an Definitionen verständlich zu machen, die Epics umgibt. Dabei fallen häufig Begriffe wie „Themes“, „Initiatives“ oder „Milestones“. Nur wie lassen sich diese Begriffe voneinander abgrenzen?
Begrifflichkeiten: Themes, Initiatives, Epics, User Stories, Story Tasks
Der Erfolg eines Unternehmens gerade in der Softwareentwicklung besteht darin, ein Gleichgewicht zwischen langfristigen Richtungsentscheidungen und einem schnellen, agilen Reagieren auf kurzfristige Entwicklungen zu erreichen.
Der Zeithorizont entscheidet in der Regel, welcher Begriff in einem gegebenen Kontext der passendste ist:
- Auf höchster Managementebene werden die grundlegenden Visionen mit sogenannten Themes vorgegeben, deren Zeithorizont sich auf mehrere Jahre erstrecken kann.
- Themes werden durch die Umsetzung komplexer mittelfristiger Ziele – den Initiatives - erreicht.
- Epics befinden sich auf der Ebene darunter und beschreiben in der Regel Projekte mit einer Laufzeit von circa sechs Monaten bis zu einem Jahr.
- User Stories wiederum werden, beispielsweise in Scrum, durch iterative Zyklen von zweiwöchentlichen Sprints abgebildet.
- Zur praktischen Umsetzung einer User Story werden konkrete Aufgaben – Tasks – an die Teams delegiert.
Zwischen diesen Ebenen findet eine ständige Kommunikation statt, so dass die Planung zwar von oben nach unten verläuft, aber dabei stets Rückmeldungen von unten in die zukünftige Aufgabenverteilung mit einbezogen werden.
Was ist ein Child Epic in GitLab?
Im Zusammenhang mit GitLab Epics fällt auch oftmals der Begriff „Child Epic“. In GitLab bezeichnet er eine Unterkategorie, die unter der Ebene einer User Story ansetzt.
Hintergrund ist, dass auch manche User Stories mehrere Sprints umfassen und gelegentlich in verschiedene, kleinere Story Tasks aufgeteilt werden können. Um ein höheres Maß an Transparenz zu erreichen, können Child Epics Aufgaben kennzeichnen, die idealerweise in einem einzigen oder vielleicht zwei Sprints bewältigt werden können.
So helfen Child Epics dabei, einer noch genauere zeitliche Planung zu erreichen.
Alternative Sichtweisen auf Epics
Zwar empfiehlt es sich in der Regel, Epics Top-Down zu strukturieren. Alternativ kannst du Epics aber auch nutzen, um bestehende Aufgaben zu bündeln und so deine inneren betrieblichen Abläufe kohärenter zu gestalten oder neue Verbindungen zwischen scheinbar isolierten Abteilungen herzustellen.
Stell dir vor,Kundenkontakte werden von verschiedenen Abteilungen getrennt gepflegt. Dann kannst du ein Epic schaffen, mit dem du diese Aktivitäten zusammenführst. Besucher der Homepage können dann beispielsweise Leistungen und Produkte bewerten, Kommentare abgeben und direktes Feedback per E-Mail versenden. Diese Rückmeldungen werden an alle Teams weitergeleitet, gemeinsam diskutiert und eventuelle Optimierungen im Verbund entwickelt und umgesetzt.
Zudem können Epics auch im Rahmen von Themes entstehen, also aus einer visionären Planung heraus. Hierbei findet die Top-Down-Organisation eine Ebene höher statt und die Epics folgen ihr.
Epics: Beispiele aus der Scrum-Praxis
Epics finden überall dort Anwendung, wo Teams kollaborativ und mit einem klaren Endziel an einem umfangreichen Projekt arbeiten.
Sehen wir uns einige Beispiele für agile Epics aus der Scrum-Praxis an:
- Ein Unternehmen aus dem Bankbereich bittet dich, die bestehende Website um einen Mitgliederbereich zu ergänzen, auf dem Kund(inn)en deine Ressourcen visuell darstellen und verschiedene finanzielle Szenarien durchspielen können.
- Die Geschäftsleitung deiner Firma hat die Vorgabe gemacht, die Umsätze in diesem Jahr um 10 % zu steigern. Dazu benötigst du präzisere Daten für deine strategische Planung. Aus diesem Grund arbeitest du gemeinsam mit den anderen Abteilungen an einem System zur Datenerfassung.
- Du betreibst einen Onlineshop für Yoga-Produkte. Eine mobileApp soll Kund(inn)en aktuelle Produktneuheiten und Angebote direkt auf ihr Smartphone liefern und sie mit Informationen und Tipps zu deiner Yoga-Praxis längerfristig binden.
Es lässt sich bei diesen Epics-Beispielen recht eindeutig erkennen, dass es sich hier nicht um einfache User Stories handelt, sondern um umfangreiche Projekte, die auf ein fassbares Endprodukt ausgerichtet sind.
In dem folgenden Video findest du eine noch detailliertere Betrachtungsweise, die zeigt, wie du in GitLab konkret Projekte mit Epics planen und aktualisieren kannst:
Wie tragen Epics zur Agile-Methodologie bei?
Die Aufteilung deiner Ziele in Themes, Initiatives, Epics und User Stories ist für die Umsetzung einer agilen Entwicklung unerlässlich.
Das Prinzip agiler Entwicklung besteht darin, durch das kontinuierliche praktische Testen der Software in enger Zusammenarbeit mit Kund(inn)en schneller Produkte zu entwickeln, die den gewünschten Anforderungen in höherem Maße entsprechen.
Epics tragen dazu in mehrfacher Hinsicht bei:
- Auf höchster Ebene fördern agile Epics, um ein zentrales Beispiel zu nennen, langfristiges strategisches Denken.
- Epics lassen sich ganz natürlich in direkt umsetzbare Tasks auffächern.
- Indem du das Ziel in kleinere Schritte aufteilst, erreichst du weitaus schneller testbare Zwischenstufen des Produkts, sogenannte Minimum Viable Products, MVPs.
- Indem du das Ziel gliederst und eine Hierarchie aufstellst, sorgst du für Transparenz. Umso transparenter der Prozess, umso leichter lassen sich die Ergebnisse erfassen und auswerten.
- Epics unterstützen die Zusammenarbeit zwischen verschiedenen Abteilungen in deinem Unternehmen sowie zwischen dir und den Kund(inn)en.
- Epics tragen dazu bei, Prioritäten zu setzen und die Arbeitslast darauf zu beschränken, was du wirklich umsetzen kannst.
- Den richtigen Teams ausreichende Ressourcen zukommen zu lassen ist für die Zielerreichung von höchster Bedeutung. Auch hier erlaubt der modulare Charakter von Epics eine präzise Ressourcenallokation.
- Epics sollten stets ein eindeutiges Enddatum haben. Sie sollen zu fassbaren Ergebnissen führen und innerhalb eines klar definierten Zeitraums beendet sein. Anders gesagt: Wenn deine User Story nicht eindeutig abgeschlossen werden kann, handelt es sich dabei nicht um ein Epic. Diese Produktfokussierung ist für Unternehmen sowohl intern als auch extern ein entscheidender Vorteil.
Epics und MVPs
MVPs sind eine der Schlüsselkomponenten der agilen Methodologie: Mit ihnen lassen sich Ergebnisse von Sprints in Scrum den Kundinnen und Kunden mit einem funktionsfähigen Produkt anschaulich demonstrieren. Mit Scrum Epics zu arbeiten bedeutet, kontinuierlich auf MVPs hinzuarbeiten. Denn jede User Story entspricht hier in der Regel einem Feature des zu entwickelnden Produkts.
Vor allem maximieren Scrum Epics eine der wichtigsten Vorteile von MVPs, der Optimierung der Flow-Effizienz (auch: Durchflusseffizienz, Strömungseffizienz), also der Zeit, in der produktiv und ohne Wartepausen an der Entwicklung gearbeitet werden kann.
Das Epic koordiniert dabei als übergeordnetes Ziel die Aktivitäten verschiedener Teams und sorgt so dafür, dass Tasks nicht linear abgearbeitet werden (eine der zentralen Schwächen des Wasserfallmodells), sondern parallel (eine der zentralen Stärken der agilen Philosophie).
Den Erfolg von Epics messen
Die Philosophie von agile beruht auf der Überzeugung, dass es besser ist, ein Produkt wiederholt praxisnah zu testen, als es auf dem Papier durchzuplanen. Epics sind ein zentraler Baustein einer agilen Entwicklungsstrategie und so kann ihre Umsetzung nur gelingen, wenn sie ständig daran gemessen werden, ob der aktuelle Stand dich deinem Ziel näher bringt.
Zu diesem Zweck lassen sich Epics in einem „Epic Burndown Report“ abbilden. Diese Berichte, auch als „Epic Burndown Chart“ bezeichnet, vergleichen die ursprünglichen Einschätzungen zum Erreichen der gewünschten Ziele zu Anfang eines Sprints mit der geleisteten Arbeit und den dabei konkret erreichten Ergebnissen am Ende des Sprints. So kommst du ständig zu aktualisierten Prognosen zum (noch) erforderlichen Aufwand und Ressourceneinsatz.
Burndown-Reports sind dynamisch und werden ständig um neue Arbeitsschritte ergänzt. Mit ihnen lässt sich der Erfolg von Epics hervorragend kontinuierlich erfassen und die zukünftigen Aktionen können besser abgeleitet werden.
Epics: Best Practises
Es gibt eine Vielzahl von Empfehlungen, wie du Epics in der Softwareentwicklung optimal nutzen kannst. Wir haben die wichtigsten Empfehlungen für dich zusammengestellt:
- Beginne so früh wie möglich mit der Planung eines Epics, so dass alle benötigten Informationen zur Verfügung stehen.
- Beziehe alle betroffenen Abteilungen sowie Kund(inn)en mit ein.
- Setze einen klar definierten Zeitraum an.
- Beschränke die Zahl der User Stories, die zum Erreichen des Epics benötigt werden. Umso geringer diese Zahl, um so übersichtlicher bleibt die Planung und umso schneller gelangst du zum MVP. Statt also einem perfekten Produkt nachzujagen, setze um, was zu diesem Zeitpunkt machbar ist – und schaffe dann für die nächste Version ein neues Epic.
- Bleibe flexibel und sei bereit, das Epic grundlegend anzupassen, wenn Praxis-Feedback dies nahelegt.
GitLab Epics und DevSecOps
Epics und DevOps gehören selbstverständlich zusammen. Doch es empfiehlt sich, darüber hinaus auch noch den Sicherheitsaspekt zu berücksichtigen.
Denn Sicherheitslücken stellen für jede Software und jedes neue Feature ein entscheidendes Risiko dar. Sie zu schließen gelingt weitaus besser, wenn du bei jedem Schritt auf dem Weg zum fertigen Produkt die Sicherheit des Systems mit berücksichtigt und an die Anforderungen anpasst.
GitLab ist die führende DevSecOps-Plattform und unterstützt den Einsatz von Epics sowohl zum Planen als auch im Hinblick auf das Thema Security. In diesem Artikel erfährst du mehr darüber, wie GitLab dich als KI-gestützte DevSecOps-Plattform unterstützen kann.