Goal Question Metric (GQM) and Agile


A common question that we get all the time is how do you take a disciplined agile approach to metrics.  This is a fairly straightforward question, but it has a potentially complex answer.  At a very high level the answer is to keep your metrics strategy as light weight and focused as possible.  One way to do this is to adopt an agile version of the Goal Question Metric (GQM) strategy. The fundamental idea behind GQM is that you first identify a goal that you would like to achieve, a set of questions whose answers are pertinent to determining how well you’re achieving that goal, and then the metric(s) that could help you to answer each question.

An Example

Consider the goal of improving time to market (reducing overall cycle time in lean parlance).  The following table summarizes potential questions, and their supporting metrics, that we could ask to help us to determine how well we’re addressing that goal.

Potential Question Potential Supporting Metrics
Is the team working at a sufficient pace to complete the work?
Is the team working together effectively?
  • Team morale
  • Blocking work items
Is the team producing sufficient quality work to enable them to continue working at their current pace?
  • Build health
  • Code quality
  • Defect trend
Are new or changing requirements putting the release date at risk?

Of course, this would only be one of several goals that you likely have for a given team.  I would hope that you have goals around improving quality, stakeholder satisfaction, and staff morale to say the least.

It’s important to note that a single metric can help to answer multiple questions.  For example, a ranged release burndown/up chart can potentially help to answer two of the questions in the table above.


Keeping GQM Agile

Unfortunately GQM has gotten a bit of a bad name for itself in the past, often because organizations took a far too heavy approach to applying it.  The technique can in fact be applied in an agile manner if you so choose.  There are several things that you need to do to keep GQM agile:

  1. Keep it lightweight.  The value of improved decision making provided by metrics must exceed the cost of gathering those metrics.  The easiest way to do that is to prefer automatically generated metrics over manually captured ones wherever possible.
  2. Evolve as you learn.  As you fulfill your existing goals your priorities will evolve and sometimes new goals will emerge.  You may also discover that you have new data available to you, perhaps due to the introduction of new tools or processes, that provide insight into one or more questions.  You may also find that some metrics can be dropped, either in favour of newer ones or because they simply don’t provide the insight you had hoped for.
  3. Take an open approach.  Make the metrics as available to as wide an audience as you possibly can (so as to increase transparency).  Furthermore,  make it clear what you’re using the metrics for and then only use them for your stated purpose.
  4. Collaborate.  Metrics can provide insight into what is going on but it is far better to have conversations with others to determine what is actually going on.  Don’t try to manage or govern by the numbers, instead work closely with, and more importantly help, the teams that you’re responsible for.

Adopting an agile approach to GQM, or something similar, is only one aspect of your overall agile measurement program, and measurement is an important part of your overall governance strategy.  More on both of these important topics in future blog postings.

Leave a Reply

Your email address will not be published. Required fields are marked *