The original ideas for the Goal Question Metric Paradigm came from the need to solve a practical problem back in the late 1970s. How do you decide what you need to measure in order to achieve your goals? We (Dr. David Weiss and I) faced the problem when trying to understand the types of changes (modifications and defects) being made to a set of flight dynamics projects at NASA Goddard Space Flight Center. Was there a pattern to the changes? If we understood them could we anticipate them and possibly improve the development processes to deal with them? At the same time, we were trying to use change data to evaluate the effects of applying the Software Cost Reduction methodology on the A-7 project requirements document at the Naval Research Laboratory.
Writing goals allowed us to focus on the important issues. Defining questions allowed us to make the goals more specific and suggested the metrics that were relevant to the goals. The resulting GQM lattice allowed us to see the full relationship between goals and metrics, determine what goals and metrics were missing or inconsistent, and provide a context for interpreting the data after it was collected. It permitted us to maximize the set of goals for a particular data set and minimize the data required by recognizing where one metric could be substituted for another.
The process established the way we did measurement in the Software Engineering Laboratory at Goddard Space Flight Center, and has evolved over time, based upon use. Expansion involved the application to other areas of measurement (such as effort, schedule, process conformance), the development of the goal templates, the development of support processes, the formalization of the questions into models, and the embedding of measurement in an evolutionary feedback loop, the Quality Improvement Process and the Experience Factory Organization. Professor Dieter Rombach was a major contributor to this expansion.