Software -Management -Metriken sind quantifizierbare Messungen, die zur Verfolgung und Bewertung der Leistung, des Fortschritts und der Gesundheit von Softwareentwicklungsprojekten und -teams verwendet werden. Sie bieten datengesteuerte Erkenntnisse, mit denen Manager fundierte Entscheidungen treffen, Verbesserungsbereiche identifizieren und letztendlich eine qualitativ hochwertige Software rechtzeitig und innerhalb des Budgets liefern können. Diese Metriken können auf verschiedene Arten kategorisiert werden, aber gemeinsame Gruppierungen umfassen:
1. Projektmanagementmetriken: Diese konzentrieren sich auf den allgemeinen Fortschritt und die Gesundheit des Projekts.
* Zeitplaneinhaltung: Wie gut bleibt das Projekt im Zeitplan? Gemessen durch Vergleich der tatsächlichen Abschlussdaten mit geplanten Daten. Oft als prozentualer vollständiger oder Zeitplanabweichung ausgedrückt.
* Budgetanhaftung: Wie gut bleibt das Projekt im Budget? Gemessen durch Vergleich der tatsächlichen Kosten mit geplanten Kosten. Oft als prozentual ausgegebener oder Haushaltsvarianz ausgedrückt.
* Defektdichte: Anzahl der gemäß Codeeinheit gefundenen Defekte (z. B. Defekte pro 1000 Codezeilen). Zeigt die Qualität des Codes an.
* Effizienz der Defektentfernung: Prozentsatz der gefundenen Mängel und fixiert während der Entwicklung (vor der Veröffentlichung). Ein höherer Prozentsatz zeigt eine effektivere Prüfung und Qualitätssicherung an.
* Vorlaufzeit: Die Zeit von dem Moment, in dem eine Aufgabe begonnen wird, bis zu dem Moment, in dem sie als vollständig und zur Lieferung bereit ist.
* Zykluszeit: Es dauert die Zeit, eine einzelne Iteration oder Sprint abzuschließen.
* Geschwindigkeit: (In Agile) Ein Maß für die Arbeit, die ein Team in einem Sprint abschließen kann. Wird verwendet, um zukünftige Arbeiten zu prognostizieren.
2. Teamproduktivitätsmetriken: Diese konzentrieren sich auf die Effizienz und Effektivität des Entwicklungsteams.
* Codezeilen (loc): Obwohl es oft als irreführende Metrik isoliert kritisiert wird, kann dies in Kombination mit anderen Metriken nützlich sein, um Produktivitätstrends zu verstehen.
* Code Churn: Misst die im Laufe der Zeit geänderte, hinzugefügte oder gelöschte Codemenge. Hohe Abwanderung kann auf Instabilität oder Nacharbeit hinweisen.
* Entwicklungsaufwand: Gesamtstunden für Entwicklungsaktivitäten.
* Ressourcenauslastung: Wie effektiv werden Teammitglieder genutzt?
* Teamgeschwindigkeit: (In Agile) Die Rate, mit der ein Team die Arbeit abschließt.
3. Codequalitätsmetriken: Diese konzentrieren sich auf die Qualität und Wartbarkeit des Code selbst.
* Codekomplexität: Misst, wie schwierig der Code ist, zu verstehen und aufrechtzuerhalten (z. B. zyklomatische Komplexität).
* Codeabdeckung: Prozentsatz des von automatisierten Tests getesteten Code.
* technische Schulden: Die impliziten Kosten für Nacharbeit, die durch die Auswahl einer einfachen (begrenzten) Lösung jetzt verursacht werden, anstatt einen besseren Ansatz zu verwenden, der länger dauern würde.
4. Kundenzufriedenheit Metriken: Diese konzentrieren sich darauf, wie gut die Software den Kundenbedürfnissen und -erwartungen entspricht.
* Kundenzufriedenheitswerte (CSAT): Direktes Feedback von Kunden zu ihrer Zufriedenheit mit der Software.
* Net Promoter Score (NPS): Misst die Kundenbindung und die Bereitschaft, die Software zu empfehlen.
Wichtige Überlegungen:
* Kontext ist wichtig: Die nützlichsten Metriken variieren je nach Projekt, Team und Organisation.
* Überladung metrisch: Die Konzentration auf zu viele Metriken kann kontraproduktiv sein. Wählen Sie eine kleine Reihe wichtiger Metriken, die Ihren Zielen übereinstimmen.
* Korrelation, nicht Kausalität: Metriken können Korrelation zeigen, aber nicht unbedingt die Ursache. Gehen Sie nicht davon aus, dass eine Änderung einer Metrik automatisch eine Änderung in einer anderen verursacht hat.
* Regelmäßige Überprüfung und Anpassung: Metriken sollten regelmäßig überprüft und angepasst werden, um sicherzustellen, dass sie relevant und nützlich bleiben.
Durch die sorgfältige Auswahl und Verfolgung relevanter Softwaremanagementkennzahlen können Unternehmen wertvolle Einblicke in ihre Softwareentwicklungsprozesse gewinnen und datengesteuerte Verbesserungen vornehmen, um die Effizienz zu steigern, die Qualität zu verbessern und die Kundenzufriedenheit zu verbessern.