t2informatik » Wissen kompakt » Backlog

Was ist ein Backlog?

Welche Arten gibt es, wie werden sie erstellt und priorisiert?

Backlog – Definition

Backlog ist ein Begriff aus dem Englischen und bedeutet „an accumulation of something, especially uncompleted work or matters that need to be dealt with.“ Ein Backlog ist also eine Sammlung von Dingen, insbesondere unvollständiger Arbeit oder Angelegenheiten, die erledigt werden müssen. Oder einfach ausgedrückt: Ein Backlog ist eine Liste von Aufgaben bzw. Anforderungen, die abgearbeitet bzw. realisiert werden sollen. 

Backlog Items

In der Softwareentwicklung bzw. im agilen Projektmanagement werden in Backlogs unterschiedliche Arten von Einträgen verwaltet. Diese werden Backlog Items genannt. Folgende Items lassen sich unterscheiden:

Idealerweise enthält jedes Backlog Item eine Beschreibung, eine Priorität, eine Aufwandsschätzung und einen Kundennutzen. Je höher die Priorität eines Items ist, desto genauer wird es in der Praxis spezifiziert. Gleichzeitig steigt mit der Priorität die Wahrscheinlichkeit, dass es abgearbeitet bzw. realisiert wird.

Verwaltung von Backlogs

Die Organisation von Backlogs ist in Unternehmen unterschiedlich organisiert. Meist finden sich drei Arten von Backlogs: Product Backlogs, Release Backlogs und Sprint Backlogs. Sind im Rahmen einer Entwicklung verschiedene Teams involviert, bietet es sich an, mit Team Backlogs zu arbeiten und die Backlogs Items entsprechend auf die jeweiligen Team Backlogs zu verteilen. Ist nur ein Team involviert, dann sind Release Backlog und Team Backlog identisch. Entwickler bzw. Mitarbeiter können auch individuelle, persönliche Backlogs pflegen.

Die Arten von Backlogs

Product Backlog

Das Product Backlog ist der erste Container, in dem zu erledigende Aufgaben, funktionale Anforderungen, Features etc. erfasst werden. In manchen Organisationen wird das Product Backlog auch als Domain Backlog betitelt – immer dann, wenn Organisationen in verschiedenen Domänen aktiv sind und es Sinn macht, die Backlog Items pro Domäne zu erfassen. Ein Product Backlog lässt sich anhand von vier Eigenschaften beschreiben:

  • Priorisierung: Die Backlog Items werden priorisiert.
  • Detaillierung: Ein Backlog Item wird umso detailliert beschrieben, je größer seine Priorität ist.
  • Schätzung: Für jedes Backlog Item wird eine Aufwandsschätzung durchgeführt. Je höher die Priorität, desto präziser ist diese Schätzung.
  • Bewertung: Ein Backlog Item beschreibt einen Kundennutzen und dieser wirkt sich auf Priorisierung des Items aus.

Die Priorisierung der Product Backlog Items ist essentiell. Nicht alle Anforderungen sind gleich wichtig, haben denselben Kundennutzen oder verursachen denselben Aufwand zur Realisierung. Die Priorisierung wird bspw. in Scrum durch den Product Owner – idealerweise in enger Zusammenarbeit mit dem Entwicklungsteam – vorgenommen. Der Product Owner ist Ansprechpartner für die relevanten Stakeholder. Während Stakeholder Anforderungen oft mit einem Blick auf einen Geschäftswert bewerten, achtet das Team auf den Entwicklungsaufwand und eine technisch sinnvolle Reihenfolge der Umsetzung. Für die Aufwandsschätzung bietet sich die Nutzung relativer Werte mit Fibonacci-Zahlen an. Dies hat den Vorteil, dass Aufwände in kleinem Umfang sehr genau auf Tagesniveau (1 Tag, 2 Tage, 3 Tage, 5 Tage etc.), Aufwände in großem Umfang relativ grob (bspw. 20 Tage, 40 Tage, 100 Tage etc.) geschätzt werden können.

Zu beachten ist, dass die Priorisierung immer wieder durchgeführt werden muss, denn durch neue Anforderungen oder die Verfeinerung von bestehenden Backlog Items kommen neue Erkenntnisse hinzu. Ein Product Backlog ist also sehr dynamisch und unterscheidet sich damit wesentlich von Lastenheft oder Pflichtenheft.

Release Backlog

Agile Projekte gliedern sich in Releases und Iterationen. Da der zeitliche Umfang dieser Iterationen mit einer empfohlenen Dauer von einer bis vier Wochen relativ kurz ist, werden sie als Sprints bezeichnet. Sprints sollten in einem Projekt immer dieselbe Dauer haben. Eine definierte Menge an Sprints ergibt ein Release. Nach wie vielen Sprints ein Release folgt und wie lange ein Sprint dauert, muss jedes Unternehmen für sich definieren. Beispiel: Nach fünf Sprints erfolgt das erste Release, nach fünf weiteren Sprints ein nächstes Release, usw. Bei mehreren Teams und parallelen Sprints, sollten die Sprints aufeinander abgestimmt werden. Anforderungen werden basierend auf ihren Prioritäten den jeweiligen Releases zugeordnet. Die Festlegung von Prioritätsgrenzen hilft bei der Verteilung von Anforderungen auf Releases. Bestimmt der Product Owner bpw. eine Untergrenze von 802, dann landen die Items des Product Backlogs mit den Prioritäten 802 und höher im nächsten Release Backlog, Anforderungen mit Prioritäten 801 und niedriger landen in späteren Release Backlogs.

Sprint Backlog

In jedem Sprint soll ein funktionsfähiges, potentiell auslieferbares Zwischenprodukt entwickelt werden. Welche Anforderungen in einem Sprint umgesetzt werden sollen, wird im Sprint Planning Meeting entschieden. Dieses findet zu Beginn eines Sprints statt. So wird entschieden, welchen Anforderungen zum Beispiel in den kommenden drei Wochen umgesetzt werden sollen. Das Team wählt die User Stories mit den höchsten Prioritäten aus und schätzt, welche und wie viele sich innerhalb des nächsten Sprints realisieren lassen. Anschließend werden die User Stories in Tasks – also Aufgaben – unterteilt, die innerhalb eines Tages erledigt werden können. Dabei bestimmt das Entwicklungsteam selbständig, wer die Aufgaben realisiert. Um den Fortschritt im Sprint zu erkennen, ist es wichtig, die Aufgaben und in der Folge die User Stories mit Zuständen zu versehen. Sind alle Aufgaben zur Realisierung einer User Story erledigt, gilt diese als realisiert. Zur Visualisierung bietet sich die Verwendung von Task Boards bzw. ein User Story Mapping an.

Priorisierung von Backlog Items

Methoden zur Priorisierung

Die Pflege von Backlogs ist ein wichtiger Erfolgsfaktor für die Produktentwicklung. Mit einem gut gepflegten Backlog stellen Sie sicher, dass nur Anforderungen mit den höchsten Prioritäten realisiert werden. Zur Priorisierung gibt es verschiedene Methoden, die sich auch miteinander kombinieren lassen:

  • Das Kano Modell
    Das Kano Modell klassifiziert fünf Merkmale, die in unterschiedlicher Weise zur Kundenzufriedenheit beitragen: Basis-, Leistungs- und Begeisterungsmerkmals, sowie unerhebliche Merkmale und Rückweisungsmerkmale. Basismerkmale erzeugen Unzufriedenheit, wenn sie fehlen. Leistungsmerkmale sind ein wichtiger Faktor für die Kundenzufriedenheit und die Differenzierung zum Wettbewerb. Und Begeisterungsmerkmale führen zu überproportionaler Zufriedenheit.
  • Das MoSCoW-Prinzip
    Das MoSCoW-Prinzip unterscheidet zwischen Funktionen, die das Entwicklungsteam unbedingt umsetzen sollten und solchen, die  umgesetzt werden könnten:
    Must: Must-Have Funktionalitäten, die umgesetzt werden müssen.
    Should: Funktionalitäten, die nach den Must-Haves umgesetzt werden.
    Could: Funktionalitäten, die umgesetzt werden können, wenn sie keine Must-Haves oder Should-Funktionen damit beeinträchtigen.
    Won’t: Funktionalitäten, die nicht umgesetzt werden sollen.
  • Relative Weight Methode
    Bei der Relative Weight Methode wird jedes Backlog Item in den Kategorien Vorteile, Strafen, Risiken und Kosten jeweils mit einer Zahl von 1 – 9 bewertet. Die Fragen nach den Vorteilen (Wie groß wäre der Vorteil, wenn eine Anforderung realisiert würde) und den Strafen (Wie groß wäre die Strafe, wenn die Anforderung nicht realisiert würde) bewertet der Product Owner gemeinsam mit den relevanten Stakeholdern. Und die Fragen nach dem Risiko (Wie hoch sind Implementierungsrisiken und Abhängigkeiten zu anderen Teams und Entwicklungen) und den Kosten für die Umsetzung bespricht der Product Owner mit seinem Entwicklungsteam. Anschließend werden die Werte für Vorteile und Strafen durch die Werte für Risiken und Kosten dividiert. Aus den Ergebnissen ergibt sich die Priorisierung.
  • Das Theme Screening
    Beim Theme Screening identifizieren Sie bis zu neun Beurteilungskriterien und wählen anschließend ein Baseline Theme, also eine User Story aus, die als Basis für eine relative Bewertung dient. Es empfiehlt sich hier ein Backlog Item auszuwählen, das dem Entwicklungsteam vertraut ist und demnächst umgesetzt werden sollte. Danach bewerten Sie die Backlog Items in den Beurteilungskriterien im Verhältnis zum Baseline Theme mit Plus, Minus oder einer Null. Die Priorisierung entsteht durch das Addieren der Plus- und Subtrahieren der Minus-Werte pro Item.

Es gibt noch weitere Methoden wie Rocks, Pebbles & Sand, Walking Skeleton oder Theme Scoring. Welche Methode sich am besten für die Priorisierung von Backlogs eignet, lässt sich nicht allgemeingültig beantworten. Hier sollte jedes Unternehmen für sich selbst eine Entscheidung treffen.

Backlog Whitepaper - t2informatik Download

Jetzt das Backlog Whitepaper kostenlos downloaden.

Alles Wichtige über Backlogs, Backlogarten, Priorisierung und Backlog Grooming auf 10 Seiten zum Mitnehmen.

Hier klicken »

Herausforderungen für Unternehmen

Die kontinuierliche Arbeit mit Backlogs

Backlogs sind dynamisch. Neue Features, User Storys oder Defects kommen hinzu und Stakeholder ändern ihre Wünsche. Dadurch ergeben sich fortlaufend neue Prioritäten. Die regelmäßige Pflege wird als Backlog Refining oder Backlog Grooming bezeichnet. Es sorgt für hohe Transparenz, so dass alle Projektbeteiligten stets wissen, woran gerade gearbeitet wird und was demnächst ansteht. Ein gut gepflegtes Backlog steht im Zentrum einer agilen Produktentwicklung und sorgt dafür, dass Unternehmen schnell und flexibel auf Neuerung reagieren können. Sinnvoll ergänzen können Sie das Arbeiten mit Backlogs mit einem User Story Mapping.

Sie wollen mit Backlogs arbeiten, erwarten aber eine hohe Anzahl an Anforderungen, die sie schätzen und priorisieren wollen? Wie behalten Sie den Überblick? Und wie planen Sie effizient Releases und Sprints? Gerne stellen wir Ihnen Erfahrung und 100% Leidenschaft für Ihre Softwareentwicklung und Anforderungsanalyse zur Verfügung. Wir helfen Ihnen bei der Erhebung, Strukturierung und Verwaltung von Anforderungen mit Backlogs und achten dabei auf Konsistenz, Vollständigkeit und Nachvollziehbarkeit.

Hier erfahren Sie mehr zum Thema Softwareentwicklung »

Weitere Details und Hintergründe

 

Share This