Welcome to

Luis Gonçalves website

What metrics should we use in an Agile project?

Hi guys, this week I started to read a book that is part of a reading list for the CSP exam. “Extreme Programming - Installed” and I found an interesting chapter about a topic that me and my colleagues were struggling with couple of weeks ago - “What metrics should we use in order to see how the project is progressing? ” Let´s take a look into it…

Ron Jeffries, Ann Anderson and Chet Hendrickson said there are mainly six kinds of metrics that is useful to play attention to in our projects: Resources, Scope, Quality, Time, Tracking and Reporting Scope, Tracking and Reporting Quality. So let´s take a look at each of these metrics.

Resources
Authors of the book defend that we should always keep a track on key resources - planned versus actual. These are number of developers, testers, customers assigned to a project and number of computers in a development, test and production.

Scope
Number of stories over time: how many stories exist, and how many of these are actually accomplished. We can also see how many stories were initially planned vs stories that we have on the backlog at the moment. This metric can give us an idea whether a product owner adds lot of stories or whether he sticks to the initial release scope.

Quality
Here, a simple graphic can be used to show how many automated test cases were run and how many of these were successful.

Time
The core is to track the results of each released plan and discuss the outcome and impact on the project when any functionality was added or removed.

Tracking and Reporting Scope
There are two main metrics: Iteration and Release burndown. The iteration burndown chart helps a team to track the iteration work (estimated vs done).

burn-down-A

To track how the release is progressing we can use a graphic presented below. The red bar shows the stories that need to be implemented, green bar demonstrates the ones that were already achieved and the yellow ones the stories that were added to the product backlog.

ReleaseBurnDown

This website serves as a source to a picture displayed above blog You can find more information how to “Read a Release Burndown Chart”.

Tracking and Report Quality
This part describes three interesting metrics. According to the authors, the first metric, that demonstrates the percentage of unit test that passed on an iteration rate, should be available. The number of successful tests tell how well a team is doing. Please, do not take me wrong, this does not mean that teams should not care about having all tests green during the iteration. You should always aim to have it as “green” as possible, but tracking it on iteration level is a good way to see how the team is doing on a release basis. Here you can find more background information to support this statement.

The second metric applies the same thought as mentioned above. However, this time it serves for acceptance and integration tests. Perhaps, in this case, it makes sense to separate the test by product area in order to see which of the product areas are more complicated. Below you can find a report for acceptance testing during an iteration.

AcceptanceTesting

Finally, as a last metric, a comparison matrix - test cases vs date can be used. This would show us which test cases failed and when did it happen. This would allow us to identify any trend that could emerge from there.

Do you think there is anything missing? Please feel free to comment.

Final3dPostCTA

10 thoughts on “What metrics should we use in an Agile project?”

  1. peter says:

    Do i understand this right ? You had a scope of 130 stories at sprint 1 and until the final sprint only 13 changed (= 10% change of scope) ?

    Is that a typical change amount in agile projects?

    We had a release, where 70% of the stories changed between first and final iteration. (That was extreme, but 40-50% change are average).
    Or another metric: Half of the top 30% percent of PBL items at sprint 1 had drop below implementation threshold until the final sprint of the release. Continuous, yet unpredictable inflow of high value stories with short market windows (we operate in a very volatile market).

    That´s why waterfall wasn´t working for us.

  2. Lucian says:

    Hello,

    The topic is quite interesting, but I do not get some things. Metrics should be clear and not overlapping, still, there is a “Scope” kind of metric, and another kind of metric for “Tracking and Reporting Scope”. What is the difference between them ? Why is there a “Reporting” in the metric’s name ?
    From the explaining notes, to me it seems that the model is not consistent.
    The same applies for quality and tracking and reporting quality …

    Is it possible that the post title is skewed ? I see it more suitable “What kind of metrics should we use in an Agile project?”, because the content is more about types and kinds of metrics ..than about specific metrics.

    To answer your question, I believe there is clarity missing, and non-overlapping character is also missing.

  3. Пикулев Алексей (@AlexeyPikulev) says:

    Hello Luis,
    What do you think about “Risk Burn Down” graph? It seems to me it is very important to risk managements.

    1. Luis Goncalves says:

      Hi Alex, maybe I am wrong but I do not see it as something really important :) Of course managing risk is quite important but what is the value of having a graphic with risks? I do not see any big value on that… Do you have any idea? Thanks Luis

  4. Пикулев Алексей (@AlexeyPikulev) says:

    May be you are right. But we often forget about risks. As far as I know for agile projects, the team must have the quick information about risks status.

    1. Lucian says:

      Risk is uncertainty, risk is unproved assumptions..risk get bigger with the more you try to accomplish. When doing iterative development, risk applies only to the current iteration, and I believe that risk is manageable for, let’s say ..two weeks of iteration.

      If there are risks, they should go in the backlog, as user stories.

      Do you have in mind a PMI-like approach to risk management ?

      1. Пикулев Алексей (@AlexeyPikulev) says:

        I agree with you. We try to consider risks on one iteration. To include them in the backlog. And to reconsider each grooming.

  5. Schalk Cronjé says:

    Unfortunately the book you referred to has been published in 2000.

    [1] It misses one the most important process metrics - cycle time (OR flow time).

    [2] Number of tests are a meaningless measurement. % of tests passed is a reasonable indicator of quality, but in modern terms we expect 100% pass before released, therefore even the % measurement is meaningless.

    [3] Burndown in it self is not a metric, just useful as a visual indicator. To be useful it needs to be tied to a predicted time to completion. the long-standing linear line is just a fallacy and not a prediction. Work does not burn down in a linear fashion. Most IT work seem to follow a Weibull distribution of cycle time.

    1. Luis says:

      Hi :)

      1) Fully agree with you :) something that could be added :)

      2) Fully disagree with you :) 99% of the cases you do not start from scratch, you start from legacy projects, if you do not have those metrics in place the team will be a bit lost… These metrics are awesome to help the team to see if they are doing progress towards 100% coverage or not… Number of test cases could be a good one because it makes transparent how the test scenarios are involving… If you have a flat line means that you are actually creating code but not really covering it with test cases:)

      3) 50% disagree :) Burndown does not only serve to predict where you will land. I fully agree that is important but its not only because of that. Its important to give information to the team where they stand in order to negotiate with the PO priories within sprint. But Yes I agree that you should have a date where it will land and I do that on my projects. :)

      Thanks for the great comments,
      Luis

      1. Schalk Cronjé says:

        [2] Tsk tsk. You moved the goal post. Now you are referring to code coverage, which I think is a far more useful metric. There are counter arguments against code coverage, which usually centers around its misuse, but I do find it useful, especially moving forward on legacy code bases.

Leave a Reply

Your email address will not be published.

*

Facebook

Get the Facebook Likebox Slider Pro for WordPress