GQM/Measurement/Metrics

Goal-Question-Metrics
                              Image

In software development, we often hear people say things like:

  • "This Java class is too complex."
  • "I am much more productive when doing pair programming."
  • "This new online course registration system is completely unusable."

If we wish to test these claims through empirical research, we need a way to measure abstract concepts such as complexity, productivity, and usability. To do this, we define metrics: operational definitions that allow us to gather data and transform it into numerical measures. The challenge is to find metrics that are both practical to collect and that match up with our intuition. Number of lines of code written per week is an example of a productivity metric that it is easy to collect but does not necessarily match with our intuition of productivity.

Two important aspects of software are product and process. Product metrics are measures of the software itself, and include concepts such as reliability, usability, complexity and safety. Process metrics are measures of how the software was developed, and include concepts such as productivity, development effort, information flow and process conformance.

Measurement frameworks provide us with a way to structure our measurement process when conducting a study. The Goal-Question-Metric (GQM) paradigm is one such framework that helps the researcher identify the right metrics. The research starts by starting with defining the research goals of a study (characterize, understand, evaluate, predict, improve), identifying questions to achieve the goal, and deriving metrics which can answer the questions.

Author: Lorin Hochstein
Maintained By: Sarah Heckman
Last Updated: 2008-08-11