Blog

Kennzahlen in der agilen Softwareentwicklung

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


Topics: Agile Entwicklung

Zum Newsletter anmelden und auf dem Laufenden bleiben

Die aktuellen Blogposts

Kennzahlen in der agilen Softwareentwicklung

Kennzahlen in der agilen Softwareentwicklung

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

photo-1485388276992-0ce5ce2d6981-1

Die agile Softwareentwicklung setzt ihren Erfolgszug in der Entwicklerszene weiter fort und gilt inzwischen als die meistgenutzte Entwicklungsmethode. Diese KPIs sind dabei wichtig.

Prozesse optimieren und Erfolge messbar machen

Die agile Softwareentwicklung setzt ihren Erfolgszug in der Entwicklerszene 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. Welche Rollen Kennzahlen in der agilen Softwareentwicklung spielen und worauf es bei der Auswahl ankommt, erfahren Sie hier.

Agile Softwareentwicklung: Die Bedeutung von Kennzahlen

Trotz der hohen Flexibilität und Anpassungsfähigkeit agiler Methoden und ihrer schnellen Reaktion auf Veränderung ist es sinnvoll, Workflows zentral zu messen und zu kontrollieren. 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. So können sie Deadlines und Aufwand zur Fertigstellung eines Produkts laufend anpassen und Entwicklungszeiten verkürzen. Worauf kommt es also bei der Analyse von agilen Projekten an? Wir haben die wichtigsten agilen Kennzahlen in der Softwareentwicklung zusammengestellt.

agile Softwareentwicklung Kennzahlen

Kennzahlen in der agilen Softwareentwicklung tragen zu kürzeren Entwicklungszeiten bei.

KPIs zur zeitlichen Optimierung

Die zeitliche Optimierung ist ein elementarer Bestandteil der Verbesserung von Arbeitsprozessen. Diese Kennzahlen 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 Auftrags 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. So hilft sie 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 man innerhalb einer Iteration, also eines Sprints, ausliefern kann. 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. Dies ermöglicht die Beobachtung der Produktivität in einem Team über einen längeren Zeitraum. 

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 gibt dem Scrum-Team an, welche Menge an Arbeit innerhalb eines Sprints noch zu erledigen ist. Der Ansatz ist hier umgekehrt zu der zeitlichen Optimierung. Nicht die bereits erledigten Aufgaben werden aufgelistet, sondern die verbleibende Arbeit bis zum Erreichen des gesetzten Ziels. Anhand dieser Kennzahl lassen sich in der agilen Softwareentwicklung 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, die die schnelle Identifikation von Problemen und die Abbildung des gesamten Entwicklungsprozesses ermöglichen. 

Cumulative Flow Diagram

Das Cumulative Flow Diagram, das von Kanban-Teams verwendet wird, ist ein starkes Tool für die Visualisierung von Kennzahlen. Es führt unterschiedliche Aspekte wie den geplanten Workload, die gerade bearbeiteten Prozesse und die bereits abgeschlossenen Vorgänge zusammen. Durch die Wiedergabe des gesamten Arbeitsprozesses lässt sich dieser analysieren. Die Auskunft über den momentanen Entwicklungsstand zeigt Engpässe auf und ermöglicht damit eine Optimierung der weiteren Planung.

KPIs zur Outputkontrolle

Mit bestimmten Kennzahlen lässt sich daneben auch der Output der agilen Softwareentwicklung überprüfen. 

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. Vor einem zeitlichen Hintergrund haben sie das Ziel, 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 dieser Kennzahl ist technisch relativ einfach und auch die Auswertung ist simpel: Je höher die Code Coverage, desto besser. Allerdings sollte man bei der Anwendung 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

Kennzahlen in der agilen Softwareentwicklung bieten zwar die Möglichkeit, Arbeitsprozesse detailliert zu überwachen, doch sie sollten weniger zur Kontrolle eingesetzt werden. Vielmehr dienen sie dazu, als Indikatoren für mögliche Weiterentwicklungen zu stehen. 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.

 

E-Book

Agile Softwareentwicklung als Treiber der Digitalisierung

iPad-Pro-Mockup-covis-agile-1

 

Neue Technologien und agile Vorgehensweisen helfen dabei, auf die individuellen Anforderungen bei der digitalen Transformation einzugehen. In unserem E-Book erfahren Sie

  • welche Rolle die agile Softwareentwicklung bei der Digitalisierung von Geschäftsprozessen spielt,
  • welche Erfolgsfaktoren dabei entscheidend sind und 
  • worauf es bei der Auswahl der richtigen Tools ankommt.

Laden Sie unser kostenloses E-Book zum Thema Agile Softwareentwicklung herunter. 



Topics: Agile Entwicklung