GQM
Encyclopedia
GQM, the acronym for "goal, question, metric", is an approach to software metric
s that has been promoted by Victor Basili
of the University of Maryland, College Park
and the Software Engineering Laboratory at the NASA
Goddard Space Flight Center
after supervising a Ph.D. thesis by Dr. David M. Weiss. Dr. Weiss' work was inspired by the work of Albert Endres at IBM Germany.
GQM defines a measurement
model on three levels:
Conceptual level (goal) : A goal is defined for an object for a variety of reasons, with respect to various models of quality, from various points of view and relative to a particular environment.
Operational level (question) : A set of questions is used to define models of the object of study and then focuses on that object to characterize the assessment or achievement of a specific goal.
Quantitative level (metric) : A set of metrics, based on the models, is associated with every question in order to answer it in a measurable way.
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. Basili described his six-step GQM process as follows:
GQM templates are a structured way of specifying goals . A GQM template contains the following fields:
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.
approach was developed by Victor Basili
and a group of researchers from the Fraunhofer Institute. It is based on the Goal Question Metric paradigm and adds the capability to create measurement programs that ensure alignment between business goals and strategies, software-specific goals, and measurement goals.
Software metric
A software metric is a measure of some property of a piece of software or its specifications. Since quantitative measurements are essential in all sciences, there is a continuous effort by computer science practitioners and theoreticians to bring similar approaches to software development...
s that has been promoted by Victor Basili
Victor Basili
Victor R. Basili, born April 13, 1940 in Brooklyn, New York, is an Emeritus Professor at the Department of Computer Science and the Institute for Advanced Computer Studies, both at University of Maryland. He holds a Ph.D. in Computer Science from the University of Texas at Austin and two honorary...
of the University of Maryland, College Park
University of Maryland, College Park
The University of Maryland, College Park is a top-ranked public research university located in the city of College Park in Prince George's County, Maryland, just outside Washington, D.C...
and the Software Engineering Laboratory at the NASA
NASA
The National Aeronautics and Space Administration is the agency of the United States government that is responsible for the nation's civilian space program and for aeronautics and aerospace research...
Goddard Space Flight Center
Goddard Space Flight Center
The Goddard Space Flight Center is a major NASA space research laboratory established on May 1, 1959 as NASA's first space flight center. GSFC employs approximately 10,000 civil servants and contractors, and is located approximately northeast of Washington, D.C. in Greenbelt, Maryland, USA. GSFC,...
after supervising a Ph.D. thesis by Dr. David M. Weiss. Dr. Weiss' work was inspired by the work of Albert Endres at IBM Germany.
GQM defines a measurement
Measurement
Measurement is the process or the result of determining the ratio of a physical quantity, such as a length, time, temperature etc., to a unit of measurement, such as the metre, second or degree Celsius...
model on three levels:
Conceptual level (goal) : A goal is defined for an object for a variety of reasons, with respect to various models of quality, from various points of view and relative to a particular environment.
Operational level (question) : A set of questions is used to define models of the object of study and then focuses on that object to characterize the assessment or achievement of a specific goal.
Quantitative level (metric) : A set of metrics, based on the models, is associated with every question in order to answer it in a measurable way.
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
Decision making
Decision making can be regarded as the mental processes resulting in the selection of a course of action among several alternative scenarios. Every decision making process produces a final choice. The output can be an action or an opinion of choice.- Overview :Human performance in decision terms...
and improvements. Basili described his six-step GQM process as follows:
- Develop a set of corporate, division and project business goals and associated measurement goals for productivityProductivityProductivity is a measure of the efficiency of production. Productivity is a ratio of what is produced to what is required to produce it. Usually this ratio is in the form of an average, expressing the total output divided by the total input...
and quality - Generate questions (based on models) that define those goals as completely as possible in a quantifiable way
- Specify the measures needed to be collected to answer those questions and track process and product conformance to the goals
- Develop mechanisms for data collection
- Collect, validate and analyze the data in real time to provide feedback to projects for corrective action
- Analyze the data in a post mortem fashion to assess conformance to the goals and to make recommendations for future improvements
GQM templates are a structured way of specifying goals . A GQM template contains the following fields:
field | examples |
---|---|
object of study | pair programming Pair programming Pair programming is an agile software development technique in which two programmers work together at one workstation. One, the driver, types in code while the other, the observer , reviews each line of code as it is typed in... , 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.
Recent developments
Although GQM has served the software industry well for several decades, it never provided explicit support for integrating its software measurement model with elements of the larger organization, such as higher-level business goals and strategies. The GQM+StrategiesGQM+Strategies
GQM+Strategies is a method for explicitly linking measurement goals to higher-level goals, and also to goals and strategies at the level of the entire business. It was developed by Victor Basili, Jens Heidrich, Mikael Lindvall, Jürgen Münch, Carolyn B. Seaman, Myrna Regardie, and Adam Trendowicz...
approach was developed by Victor Basili
Victor Basili
Victor R. Basili, born April 13, 1940 in Brooklyn, New York, is an Emeritus Professor at the Department of Computer Science and the Institute for Advanced Computer Studies, both at University of Maryland. He holds a Ph.D. in Computer Science from the University of Texas at Austin and two honorary...
and a group of researchers from the Fraunhofer Institute. It is based on the Goal Question Metric paradigm and adds the capability to create measurement programs that ensure alignment between business goals and strategies, software-specific goals, and measurement goals.
See also
- Basili, Victor R. 'Using Measurement to Build Core Competencies in Software'. Seminar sponsored by Data and Analysis Center for Software, 2005.