According to its originator, Victor Basili, the goal-question-metric (GQM) method presents a systematic approach for integrating goals to models of the software processes, products, and quality perspectives of interest based upon the specific needs of the project and the organization. If that sounds like a mouthful, allow us to break it down a little further for you.
Putting the Question in Goal-Question-Metric
In order to improve software development, goals for improvement must first be introduced. Compounding this issue is that improvement goals should be in some way related to organizational goals. So to distinguish our goals, we start measuring various attributes of our processes, looking for areas that are left wanting. GQM can be used to determine why an attribute is being measured. It also provides a three-part framework:
- The major goals of the development project
- Questions derived from goals that must be answered in order to determine if the goals are achieved
- Measurements that provide the most appropriate information for answering the questions
GQM enables metrics to be defined from two points of view, from the view of the project team, and from the view based on models for software processes and products. As for its actual implementation, GQM is divided into four phases:
- The Planning phase, during which the project for measurement application is selected, defined, characterised, and planned, resulting in a project plan.
- The Definition phase, during which the measurement programme is defined (goal, questions, metrics and hypotheses are defined) and documented.
- The Data collection phase, during which the actual data collection takes place, resulting in collected data.
- The Interpretation phase, during which the collected data is processed with respect to the defined metrics into measurement results, that provide answers to the defined questions, after which goal attainment can be evaluated.
If you are still raising an eyebrow about what this all means, consult this further explanation at SM Lab: http://www-ivs.cs.uni-magdeburg.de/sw-eng/us/java/GQM/link1.shtml