GQM

GQM, the initialism for goal, question, metric, is an established goal-oriented approach to software metrics to improve and measure software quality.

History
GQM 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.

Method
GQM defines a measurement model on three levels:
 * 1. 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.
 * 2. 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.
 * 3. 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.

GQM stepwise
Another interpretation of the procedure is:


 * 1) Planning
 * 2) Definition
 * 3) Data collection
 * 4) Interpretation

Sub-steps
Sub-steps are needed for each phases. To complete the definition phase, an eleven-step procedure is proposed:


 * 1) Define measurement goals
 * 2) Review or produce software process models
 * 3) Conduct GQM interviews
 * 4) Define questions and hypotheses
 * 5) Review questions and hypotheses
 * 6) Define metrics
 * 7) Check metrics on consistency and completeness
 * 8) Produce GQM plan
 * 9) Produce measurement plan
 * 10) Produce analysis plan
 * 11) Review plans

Recent developments
The GQM+Strategies approach was developed by Victor Basili and a group of researchers from the Fraunhofer Society. 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.

Novel application of GQM towards business data are described. Specifically in the software engineering areas of Quality assurance and Testing, GQM is used.