GQM, the acronym for "Goal, Question, Metric", is an approach to metrics that was developed by Victor Basili of the University of Maryland, College Park and the Software Engineering Laboratory at the NASA Goddard Space Flight Center. Acronyms, initialisms, and alphabetisms are Abbreviations that are formed using the initial components in a phrase or name A metric is a standard unit of measure such as Meter or Gram, or more generally part of a system of parameters or Systems of measurement, or a set of The University of Maryland College Park (often referred to as The University of Maryland UMD, UMCP or simply Maryland) is a public research The National Aeronautics and Space Administration ( NASA, ˈnæsə is an agency of the United States government, responsible for the nation's public space program The Goddard Space Flight Center ( GSFC) is a major NASA space research laboratory established on May 1, 1959 as NASA's first space flight
GQM defines a measurement model on three levels:
The open literature typically describes GQM in terms of a six-step process where the first three steps are about using business goals to drive the identification of the right metrics and the last three steps are about gathering the measurement data and making effective use of the measurement results to drive decision making and improvements. Decision making can be regarded as an outcome of mental processes ( cognitive process) leading to the selection of a course of action among several alternatives Basili described his six-step GQM process as follows:
GQM templates are a structured way of specifying goals. Productivity in Economics refers to measures of output from production processes per unit of input In the vernacular quality can mean a high degree of excellence (“a quality product” a degree of excellence or the lack of it (“work of average quality” or a property of A corrective action is a change implemented to address a weakness identified in a Management system. A GQM template contains the following fields:
| field | examples |
|---|---|
| object of study | pair programming, static analysis tool |
| purpose | characterize, understand, evaluate, predict, improve |
| focus | programmer effort, program reliability |
| stakeholder | developer, customer, manager |
| context factors | (other important factors that may affect outcomes) |
Here is an example of applying the GQM template to express the goal of a software engineering study:
The purpose of this study is to characterize the effect of pair programming on programmer effort and program quality from the point of view of software managers in the context of a small web-development company.