Software-Prozess- und Projektmanagement: Metriken & Kennzahlen
Eingeordnet in Informatik
Geschrieben am in
Deutsch mit einer Größe von 4,7 KB
Software-Prozess- und Projektmanagement: Metriken
Im Rahmen des Software-Projektmanagements gibt es große Besorgnis über Kennzahlen zur Produktivität und Qualität. Diese basieren auf dem „Output“ (Fertigstellung) der Softwareentwicklung unter Berücksichtigung von Zeit, Mühe und der Nützlichkeit des Produkts.
Maßnahmen, Kennzahlen und Indikatoren
Obwohl die Begriffe Messen, Messung und Metriken oft synonym verwendet werden, ist es wichtig, die feinen Unterschiede zu beachten. Da die Begriffe „messen“ und „Messung“ sowohl als Substantiv als auch als Verb verwendet werden können, sind die Definitionen oft verwirrend.
Metrik-Domänen im Prozess- und Projektmanagement
Messungen sind in der Technik üblich: Energieverbrauch, Gewicht, Abmessungen, Temperatur oder Signal-Rausch-Verhältnis. Leider ist die Messung in der Welt des Software-Engineerings noch immer unterrepräsentiert.
Metriken und Prozessverbesserungen
Der einzige Weg, einen Prozess rational zu verbessern, besteht darin, die Attribute des Prozesses zu messen, Kennzahlen zu entwickeln und diese als Indikatoren für eine Verbesserungsstrategie zu nutzen.
Die Schadensanalyse
Die Analyse funktioniert wie folgt:
- Alle Fehler und Mängel werden nach Herkunft kategorisiert (z. B. Spezifikationsfehler, Logikfehler, Normabweichungen).
- Die Kosten für die Korrektur jedes Fehlers werden erfasst.
- Die Anzahl der Fehler pro Kategorie wird gezählt und absteigend sortiert.
- Die Gesamtkosten der Fehler pro Kategorie werden berechnet.
- Die Daten werden analysiert, um die kostenintensivsten Kategorien zu identifizieren.
- Es werden Pläne entwickelt, um den Prozess zu ändern und die häufigsten bzw. teuersten Fehler zu eliminieren.
Projekt-Metriken
Software-Prozess-Metriken dienen strategischen Zwecken, während Projektmaßnahmen taktisch sind. Projektleiter und Software-Teams nutzen diese, um den Workflow und technische Tätigkeiten anzupassen.
Modell für Software-Projektmetriken
- Inputs: Ressourcenbedarf (z. B. Personal, Umgebung).
- Outputs: Maßnahmen der erstellten Produkte während des Softwareprozesses.
- Ergebnis: Maßnahmen zur Wirksamkeit der Auslieferung.
Software-Messungen
Messungen werden in zwei Kategorien unterteilt: direkte Maßnahmen (z. B. Länge einer Schraube) und indirekte Maßnahmen (z. B. Qualität durch Zählen von Defekten). Software-Metriken folgen diesem Prinzip.
Größenorientierte Metriken
Diese standardisieren Qualitäts- oder Produktivitätsmaße basierend auf der „Größe“ der Software.
Funktionsorientierte Metriken
Diese nutzen die Funktionalität der Anwendung als Normalisierungswert. Da Funktionalität nicht direkt messbar ist, wird sie indirekt abgeleitet (z. B. durch das von Albrecht vorgeschlagene Verfahren).
Informationsdomänen
- Anzahl der Eingaben: Vom Anwender bereitgestellte Daten.
- Anzahl der User-Exits: Ausgaben wie Berichte, Bildschirme oder Fehlermeldungen.
- Anzahl der Benutzeranfragen: Interaktive Eingaben, die eine unmittelbare Reaktion erfordern.
- Anzahl der Dateien: Logische Master-Dateien (z. B. innerhalb einer Datenbank).
- Anzahl der externen Schnittstellen: Maschinell lesbare Schnittstellen (z. B. Dateien, Bänder).
Erweiterte Function-Point-Metrik
Die Function-Point-Messung wurde ursprünglich für Management-Informationssysteme entworfen. Für technische Systeme oder eingebettete Systeme, die stärker auf Funktion und Steuerung basieren, ist sie oft unzureichend.
Die drei Dimensionen
- Daten-Dimension: Interne Datenstrukturen (Dateien) und externe Daten (Eingänge, Ausgänge, Zugriffe).
- Funktionale Dimension: Messung der Transformation von Daten in ein gewünschtes Ausgabeformat.
- Steuerungs-Dimension: Messung des Verhaltens durch Zählen von Zustandsübergängen (z. B. bei einer Auto-Dial-Funktion).
Metriken für Softwarequalität
Das Ziel ist ein qualitativ hochwertiges Produkt. Dies erfordert effektive Methoden und moderne Werkzeuge.
Qualitätsmessung
- Korrektur: Der Grad, zu dem die Software ihre Funktion fehlerfrei ausführt.
- Wartbarkeit: Der Aufwand für die Softwarewartung.
- Integrität: Schutz gegen unbefugte Zugriffe (Hacker) und Sicherheit der Software.