Alternde und blockierte Work Items in Azure DevOps erkennen, bevor sie den Sprint entgleisen lassen

Ein Sprint zerbricht selten an einem einzigen dramatischen Problem. Häufiger bleiben ein oder zwei Items schon früh hängen, sie warten auf ein anderes Team, auf eine Entscheidung, auf eine Umgebung, und niemand spricht das laut aus, bis zum Sprint Review, zu welchem Zeitpunkt bereits drei Tage des Sprints vergangen sind, ohne dass dabei etwas herausgekommen ist. Das Board hatte die Antwort die ganze Zeit über eigentlich parat; das Item lag dort, alterte, war unter Umständen sogar als blockiert markiert. Es war nur nicht das, worauf während des Stand-ups jemand geschaut hat.

Was die Ansicht tatsächlich zeigt

Die Ansicht „Alterung & Blockiert" von Agile Gauge beantwortet bewusst eine eng gefasste Frage: Von allem, was dieses Team derzeit nicht abgeschlossen hat: was hängt fest, und was läuft schon am längsten? Sie zeigt zwei Kennzahlen an oberster Stelle, In Bearbeitung (unfertige Items insgesamt) und Blockiert (wie viele davon derzeit markiert sind), gefolgt von einer Tabelle mit jedem unfertigen Item im aktiven Sprint des Teams: Item, Typ, Status, Zuständige/r, ein Blockiert-Badge, sofern zutreffend, sowie das Alter in Tagen. Ist nichts in Bearbeitung, sei es weil kein aktiver Sprint existiert oder weil der aktive Sprint tatsächlich leer ist, sagt die Ansicht das klar und deutlich, statt eine leere Tabelle ohne Kontext anzuzeigen.

Platzhalter für einen Screenshot von „Alterung & Blockiert": der Betreiber fügt die echte Aufnahme hinzu, bevor dieser Beitrag veröffentlicht wird.
Alterung & Blockiert: jedes unfertige Item im aktiven Sprint, zuerst blockierte, dann nach Alter absteigend.

Was tatsächlich als „gestartet" zählt

Nur Items, die tatsächlich begonnen wurden, tauchen hier auf: dieselbe Definition von „in Bearbeitung", die auch der WIP-Monitor verwendet, also ein echtes Signal für den Arbeitsbeginn wie ein zugeordneter Übergang in einen In-Bearbeitung-Status oder ein Activated Date. Ein Item, das im Sprint angelegt und geparkt, aber nie angefasst wurde, zählt in dem Sinn, den diese Ansicht meint, nicht als alternd; die Liste bezieht sich auf Arbeit, die begonnen hat und dann ins Stocken geraten ist, nicht auf ein Backlog, das auf Kapazität wartet.

Was als blockiert zählt

Drei Signale werden geprüft: der Statusname des Items (abgeglichen mit „blocked", „on hold" und „impediment" sowie ihren spanischen, portugiesischen und italienischen Entsprechungen und allem, was Ihre Organisation ergänzt hat), ein Tag am Item oder eine Ganzwort-Übereinstimmung mit „blocked", „impediment" oder „on hold" im Titel. Zwei weitere Signale existieren in der Konfiguration: ein benutzerdefiniertes Azure-DevOps-Feld und eine Board-Spalte, aber diese konkrete Ansicht prüft keines von beiden; verlässt sich Ihre Organisation auf eines dieser beiden, weist ein Warnhinweis oben auf der Seite darauf hin, statt stillschweigend zu wenig Blockiertes zu melden.

Alter ohne Obergrenze und ohne Rundungstricks

Das Alter ist eine einfache Berechnung der verstrichenen Zeit, Kalendertage, keine Arbeitstage, ab demselben Startpunkt, den auch die Zykluszeit verwendet, angezeigt auf eine Dezimalstelle genau. Es gibt keine Obergrenze dafür, wie groß diese Zahl werden kann: Ein Item, das tatsächlich mehrere Jahre alt ist, zeigt seine wahre, sehr hohe Anzahl an Tagen an, statt stillschweigend als Ausreißer ausgeschlossen zu werden, denn ein blockiertes Item, das schon so lange liegen geblieben ist, ist genau das, was diese Ansicht sichtbar machen soll, nicht verstecken. Dass derselbe Startpunkt wie bei der Zykluszeit verwendet wird, bedeutet, dass das Alter eines Items hier und seine spätere Zykluszeit, sobald es schließlich abgeschlossen ist, garantiert übereinstimmen: niemand muss zwei unterschiedliche Zahlen für dasselbe Item abgleichen.

Sortiert für das Gespräch, nicht für die Tabellenkalkulation

Blockierte Items werden zuerst gruppiert, dann innerhalb jeder Gruppe, blockiert oder nicht, nach Alter absteigend sortiert, also die ältesten zuerst. Diese Reihenfolge ist bewusst gewählt: Die Items, die es am ehesten wert sind, in einem Stand-up oder einer Retro angesprochen zu werden, sind diejenigen, die sowohl feststecken als auch am längsten festgesteckt haben, und sie sollten das Erste sein, was jemand beim Laden der Seite sieht, statt etwas, das man erst durch manuelles Sortieren einer Spalte suchen muss.

Bekannte Grenzen

Alterung & Blockiert ist ausschließlich auf den aktuellen aktiven Sprint des Teams beschränkt: es gibt keine Ansicht über ein gesamtes Backlog oder über vergangene Sprints hinweg, und keinen Rückgriff auf einen vorherigen Sprint, falls gerade keiner aktiv ist. Von den fünf Blockiert-Signalen, die die Konfiguration unterstützt, werden auf dieser Ansicht nur drei geprüft (Status, Tag, Titel: nicht ein benutzerdefiniertes Feld oder eine Board-Spalte); der Warnhinweis deckt diese Lücke ab, wenn sie zutrifft. Es gibt hier keinen Umschalter zwischen Arbeits- und Kalendertagen, keine altersbasierte Farbabstufung und keinen CSV-Export. Der Name jedes Items verlinkt direkt in Azure DevOps, aber die Ansicht selbst verlinkt nicht weiter zur Konfiguration oder zu einem anderen Agile-Gauge-Bildschirm.

Einsatz dort, wo es zählt

Diese Ansicht ist dafür gedacht, während des Sprints geöffnet zu werden, nicht erst hinterher ausgewertet: ein kurzer Blick vor dem Stand-up macht aus „ist irgendetwas blockiert?" von einer Frage, über die jemand erst nachdenken muss, eine Tabelle, die man einfach ablesen kann. Ein blockiertes Item am zweiten Tag einer fünftägigen Blockade zu entdecken, ist ein deutlich anderes Gespräch, als es erst in der Retro nach Abschluss des Sprints zu bemerken, denn dann bleiben im Sprint noch Tage, um tatsächlich etwas dagegen zu unternehmen.

Es ist außerdem ein nützlicher Bildschirm, den man öffnet, bevor man sich auf den Plan des nächsten Sprints festlegt, nicht nur während des laufenden. Ein Item, das den größten Teil des aktuellen Sprints blockiert dalag, ist ein vernünftiger Kandidat dafür, entweder gelöst zu werden, bevor es erneut übertragen wird, oder ehrlich als unwahrscheinlich zu markieren, sich ohne externe Hilfe zu bewegen: beide Entscheidungen lassen sich besser treffen, wenn Alter und Blockiert-Status vor einem liegen, als wenn man aus dem Gedächtnis raten muss, welche Items am längsten feststecken.

Agile Gauge startet bei 20 $ im Monat für bis zu 2 Benutzer. Starten Sie eine kostenlose 14-tägige Testversion: mit vollem Funktionsumfang, keine Kreditkarte erforderlich.