Automatisierte Messungen: Ansatzpunkte, Vorteile und Grenzen

Automatisierung macht Messungen praxistauglich. Allerdings ist die ermittelte Produktivität teilweise nur eingeschränkt vergleichbar.

Regelmäßige Umfangsmessungen sind in der Softwareentwicklung unumgänglich. Sie ermöglichen Aussagen über den Zuwachs des funktionalen Umfangs einer Anwendung und damit über die Weiterentwicklungsproduktivität für jedes Release/Inkrement.

Nur so lassen sich Verbesserungen oder Verschlechterungen nachvollziehen und gegebenenfalls korrigieren. Darüber hinaus sind diese Erfahrungswerte zentrale Grundlage für die Aufwandsbestimmung neuer Entwicklungsvorhaben. Das Problem: Kontinuierliche Messungen erfordern Zeit, und werden in der Praxis daher oft vernachlässigt.

Zauberwort Automatisierung

Abhilfe schaffen auf Zählungen basierende Messverfahren. Durch die Abbildung der Zählobjekte auf konstruktive Merkmale eines bestehenden Systems realisieren sie einen hohen Automatisierungsgrad – vorausgesetzt, die entsprechenden Programme oder Skripte sind implementiert. Ein Einmalaufwand der sich lohnt; manuelle Tätigkeiten entfallen im weiteren Verlauf komplett. Ansatzpunkte für eine automatisierte Zählung sind u.a.:

  • Dialogmodelle in Form von XML- oder XHTML-Dateien (in vielen GUI-Frameworks verwendet)
  • XML-Schemata, die Schnittstellen- oder Nachrichtenstrukturen definieren
  • Metadaten eines Database Management Systems, die Informationen über Tabellen und Attribute enthalten

Gefahr von Unschärfen

Bei automatisierten Messungen, die sich stark an konstruktiven Merkmalen einer Anwendung orientieren, kann der Bezug zu den Anwendungsfällen verloren gehen – dieser ist jedoch eine wichtige Voraussetzung für funktionsorientierte Messmethoden. Eine Ursache dafür kann die mehrfache Verwendung von Zählobjekten für verschiedene Anwendungsfälle sein. Praktisches Beispiel ist der Vergleich zweier Systeme, die unterschiedliche Implementierungen der gleichen Anwendungsfälle sind:

  • Bei System A wurden ähnliche Dialoge mehrmals und teilweise redundant implementiert.
  • Bei System B wurde ein generischer Dialog implementiert, der sich je nach Anwendungsfall bzw. Aufruf entsprechend verhält bzw. anpasst.

Die Folge: Eine automatisierte Umfangsmessung auf Basis konstruktiver Merkmale liefert für System B einen niedrigeren Umfangswert als für System A und damit ein falsches Ergebnis. Im ungünstigsten Fall fördert dies nicht wünschenswerte Entwicklungspraktiken und schlechtes Design – Entwickler können die (nicht korrekt) gemessene Produktivität durch einen hohen Grad an Redundanz erhöhen. In Wirklichkeit ist die Wiederverwendung von Komponenten und Services ein zentraler Schlüssel zur Steigerung der Produktivität und Verbesserung der Wartbarkeit.

Grenzen bei der Vergleichbarkeit

Automatisierung macht Messungen meist erst praxistauglich. Allerdings stößt sie auch an Grenzen: Die mit automatisierten Verfahren gemessene Produktivität zwischen Systemen mit unterschiedlichem Wiederverwendungsgrad ist nur eingeschränkt vergleichbar. Das Problem: Der Wiederverwendungsgrad lässt sich nur schwer ermitteln. Dazu mehr in einem späteren Beitrag. Welche Erfahrungen haben Sie mit automatisierten Messungen?


Bildquelle: Shutterstock

Schreibe einen Kommentar