The Goal/Question/Metric method is an approach to determining which measurements are appropriate to put in place in an organisation.
Carried out through observation, interviews and workshops, this process is iterative, systematic and proven giving rapid identification of the structure for a software improvement programme. It creates a foundation of repeatable procedures for single projects or the entire organisation. The stages are goal identification, measurement planning, measurement performance and validation, concluding with analysis and interpretation of the results.
For example, a senior manager may have a goal to improve the performance of the software development department. This apparently simple goal must first be transformed into measurement goals. These might be to improve quality, increase productivity and/or reduce time to delivery.
These must now be transformed into questions to which the answers indicate progress towards those measurement goals, such as:
- How many defects does the system have?
- How severe are the defects in the system?
- In which modules of the system do the defects occur?
Clearly the answers to the above questions will determine current quality level. Comparing these with the required level will show progress towards that goal.
These questions now suggest some metrics which could be collected, including:
- Number of defects found in released software in first three months, by month
- Severity rating of each defect
- Code Module responsible for the defect.
The current quality can now be assessed in terms of detailed mesurements, for which specific improvement targets can be set.
The importance of GQM as an approach is that it ensures that metrics are not collected unless there is a sound business reason why the information is required. It generates support for a measurement programme by providing the results senior management need, even if only in summary form.