Monday, December 21, 2009

Agile Scrum - Reporting and Metrics

Many of us have experienced projects that drag on much longer than expected and cost more than planned. Companies looking to improve their software development processes are now exploring how Agile can help their Enterprise more reliably deliver software quickly, iteratively and with a feature set that hits that mark. While Agile has different "flavors", Scrum is one process for implementing Agile.

This newsletter is one in a series of newsletters that will discuss the Agile Scrum process and will end with variants of Scrum that can be used to aid in improving your software releases. Here are the prior newsletters in this series:
Overview
From a metrics perspective in Agile, you will want to collect metrics that answer 2 questions:
  1. Will all my sprint requirements get completed by the end of the sprint? To answer this, we will use burn down charts that show the number of hours remaining each day of the sprint. As the sprint progresses, the chart should incrementally trend downwards, showing whether you will be done with all requirements at the end of the sprint.
  2. Will all requirements completed in the sprint have high quality? To answer this, we will use test cases and defect statistics. Test Case statistics will let us know if we have thoroughly tested the software and defect statistics will alert us as to the quality of the software.
When collecting statistics and metrics, you can use spreadsheets or an Application Lifecycle Management (ALM) tool to generate the information needed to answer these critical questions. Using a spreadsheet is less costly (no purchase of a tool required) but it does require that you key your data into the spreadsheet daily and keep it updated. ALM tools can prevent double data entry and can provide a more comprehensive statistics and a better view of your progress.

Using a Spreadsheet to Capture Metrics
For companies that do not have a budget for an ALM tool, they can collect statistics at enter them into a spreadsheet. The most difficult issue with this approach is that you must keep the spreadsheet updated and you must have a way of collecting the statistics. For example, each day you must ask each developer how many hours they have remaining on each task they are working on. You also must manually keep track of the number of test cases, the status of them, the number of defects and the status of them.

Below is an example of a spreadsheet that shows a burn down chart of each requirement and it charts how many hours should be remaining day-by-day and the actual hours remaining day by day. By reviewing the chart daily, you can determine if you are progressing towards plan or not.If you would like to download the spreadsheet above, go to http://www.pragmaticsw.com/Template_PADDailyScrum.xls



Using an Application Management Tool to Capture Metrics
The advantage of having an ALM tool to provide statistics is that you do not have to ask your developers each day for their hours remaining -- they will enter their time in the ALM tool daily and it will automatically update the statistics. Your quality assurance team can also use the tool to manage requirements, test cases and defects, and statistics will always be a click away -- no need to do any double data entry. There are many ALM tools available, below are some screen shots that show how Software Planner (http://www.SoftwarePlanner.com) generates statistics that provide the metrics needed for Agile sprints.

Burn Down Charts
As you can see below, burn down charts are available without double entry of data -- it pulls from the timesheets entered each day by your developers. A key advantage is that you can easily toggle between sprints, comparing one to another.



Quality Assurance Analysis
You can quickly see how many test cases are run for each sprint, and how many passed and failed, day-by-day. You can also trend defects day-by-day to ensure that as the end of the sprint approaches, the quality of the release is high. Another key advantage is that it does allow you to quickly toggle between sprints, comparing one to another:



If you would like to download a free trial of Software Planner, go to: http://www.softwareplanner.com/FreeTrial.asp?AppName=SP

Helpful Templates
Below are some helpful templates to aid you in developing software solutions on-time and on-budget:

3 comments:

  1. Hey, nice site you have here! Keep up the excellent work!


    Scrum Process

    ReplyDelete
  2. Hey, nice site you have here! Keep up the excellent work!



    Scrum Process

    ReplyDelete
  3. Hi there, awesome site. I thought the topics you posted on were very interesting. I tried to add your RSS to my feed reader and it a few. take a look at it, hopefully I can add you and follow.
    Scrum Process

    ReplyDelete