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 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.
Diese Metriken bilden die Grundlage für die Formulierung einer Unternehmensstrategie, die Festsetzung von Investitionen und die Steuerung der Produktivität.
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?
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.
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.
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.
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.
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.
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.
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 (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.
Sowohl die "Open Defects"- als auch die "Technical Debt Contained"-Metrik spiegeln den Zustand der Qualität des Codes wider. Beide sollten minimiert werden.
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 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 Software Engineering Intelligence Framework herunter.
These Stories on News
August-Bebel-Str. 26-53
14482 Potsdam, Germany
hello@seerene.com
+49 (0) 331 706 234 0
Generative AI Seerene GmbH
August-Bebel-Str. 26-53
14482 Potsdam, Germany
hello@seerene.com
+49 331 7062340