Warum Key Performance Indicators so wichtig für die Entwicklung von Unternehmenssoftware sind

Brandon Lewis
17.05.2021 11:42:05

Warum Key Performance Indicators so wichtig für die Entwicklung von Unternehmenssoftware sind

Der Trend, Software eats the world ist nicht zu leugnen – das Internet der Dinge (Internet of things / IoT) wächst in kosmischem Ausmaß und die Fertigungsindustrie wandelt sich zur Industrie 4.0. So nimmt auch die effiziente und zuverlässige Entwicklung von Software eine immer bedeutendere Rolle in der Wirtschaft und der unternehmerischen Wertschöpfung ein, unabhängig von der Branche.

Effektives Management erfordert hier eine objektive Messung. KPIs (Key Performance Indicators) liefern die Werkzeuge, um die Leistung und Qualität der Softwareentwicklung zu quantifizieren, so dass Teamleiter und Unternehmensführung sicherstellen können, dass Projekte nachhaltig und konsistent im Zeit- und Budgetrahmen geliefert werden. Manager und CIOs müssen auch den Zeitaufwand der Entwickler kennen, wenn sie potenzielle Projekte oder Investitionen in Betracht ziehen.

Wie wir die relevantesten KPIs ausgewählt haben

Wie man am Digital Engineering Framework sehen kann, gibt es unzählige KPIs, die verschiedene Aspekte des Zustands des Codes oder der Produktivität von Softwareentwicklungsteams messen können. Es ist wichtig, zwischen Metriken zu unterscheiden, die für die Führung eines Unternehmens wichtig sind, und solchen, die für Software-Entwicklerteams hochrelevant sind, auch wenn es natürlich Überschneidungen und Wechselwirkungen zwischen den KPIs gibt.

Die Top-KPIs für die Unternehmensführung

Diese Metriken bilden die Grundlage für die Formulierung einer Unternehmensstrategie, die Festsetzung von Investitionen und die Steuerung der Produktivität.

Effort

Der KPI "Effort" misst, an welchen Stellen die Softwareentwicklungs-Organisation Zeit in die Codeproduktion investiert. Die entscheidende Frage ist: Stellen Bereiche mit hohen Aufwands-Investitionen auch eine hohe Wertschöpfung dar?

Effort in Defect Fixing

Der "Effort in Defect Fixing" (Deutsch: 'Aufwand bei der Fehlerbehebung') ist ein Produktivitätsindikator. Jede Entwicklerstunde, die mit der Behebung von Fehlern verbracht wird, hat Opportunitätskosten und hätte in die Produktion neuer Funktionen investiert werden können. Glücklicherweise können Entwickler mit der Seerene Software Process Mining-Plattform ihre Softwareproduktion visualisieren und die mit Fehlern behafteten Bereiche aufschlüsseln, so dass sie weit weniger Zeit für die Fehlerbehebung benötigen.

Software Visualisierungen

Knowledge Monopoly

Die Verteilung von Wissen kann entscheidend für den Erfolg sein. Ein Wissensmonopol kann zu einem lähmenden Risiko werden, wenn der einzige Entwickler, der mit einem Bereich des Codes vertraut ist, krank wird oder, noch schlimmer, Ihr Unternehmen verlässt. Eine bekannte Faustregel besagt, dass der durchschnittliche Entwickler 80 % seiner Zeit damit verbringt, sich mit dem Code vertraut zu machen. Das Fehlen eines Entwicklers mit einem Wissensmonopol könnte also ein wichtiges Projekt um Wochen oder Monate verzögern. Seerene kann Ihre Wissensmonopole identifizieren, so dass Sie diese Risiken entschärfen können, bevor Fristen kippen oder ganze Projekte gefährden.

Effort in Technical Debt

Komplexer Code sammelt sich mit der Zeit an, wenn Entwickler „Abkürzungen“ nehmen um Termine einzuhalten. Leider haben diese Abkürzungen einen Nachteil: Sie machen den Code komplexer, was wiederum bedeutet, dass mehr Entwicklerstunden mit dem Sichten des Codes verschwendet werden. Der Begriff dafür ist technische Schuld. Irgendwann werden die technischen Schulden so groß, dass sie beseitigt werden müssen, aber für die meisten Unternehmen ist dies schwer zu bemessen. Seerene kann Unternehmen dabei helfen, die Kosten ihrer Code-Komplexität zu quantifizieren, damit sie bestimmen können, wann es von strategischer Notwendigkeit ist, in die Beseitigung technischer Schulden zu investieren.

Velocity

Wie legt man Liefererwartungen oder Projekttermine in einem so abstrakten und undurchsichtigen Bereich wie der Softwareentwicklung fest? „Velocity“ kann dafür eine nützliche Metrik sein. Velocity misst die wertschöpfende Arbeit, die in einem Sprint geliefert wird. Sie können die durchschnittliche Velocity als Basislinie verwenden, wenn Sie neue Software-Investitionen oder Projekte planen.

Die wichtigsten KPIs für Entwicklerteams

Diese KPIs sind von taktischem Wert. Sie können den Managern von Entwicklerteams dabei helfen, Problembereiche zu identifizieren, die zusätzlicher Aufmerksamkeit bedürfen, oder Best Practices, die auf andere Teams übertragen werden können.

Throughput

Der "Durchsatz" misst den gesamten Arbeitsoutput innerhalb eines bestimmten Zeitraums, wobei normalerweise Tickets als Einheit verwendet werden. Der Durchsatz kann aus erstellten Funktionen, behobenen Fehlern oder abgeschlossenen Aufgaben bestehen. Throughput kann verwendet werden, um Teams zu identifizieren, die unter- oder überdurchschnittliche Leistungen erbringen, sowie Teams, die blockiert oder überlastet sind.

Missing Documentation

Wenn ein Softwareentwickler sich in einen neuen Codeabschnitt einarbeiten muss, kann ihm die Dokumentation das Verständnis des Codes erheblich erleichtern. Wie bereits erwähnt, verbringen Entwickler einen sehr großen Teil ihrer Zeit nur damit, den Code zu verstehen. Der Prozentsatz des Codes, in dem Dokumentation fehlt, kann anzeigen, wie einfach es für neue Entwickler wäre, den Einstieg zu finden. Außerdem, je weniger Dokumentation, desto größer ist das Risiko eines Wissensmonopols.

Orphaned Code

Orphaned Code (Deutsch: Verwaister Code), auch bekannt als toter oder deaktivierter Code, wird nie ausgeführt. Er fügt dem Code unnötige Komplexität hinzu, was Entwickler ausbremst und die Produktivität verringert. Es ist oft sehr schwierig, verwaisten Code zu identifizieren, selbst mit Compilern, so dass er selten entfernt wird. Die Seerene-Plattform identifiziert toten Code, damit er entfernt werden kann.

Open Defects and Technical Debt Contained

Sowohl die "Open Defects"- als auch die "Technical Debt Contained"-Metrik spiegeln den Zustand der Qualität des Codes wider. Beide sollten minimiert werden.

Abschließende Überlegungen

Im Vergleich zu vielen anderen Abteilungen innerhalb eines Unternehmens leidet die IT-Abteilung oft unter institutioneller Isolation aufgrund von Kommunikationsschwierigkeiten und der Messung des Fortschritts. Ohne Software- oder gar Programmierkenntnisse fühlt sich die Führungsetage oft schlecht gerüstet, um das zu steuern und zu managen, was zum größten Motor für Wachstum und Wertschöpfung in einem modernen Unternehmen geworden ist. 

KPIs for Software Production

KPIs sind integraler Bestandteil jeder Lösung für dieses Problem, da sie eine gemeinsame Sprache zwischen Entwicklern und der C-Suite schaffen. Weiterhin bieten sie verschiedene Möglichkeiten: für das Management die Softwareproduktion in Verbindung mit der Gesamtstrategie zu steuern und für die Entwickler, um für größere Investitionen in dringende Problembereiche, wie z.B. technische Schulden, zu argumentieren.

Mit diesen aussagekräftigen KPIs in der Hand wird die Softwareentwicklung im Unternehmen nicht länger eine unkontrollierte, ineffiziente Blackbox sein! Wenn Sie an noch mehr KPIs interessiert sind, mit denen Sie Ihre Softwareproduktion aktiv steuern und kontrollieren können, laden Sie hier unser kostenloses Digital Engineering Framework herunter.

Digital Engineering Framework Poster

 

You May Also Like

These Stories on News