You Can’t Control What You Can‘t Measure.

Software ist unsichtbar. Deshalb ist es schwer, Software-Qualität zu messen, aber man kann eine Menge tun, nämlich Software-Controlling: Permanentes Messen und Speichern wichtiger Qualitätskennzahlen und sofortige Reaktion, wenn etwas aus dem Ruder läuft. Unsere Werkzeugkette dazu nennen wir Software-Leitstand. Der Software-Leitstand ist das Ergebnis von drei Jahren Forschung und Entwicklung und hilft uns heute in fast allen Entwicklungsprojekten.

 

Entscheidend ist immer die Messung über einen längeren Zeitraum: Der einzelne Messwert, etwa eine Komplexitäts-kennzahl, sagt kaum etwas. Aber wenn sich eine Kennzahl von heute auf morgen drastisch verschlechtert, dann muss etwas passiert sein, und zwar gestern. Am nächsten Tag lässt sich das Malheur ohne Mühe lokalisieren – nach einem Jahr wäre die Suche schwierig bis aussichtslos.

 

Hier einige Kriterien, die wir mit dem Software-Leitstand überwachen: Architekturverletzungen, statische Code-Anomalien, Code-Duplikate, Coding-Style, Testüberdeckung, Kommentarquote, Schachtelungstiefe bei Schleifen und bedingten Anweisungen, zyklomatische Komplexität.

 

Der Software-Leitstand besteht aus einer Reihe von Open-Source-Werkzeugen, die wir integriert und um selbstgebaute Werkzeuge ergänzt haben. Er wird weiterentwickelt im Rahmen eines mit Bundesmitteln geförderten Forschungsprojekts, das wir gemeinsam mit der Universität Erlangen-Nürnberg und der Hochschule Rosenheim durchführen.