Backlog Grooming für Profis [JIRA und agiles Arbeiten, Teil 1]

Keine Kommentare

In dieser Blogserie „JIRA und agiles Arbeiten“ möchten wir Tipps aus der Praxis geben, wie der Einsatz von JIRA Software eure agile Arbeitsweise im Alltag unterstützt.

Zielgruppe sind agile Teams, Scrum Master, Product Owner, agile Coaches und JIRA Administratoren. Es werden im Laufe der Serie vier unterschiedliche Begrifflichkeiten aus den agilen Methoden beleuchtet, und anhand von anschaulichen Beispielen wird gezeigt, wie der gezielte Einsatz von JIRA helfen kann, effizienter miteinander zusammenzuarbeiten.

Die vier Teile der Blogserie haben folgende Themenschwerpunkte:

  1. Intro und Backlog Grooming / Backlog Refinement
  2. Sprint Planning
  3. Sprint Review
  4. Retrospektive

Agile Arbeitsweise und Toolunterstützung? Wie passt das zusammen?

Agile Methoden sind in aller Munde. Von der Softwareentwicklung über die Marketingabteilung und dem mittelständischen Unternehmen bis hin zum global agierenden Konzern. Jeder möchte „agil“ sein und die vorherrschenden, oft starren Strukturen hinter sich lassen. In den letzten Jahren hat sich geradezu ein Hype entwickelt und viele sind der Meinung, dass agile Methoden eine Art „Silver Bullet“ in Bezug auf mögliche Projekt-Stolpersteine ist.

Es gibt bereits eine ganze Reihe an guten Artikeln, die sich mit den Voraussetzungen zur Einführung agiler Methoden bzw. mit dem Skalieren agiler Prozesse in großen Unternehmen beschäftigen (Stichwort: SAFe). Ebenso existieren Artikel, die sich mit der Abgrenzung „Agile vs. Wasserfall“ auseinandersetzen.

In dieser Blogserie gehen wir hingegen von einem Setting aus, in dem die agile Transformation bereits erfolgt und die Organisation auf der Suche nach weiteren iterativen Verbesserungsmöglichkeiten ist.

Führt man sich das agile Manifest vor Augen, sticht einem u.a. dieser Satz ins Auge:

„(…) we (…) value individuals and interactions over processes and tools

Genauso wie den verbreiteten Irrglauben „Wir arbeiten agil, müssen also nicht dokumentieren“ gibt es die Meinung, dass außer Post-its keinerlei Tools etwas in agilen Entwicklungsprozessen verloren haben.

Liest man aber im agilen Manifest etwas weiter, findet man den Nachsatz:

That is, while there is value in the items on the right, we value the items on the left more

Man schätzt also Menschen und Interaktionen grundsätzlich wertvoller ein als Tools und Prozesse. Es ist folglich kein „entweder/oder“ und auch kein „schwarz/weiß“. Letzten Endes steht das eigenverantwortlich handelnde Individuum bzw. die Interaktion im Team im Vordergrund. Mit keinem Satz wird erwähnt, dass sich Mitglieder agiler Teams keine Hilfe in Tools holen dürfen.

Wir von codecentric sind seit 2011 aus Überzeugung Partner von Atlassian, weil die Tools um JIRA, Confluence, Bitbucket & Co. unserer Meinung nach transparente und effiziente Kollaboration ermöglichen und somit die agilen Prozesse hervorragend unterstützen.

JIRA Core vs. JIRA Service Desk vs. JIRA Software

JIRA ist bekanntermaßen ein sehr vielfältiges Tool. Es ist Issuetracker, Projektmanagement-, und Prozesssteuerungs-Tool und vieles mehr. Aufgrund seiner flexiblen Workflow-Engine sind die Einsatzmöglichkeiten von JIRA nahezu unbegrenzt. Seit 2015 – genauer gesagt seit der Version JIRA 7 – sind drei Varianten von JIRA verfügbar:

  1. JIRA Core
  2. JIRA Service Desk und
  3. JIRA Software

Vereinfacht gesagt ist JIRA Core die Basis-Version von JIRA, die bereits einen immensen Funktionsumfang mit sich bringt und für viele, wenn nicht die meisten, Anwendungsfälle von Business Teams vollkommen ausreicht. Auf diesem Funktionsumfang bauen JIRA Service Desk und JIRA Software auf.

JIRA Service Desk hingegen unterstützt Unternehmen mit einem sehr aufgeräumten Frontend, Queues, SLAs und Monitoring in sämtlichen internen und externen Helpdesk-Szenarien (IT-Support, HR, Marketing Operation).

JIRA Software ist aus JIRA und dem Addon JIRA Agile (ehemals Greenhopper) entstanden. Zu der Grundfunktionalität aus JIRA kommen die Boards (wahlweise Kanban oder Scrum) hinzu. Dies gibt agilen Teams und insbesondere Product Ownern die Möglichkeit, Sprints oder Produktinkremente zu planen, ihren Product Backlog aufzuräumen und sinnvoll zu priosieren. Ferner hilft es im Tagesgeschäft, den Überblick über Status und Fortschritt einzelner User Stories zu behalten und Engpässe bzw. mögliche Abhängigkeitem und Impediments aufzuzeigen. Letztlich können die Reports aus JIRA Software auch dabei helfen, anhand der Team Velocity künftige Sprints bzw. Sprintziele besser zu planen. Doch beginnen wir ganz vorne:

Das Backlog Grooming

Backlog Grooming (auch Backlog Refinement), oder zu Deutsch, die regelmäßige Pflege / Verfeinerung des Backlogs, ist eine wichtige Voraussetzung für ein effizientes Sprint Planning. Wie soll ein Team gemeinsam einen Sprint planen, wenn es kein gepflegtes Backlog gibt?

Die Pflege des Backlogs umfasst dabei hauptsächlich

  • das Hinzufügen bzw. Entfernen von Backlog Items (User Stories und/oder Epics),
  • die Aktualisierung bestehender Elemente (z.B. wenn sich Anforderungen geändert haben),
  • das Herunterbrechen von User Stories in Tasks,
  • das Zuordnen/Umordnen von User Stories zu Epics sowie
  • das Schätzen von Arbeitsaufwänden (z.B. in Story Points).

In unseren Einsätzen erleben wir bei codecentric unterschiedlichste Möglichkeiten, sein Backlog zu pflegen. Während Excel eher unintuitiv und umständlich im Hinblick auf Kollaboration ist, sind Post-its ein durchaus verbreiteter und gangbarer Weg. Man kann Elemente einfach hinzufügen (neue Karten schreiben), nicht mehr relevante Elemente entfernen (…), und Elemente aktualisieren (Karten neu schreiben oder korrigieren).

Auch das Herunterbrechen von Stories sowie das Schätzen auf Post-Its ist ohne große Einschränkungen möglich. Richtig schwierig wird es allerdings bei großen und komplexen Backlogs (auch Backlogs mit 300+ Stories wurden schon gesichtet) sowie bei verteilten Teams.

Hat ein Backlog viele Abhängigkeiten (entweder intern, oder auch extern von anderen Teams/Backlogs) und möchte man diese visualisieren, geraten Post-its recht schnell an Grenzen. Selbiges gilt auch für verteilte Teams, auch wenn wir in Zeiten von regelmäßigen Videokonferenzen leben.

Dies sind die Szenarien, in denen JIRA Software mit ihren Stärken aufwarten kann:

Instant und Quick Filter

Jeder kennt es: Man steht vor seinem haptischen Board, sucht eine Karte und möchte am liebsten STRG+F bzw. CMD+F drücken. Die Boards in JIRA bieten im Planungsmodus gleich mehrere Möglichkeiten, bestimmte Vorgänge zu suchen.

Zum einen gibt es die Option, links oben innerhalb des Backlogs den so genannten Instant Filter zu verwenden. Sucht man z.B. nach den Worten „bereit stellen“, filtert JIRA, ähnlich der Google Instant Search, bereits während man tippt innerhalb der Zusammenfassung des Issues. Auch eine Suche nach dem Issuekey sowie bestimmten Issuetypen wird unterstützt.

JIRA Instant Filter

Das Backlog wird direkt bei der Eingabe des Suchbegriffs „on the fly“ gefiltert.

Die zweite Möglichkeit, nach Vorgängen zu suchen, sind die Quick Filter. Jedes Board bringt bereits von Haus aus zwei Quick Filter mit:

  • „Only My Issues“ (mir zugewiesene Vorgänge) und
  • „Recently Updated“ (aktualisiert binnen der vergangenen 24 h)

Als Board-Administrator kann man hier aus dem vollen Repertoire der erweiterten Suche (aka. JIRA Query Language – JQL) schöpfen und weitere Vorgänge filtern (z.B. „mindestens 8 Storypoints“, „enthält bestimmte Labels“ etc.). Das Beste an den Quick Filtern ist, dass sie additiv funktionieren, sich also verschiedenste wiederkehrende Suchen miteinander verknüpfen lassen.

Das Verschieben von Stories via Drag & Drop

Ein Product Backlog sollte immer nach Priorität geordnet sein. Die wichtigsten Stories, z.B. die mit dem größten Business Value, sollten sich immer im oberen Teil des Backlogs befinden. In Backlogs mit vielen Items wird es immer wieder vorkommen, dass mehr als ein Item die Priorität „hoch“ besitzt. Welche Story in diesem Fall die höhere Priorität hat, kann zwar durch den Product Owner oder das Team festgelegt werden, ist auf Karten oder generell in starren Konstrukten wie der Priorität (Beispiel: Gering, mittel, hoch) aber nur unzureichend abbildbar.

JIRA Software hat diese Herausforderung elegant gelöst und gibt jedem Issue im Hintergrund einen Wert im Feld „Rang“. Der Rang (JQL: „Rank“) ist ein Zahl, die stark vereinfacht die Wertigkeit eines Vorgangs im Verhältnis zu allen (!) anderen Vorgängen angibt. Für die techisch Interessierten ist das Prinzip hier noch etwas ausführlicher erklärt.

Das Ranking von Issues ermöglicht es, in den Boards Vorgänge via Drag & Drop einfach nach deren Rang zu sortieren. Hierbei werden etwaige Filter innerhalb des Boards berücksichtigt, sodass man nicht aus Versehen sein Backlog umsortiert, wenn man einen Vorgang hochpriorisiert.

Ebenso einfach wie das Priorisieren ist das Zuordnen eines oder mehrerer Vorgänge (dank Mehrfachauswahl) zu einem Sprint, was durch einen Klick auf dieses Bild sehr gut veranschaulicht wird:

Issues in einen Sprint ziehen

Dieses GIF veranschaulicht, wie man einfach einen oder mehrere Vorgänge einem Sprint zuordnen kann.

Herunterbrechen in Sub-Tasks

Teil des Backlog Groomings ist – wie oben angesprochen – auch das Herunterbrechen in Tasks in Subtasks. Hierzu wählt man eine User Story aus. Es erscheint rechts die konfigurierbare Issue Detail View, in der man das Actions-Menü anklickt und „Create Sub-Task“ auswählt:

Erstellung von Sub-Tasks

Aus dem Board lassen sich recht einfach Sub-Tasks zu einem Issue erstellen. Über den shortcut „.“ und das „c“ gelangt man noch schneller in dieses Menü.

Zuordnen von Stories zu Epics/Versionen via Drag & Drop

In die andere Richtung gedacht, kann man User Stories sehr einfach dem nächsthöheren Konstrukt, den Epics, zuordnen. Epics sind im Prinzip sehr große User Stories, die zur Vereinfachung und Komplexitätsreduktion in User Stories heruntergebrochen werden. Aus anderer Perspektive kann man sagen: Mehrere User Stories zahlen auf einen Epic ein. Sind alle Stories umgesetzt, gilt selbiges auch für den Epic.

In JIRA Software kann man auch hier wieder einen oder mehrere Vorgänge markieren, um diese dann einem bestehenden Epic via Drag & Drop zuzuordnen. Hierbei wird ein so genanter Epic-Link gesetzt, der bei Bedarf später in JQL-Abfragen verwendet werden kann.

Und noch einen Tick schneller: Shortcuts

Die letzten 10% kann man dann noch herausholen, wenn man die Shortcuts in JIRA Software verinnerlicht. Alle verfügbaren Shortcuts kann man sich jederzeit mit dem „?“ aufrufen.

JIRA Software shortcuts

Ein Überblick über alle Shortcuts in JIRA Software.

Besonders nützlich ist der „.“, der kontextbezogen das Actions-Menü öffnet. Man kann direkt danach weitertippen, um die gewünschte Aktion durchzuführen. Drückt man hingegen nur das „c“, erscheint der „create issue“-Dialog. mit „k“ und „j“ kann man sich auf- und abwärts durch seinen Backlog bewegen. Und „s+t“ bzw. „s+b“ schickt den aktuell gewählten Issue an die Spitze bzw. das Ende des Backlogs.

Fazit

Wer die obigen Tipps befolgt und sein Werkzeug (JIRA) beherrscht, wird bald eine Ordnung und Transparenz innerhalb seines Product Backlogs vorfinden, die er nicht mehr missen möchte. Hiervon profitiert das gesamte Team, der Product Owner und letztlich auch das Produkt und der Kunde. Und das ist es doch, was zählt!

Uns interessiert hier natürlich euer Feedback. Haben euch die Tipps weitergeholfen? Was habt ihr vermisst? Habt ihr vielleicht ergänzende Tipps, mit denen man sein Product Backlog noch besser in den Griff bekommt? Bei Fragen, Anregungen oder Kommentaren nutzt gerne die Kommentarfunktion oder schreibt an kai.gottschalk@codecentric.de.

Kai Gottschalk

Seit mehr als 10 Jahren bewegt sich Kai im Atlassian-Umfeld und hat dabei in verschiedensten Branchen mit den Tools des australischen Softwareanbieters zahlreiche Prozessoptimierungen erreicht.

Der Fokus liegt dabei zunächst häufig in einer Verbesserung der Transparenz durch die Abbildung von bestehenden Prozessen in JIRA, Confluence und/oder HipChat. Im zweiten Schritt lassen sich meist Maßnahmen zur Steigerung der Effizienz ableiten, welche wachsenden Unternehmen entscheidende Vorteile bringen.

Share on FacebookGoogle+Share on LinkedInTweet about this on TwitterShare on RedditDigg thisShare on StumbleUpon

Kommentieren

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.