Goal Question Metric
Zusammenfassung
Bei der Software-Entwicklung und der damit verbundenen Forschung handelt es sich um eine Ingenieursdisziplin. Hierbei ist vor allem ein klar strukturiertes Vorgehen, eine hohe Nachvollziehbarkeit und Bewertbarkeit der Arbeit und der Ergebnisse maßgeblich. Ein bewährtes Vorgehen hierzu ist die Arbeit anhand eines Goal-Question-Metric-Plans (GQM-Plan). Kernidee des Konzeptes sind drei Schritte hin zur Messbarkeit von Arbeitsergebnissen und zur Bewertung von Effekten:
- Definition des Ziels (Goal)
- Ein Ziel "is defined for an object, for a variety of reasons, with respect to various models of quality, from various points of view, relative to a particular environment." (aus dem Tutorial von Basili, Caldiera und Rombach, s. Figure 2 dort, Referenz s.u.) und sollte daher typischerweise den Zweck der Messung (Purpose), den Bezug zu einem Qualitätsattribut ((Quality) Issue), den Gegenstand der Beobachtung (Object) und die Sichtweise, aus der das Ziel betrachtet wird (Viewpoint) benennen.
- Definition von Fragen, deren Beantwortung aussagt, ob das Ziel erreicht wurde (Questions)
- Definition von Metriken, die eine messbare Beantwortung der Fragen darstellen (Metrics)
Wichtig ist hierbei, den Top-Down-Ansatz zu verfolgen, und sich zuerst klar zu machen, welches Ziel man eigentlich mit seiner Evaluierung verfolgt, und wie man dieses durch Fragen genau definieren kann. Alles andere würde zu unnötigen Messungen bzw. Metriken führen, die bestenfalls mit sehr viel Aufwand nachträglich interpretiert werden müssen, oder schlimmstenfalls komplett überflüssig sind.
Beispiel
Nehmen wir an, unser Ziel sei "Die Verbesserung der Erstellung von Palladio-Modellen".
Eine mögliche Frage wäre zum Beispiel:
- "Wurde der manuelle Aufwand zur Erstellung reduziert?"
Mögliche Metriken wären nun:
- "Anzahl der Mausklicks zur Erstellung einer Komponente"
- "Laufzeit des Editors auf einem Referenzsystem, bis eine Komponente gezeichnet wurde"
Resourcen
Es gibt inzwischen diverse Resourcen, um sich in die Erstellung von GQM-Plänen einzuarbeiten.
- Die Grundlegende Arbeit hierzu wurde von Basili et al. geleistet. Das Paper das sie selbst in diesem Zusammenhang referenzieren auch wenn GQM direkt als fester Begriff darin noch nicht auftaucht: Basili, Victor R., and David M. Weiss. "A methodology for collecting valid software engineering data." Software Engineering, IEEE Transactions on 6 (1984): 728-738. [1]
- Ein Paper zur Anwendung von GQM von Basili et al selbst: V.R. Basili, "Software Modeling and Measurement: The Goal Question Metric Paradigm" Computer Science Technical Report Series, CS-TR-2956 (UMIACS-TR-92-96), University of Maryland, College Park, MD, September 1992. [2]
- Ein Tutorial hierzu wurde von Basili zusammen mit Caldiera und Rombach für Studierende an der University of Maryland entwickelt: [3]
- Für einen kurzen Einblick kann auch der Wikipedia-Artikel genutzt werden: [4]
- Als Referenz in wissenschaftlichen Arbeiten sollte man das Grundlagen-Paper von Basili bevorzugen.
- Viele Beispiele finden sich in "The Goal/Question/Metric Method: A Practical Guide for Quality Improvement of Software Development" von Rini van Solingen und Egon Berghout