Perfekter Workflow – Kanban als Methode der agilen Softwareentwicklung


Keine Frage: Agile Softwareentwicklung ist in. Eine der bekannteren Methoden hierbei ist Kanban, ein bereits 70 Jahre altes Konzept. Ursprünglich von Taiichi Ōno entwickelt, um den Materialfluss in Produktionsstraßen zu optimieren, wurde damit damals die Produktivität der Toyota Motor Cooperation wieder konkurrenzfähig gemacht. Für die Softwareentwicklung wurde die Methode von David Anderson weiterentwickelt und 2007 der Öffentlichkeit vorgestellt. Doch wie sieht sie heute, über 10 Jahre später, eigentlich aus? Über Darstellungsformen, Prozessoptimierung und mögliche KPIs.

Meine Kollegin Anja Hegewald hat mit dem Artikel „Was Kanban alles kann“ bereits einen kurzen Einblick in die Thematik gegeben. Zusammenfassend lässt sich sagen, dass durch Kanban der Fluss der Arbeit sichtbar gemacht wird. Das geschieht üblicherweise mit Karten – Kanban bedeutet eigentlich Karte – auf denen die Aufgaben beschrieben sind. Diese wandern durch eine Reihe von „Arbeitsstationen“, die auf einem Board dargestellt sind. Das Board kann ein physikalisches sein, also ein Whiteboard, eine Wand, ein Raumtrenner – aber auch ein virtuelles elektronisches.

Die Vorteile eines physikalischen Boards? Es ist immer präsent, mehr oder weniger ortsfest und vermittelt eine persönliche Bindung mit dem Anwender. Es erfordert außerdem ein gewisses Engagement der Mitarbeiter. Das elektronische Board hingegen muss explizit aufgerufen werden, ist jedoch auch für verteilte Gruppen oder Anwender nutzbar und die Darstellung lässt sich variieren. Da das elektronische Board auf einer Datenbank basiert, kann man die Daten auch direkt auswerten. In manchen Projekten bewährt sich auch die parallele Nutzung eines physikalischen und eines elektronischen Boards, auch wenn das Mehraufwand in Form von Synchronisation beider Boards bedeutet.

Beispiel für ein Board

Die Arbeit pro Station wird limitiert, um eine Überlastung zu vermeiden. Die einzelnen Stationen holen sich stattdessen bei Bedarf nach dem Prinzip des Pull Systems neue Arbeit. Die Regeln für den Prozess werden genau und detailliert definiert. Der Arbeitsfluss durch die Stationen wird gemessen und der Fluss wiederum anhand der Messwerte gesteuert.

Prozessoptimierung

Es gibt keinen universellen Standardprozess, der immer optimal passen würde. Wie gut ein Prozess funktioniert, ist von vielen Faktoren abhängig. Das beginnt bei der Art der umzusetzenden Aufgabe und endet bei der Teamzusammensetzung. Deshalb ist es wichtig, einen individuellen Prozess zu entwickeln, diesen ständig zu überprüfen und zu verbessern. Das gilt im Übrigen nicht nur für Kanban. Ein allgemein anerkanntes Instrument für Prozessverbesserungen sind die Retrospektiven. Die Teammitglieder reflektieren dabei die Arbeit über einen bestimmten Zeitraum und versuchen dabei Verbesserungsmöglichkeiten zu finden und zu implementieren – oder auch einfach nur Fehler im Prozess zu eliminieren.

Eine weitere Möglichkeit bieten Key Performance Indicators (KPIs), also Messgrößen, die auf die ein oder andere Art Aussagen zur Performance ermöglichen. An dieser Stelle kommt jetzt wieder das elektronische Board ins Spiel. Zwar lassen sich KPIs auch manuell oder mit Hilfe eines Excel-Blatts bestimmen, aber die manuelle Datenübertragung ist zeitaufwendig und vor allem auch fehlerträchtig. Dafür bietet diese Methode größtmögliche Flexibilität, man kann praktisch alles berechnen. Hat man ein elektronisches Board im Einsatz, kann dieses wahrscheinlich eine Menge der gewünschten Informationen direkt oder mit geringem Aufwand zur Verfügung stellen. Es gibt weder Übertragungsfehler, noch Zusatzaufwand und die Daten sind jederzeit aktuell verfügbar. Allerdings ist man hierbei durch das jeweilige Produkt eingeschränkt. Doch selbst dann reichen die vorhandenen Daten in der Regel aus und die Vorteile (keine Fehler, Echtzeit, …) überwiegen.

Hat man beispielsweise den MS Team Foundation Server (TFS) im Einsatz und nutzt diesen zur Visualisierung eines Kanban-Boards, kann lassen sich Grafiken und Kennzahlen mit Boardmitteln auf einer Übersichtsseite konfigurieren.

Welche KPI’s kommen beispielsweise in Frage?

Zu den einfach zu erstellenden Grafiken / KPIs gehören u.a.

  • die Anzahl der unbearbeiteten Karten im Backlog, zum Beispiel nach Auftraggeber kategorisiert
  • die Anzahl der auf dem Board befindlichen Karten nach Arbeitsstation und mit zeitlichem Verlauf, ggf. wieder nach Auftraggeber kategorisiert
  • die Anzahl der Karten auf dem Board nach Typ und Größe (Arbeitsaufwand), so denn diese Information vorhanden ist
  • die Anzahl der blockierten Karten, ggf. auch für verschiedene Arten der Blockade
  • die Anzahl an Langläufern (Karten, die sich ungewöhnlich langsam über Board bewegen)
  • sonstige für das Team interessante Informationen, insofern die Daten verfügbar sind.

Kleiner Tipp am Rande: Die Grafiken eignen sich auch gut für Präsentationen zum Projektverlauf und -fortschritt.

Beispiele für mögliche Auswertungen (TFS)

Benötigt man mehr, kann man mit einmaligem Aufwand eigene Extensions bauen, die zusätzliche Funktionalitäten abdecken. Im Zweifel bis zur nächsten TFS Version und vorausgesetzt, die nötigen Daten und Funktionen sind vorhanden.