Quantcast
Channel: Agile Buddha : Demystifying Agile, Getting to its Core
Viewing all articles
Browse latest Browse all 51

Which Software Metrics and Why? Introducing Basili’s GQM Approach

$
0
0

With my last post, it is clear that metrics are important to tell you the transparent truth of software delivery. The question still remains – which metrics should I use and why?

Which Metrics and Why

Sometimes people just look for available or known set of metrics and then add more as and when they discover one.

With that it sounds like – they are trying to fit in those known set of metrics to any situation. Does that make sense?

Let’s go back to our analogy of metrics with health checkup. Do you congregate a set of tests and fit them in for any scenario? That doesn’t seem to work.

Instead you look at the problem you are suffering with and accordingly doctor suggests a set of tests. So for diabetes doctor suggests blood-sugar test and for fever a set of tests to verify what kind of fever it is.

If that’s the case, why should we search for metrics. Instead it sounds like, we need to first define problem-statement first.

In case of software-development, different stakeholders have different set of goals. So a Project Manager may have completely different set of goals compared to VP Engineering from a software project.

In order to satisfy those goals, you may need to answer a set of questions. So for instance, your goal may be to “reduce total cost of testing effort”. In order to satisfy this goal you may need to answer following questions:

  • Which functional areas have the most defects?
  • How long does it take to repair defects?
  • How much percentage of regression tests are automated?
  • What’s the code coverage with automated tests?
  • In order to answer these questions, you require metrics.

With that it’s clear that measurement must be defined in a top-down fashion and must be focused on goals and models.

There are a variety of mechanisms for defining measurable goals that have appeared in the literature. One of them is Basili’s Goal Question Metric (GQM) approach.

A GQM model is a hierarchical structure, starting with a goal (specifying purpose of measurement, object to be measured, issue to be measured, and viewpoint from which the measure is taken).

gqm

The goal is refined into several questions, that usually break down the issue into its major components.

Each question is then refined into metrics, some of them objective, some of them subjective.

The same metric can be used in order to answer different questions under the same goal. Several GQM models can also have questions and metrics in common

Here’s an example of GQM approach

Goal
     : Purpose Improve
     : Issue Quality
     : Object (process) of software
Question Did my end users find defects?
Metrics Defect Leakage Density
Question Are there less defects than before?
Metrics Defect Leakage Trend, Severity trend

Viewing all articles
Browse latest Browse all 51

Latest Images

Trending Articles



Latest Images