Blog

Analytics in der agilen Softwareentwicklung: Diese Kennzahlen sind entscheidend

Posted on 2. Oktober 2018 18:24:37 MESZ

photo-1485388276992-0ce5ce2d6981

Die agile Softwareentwicklung setzt ihren Erfolgszug in der Entwickler Szene weiter fort und gilt inzwischen als die meistgenutzte Entwicklungsmethode: Der Agile Development Adoption and Best Practices Report zeigt, dass mittlerweile über 55% aller IT-Unternehmen mit agilen Methoden arbeiten.

Trotz der hohen Flexibilität und Anpassungsfähigkeit agiler Methoden und ihrer schnellen Reaktion auf Veränderung können und müssen die Workflows zentral gemessen und kontrolliert werden. Agile KPIs (Key Performance Indicators) geben Aufschluss über potenzielle Verbesserungen in der strategischen Planung, Auswertung und Durchführung agiler Projekte.

Traditionelle Qualitätsmanagementsysteme fokussieren sich in der Regel auf die Erfüllung von Anforderungen innerhalb eines zeitlichen und monetären Rahmens. In der agilen Softwareentwicklung aber haben Kunden und Entwicklerteams direkten Einblick in die Ergebnisse und können Deadlines und Aufwand zur Fertigstellung eines Produkts laufend anpassen. Worauf kommt es also bei der Analyse von agilen Projekten an? Wir haben die wichtigsten agilen Kennzahlen zusammengestellt.

KPIs zur zeitlichen Optimierung

Die zeitliche Optimierung ist ein elementarer Bestandteil der Verbesserung von Arbeitsprozessen. Diese KPIs helfen dabei:

Cycle Time

Die Cycle Time beschreibt die Zeit, die bei der Verwendung von Kanban-Methoden für die eigentliche Bearbeitung eines Auftrags anfällt. Im Gegensatz zur Lead Time, die die gesamte Zeitspanne vom Erhalt bis zum Ende des Auftrag umfasst, beschreibt die Cycle Time nur die Zeit, während der direkt  an der Umsetzung neuer Anforderungen gearbeitet wird. Genauer umfasst sie damit die aktive  Implementierung von Veränderungen in der Software. Die Verwendung der Cycle Time als Kennzahl ermöglicht so eine detaillierte Betrachtung der eigentlichen Software-Development-Prozesse und hilft bei deren Optimierung: Je kürzer, desto besser.

Velocity

Für die Arbeitsorganisation von Scrum-Teams ist die Velocity ein wichtiger Faktor. Dabei geht es darum vorherzusagen, wie viele Tickets innerhalb einer Iteration, also eines Sprints, ausgeliefert werden können. Je genauer und realistischer die Einschätzung des Teams ist, desto exakter fällt der Wert aus. Die einzelnen Tasks werden dafür mit dem Aufwand in Stunden oder der abstrakten Einheit Story Points bewertet. Nach einem Sprint können die erledigten Tickets mit dem geschätzten Wert verglichen und die Velocity berechnet werden. So wird die Produktivität eines Teams über einen längeren Zeitraum beobachtet.

Velocity Tracking ist vor allem für die Planung der einzelnen Organisationseinheiten wichtig, um einen reibungslosen Ablauf der Arbeitsprozesse zu ermöglichen. Sie hilft, die Schätzungen und Vorhersagen der einzelnen Arbeitsschritte zu verfeinern und effizienter zu arbeiten. Aufgrund der individuellen Einschätzungen und der unterschiedlichen Definitionen von Story Points lassen sich die Kennzahlen einzelner Teams allerdings nur schwer vergleichen. Der Velocity-KPI und dessen Verbesserung sollte daher nur als Planungstool und nicht als starres Ziel verstanden werden.

Prozessorientierte KPIs

Mit den folgenden KPIs lassen sich Entwicklungsprozesse und dadurch der Erfolg der einzelnen Schritte überwachen.

Sprint Burndown Charts

Eine Sprint Burndown Chart wird von Scrum-Teams genutzt und gibt an, welche Menge an Arbeit innerhalb eines Sprints noch zu erledigen ist. Der Ansatz ist hier umgekehrt: Nicht die bereits erledigten Aufgaben werden aufgelistet, sondern die verbleibende Arbeit bis zum Erreichen des gesetzten Ziels. Anhand dieser Kennzahl lassen sich auch eventuell auftretende Planungsfehler des Teams aus der Anfangsphase entdecken.

Release Burndown

Der Release Burndown wird nicht nur von Scrum-Teams verwendet, sondern auch bei Entwicklern, die Kanban nutzen. Wie der Sprint Burndown setzt sich auch der Release Burndown mit der Zeitspanne und der geleisteten Arbeit beziehungsweise den erzielten Fortschritten auseinander. Der Release Burndown umfasst dabei jedoch eine größere Zeitspanne und wird erst mit dem Release der entwickelten Software abgeschlossen. Auch für dessen Darstellung eignen sich Burndown Charts, mit denen Probleme schnell identifiziert und der gesamte Entwicklungsprozess abgebildet werden kann.

Cumulative Flow Diagram

Das Cumulative Flow Diagram, das von Kanban-Teams verwendet wird, ist keine Kennzahl an sich, sondern ein starkes Tool für deren Visualisierung. Es führt unterschiedliche Aspekte wie den geplanten Workload, die gerade bearbeiteten Prozesse und die bereits abgeschlossenen Vorgänge zusammen, um diese zu analysieren. Durch die Wiedergabe des gesamten Arbeitsprozesses gibt das Diagramm nicht nur Auskunft über den momentanen Entwicklungsstand, sondern lässt auch Engpässe erkennen und ermöglicht damit eine Optimierung der weiteren Planung.

KPIs zur Outputkontrolle

Crash Statistics

Nach dem Release sind Crash Statistics wichtige Kennzahlen, um den Erfolg der Software messbar zu machen. Die durchschnittliche Zeit zwischen dem Auftreten von Fehlern und der Fehlerbehebung oder die Häufigkeit, mit der eine Anwendung abstürzt, sind hier mögliche KPIs. Auch diese können vor einem zeitlichen Hintergrund betrachtet werden: Ziel ist es dabei, die Anzahl der Vorfälle in einer bestimmten Zeitspanne so gering und ihre durchschnittliche Bearbeitungszeit so kurz wie möglich zu halten, um eine Verbesserung nachzuweisen.

Code Coverage

Code Coverage oder auch Abdeckungsgrad ist eine Kennzahl, die die tatsächlich durchgeführten Tests innerhalb eines Codes mit der Anzahl theoretisch möglicher Tests vergleicht. Die Berechnung dieses KPI ist technisch relativ einfach und auch die Auswertung ist simpel: Je höher die Code Coverage, desto besser. Allerdings sollte man bei der Anwendung dieses KPI bedenken, dass das Entwicklerteam Einfluss auf die Kennzahl ausüben kann, indem es wahllos möglichst große Mengen an Quellcode testen lässt.

Weniger Kontrolle, mehr Fortschritt

Die Kennzahlen bieten zwar die Möglichkeit, Arbeitsprozesse detailliert zu überwachen, doch sie sollten weniger zur Kontrolle eingesetzt werden, als vielmehr Indikatoren für mögliche Weiterentwicklungen sein. Die effektivste Nutzung der Kennzahlen ergibt sich erst bei einer Betrachtung von Trends und selten durch einen direkten Vergleich paralleler Entwicklungen. Unter Umständen kann ihre Anwendung sogar schädlich für die Teammotivation sein, deswegen sollte man Nutzen und Ergebnis genau abwägen.

 

Interessieren Sie sich für moderne Softwareentwicklung? Dann laden Sie sich jetzt unser kostenloses Ebook "Agile Softwareentwicklung als Treiber der Digitalisierung" herunter. Dieses E-Book beleuchtet die Rolle agiler Softwareentwicklung im Rahmen des digitalen Wandels und hilft, agile Methoden zu verstehen und erfolgreich umzusetzen.


Zum Newsletter anmelden und auf dem Laufenden bleiben

Die aktuellen Blogposts