GQM stands for the Goal Question Metrics approach, promoted by Victor Basili from the University of Maryland.
He is often given credit for the approach, after supervising a Ph.D. thesis by Dr. David M. Weiss. Weiss’ work was inspired by the work of Albert Endres at IBM Germany, so I suppose that Endres, Weiss and Basili were all co-inventors of the approach and possibly others.
This approach has been widely used in different industries, but often applied to software measurement. In a recent talk at the QAI Quest Software Quality Conference in Chicago, I applied GQM to Agile, calling it Agile Goal Question Metric.
This approach can be used to ensure that Agile is helping you to meet your objectives.
As the name implies, the first step is to think about your goals. For Agile, the goals are not a secret. It’s the same as the goals for Waterfall, speed, and quality. Unfortunately, many Agile teams focus on velocity and don’t realize that if they focused more on quality, they would get velocity.
Given your goals, thinking of questions is sometimes the hard part. What questions, if answered, would tell me if I’m meeting my goals? In our class, I put up a graphic to help attendees brainstorm about their own situation.
Agile GQM — Asking the Right Questions is Critical
Going from Goal to Question
The toughest part of GQM is thinking of good questions after you come up with goals. As you can see from the diagram, there should be a set of questions that correspond to a given goal. And then, what is not shown, is that there could be one or more metrics that tell you the answer to the question.
Looking at the diagram you can see that I’ve classified the goal as Quality, and categorized the questions further by an area such as Requirements and Technical Debt, or a Stakeholder, such as Product Owner.
For example, the product owner is interested in giving feedback and the end users reactions to the software. “Did the end users find defects?” We all know which metric that can be answered with. If you are worried about technical debt as it relates to the software quality, you may ask, “Do I mess things up when fixing things?” In technical terms, what defects were caused by fixes?
Using the Agile Goal Question Metric process to think of good questions can help you tie your metrics directly to your goals. This ultimately leads to a more organized approach and better focus.