Metrics seems to be the part and parcel of any software development project. In typical waterfall development projects, different types of pre-defined metrics would be used across various projects even though each project is different. However when a team migrates to Agile methodology it becomes bit complicated. They get confused about the metrics to choose. This is because as such Agile methods are not prescriptive and freedom is given to the team to invent the ones which adds value to project. This instant freedom makes the team to come up with more questions than answers.
If you are new to Agile and would like to know the metrics to use in your projects, here are some tips.
1. Don't try to invent new metrics as soon as you move to Agile, instead use some of the existing CMM and other matrices and use it within an iteration.
For ex: In typical non-Agile companies the metrics commonly used include,
- Total number of defects,
- new change requests,
- resolved defects,
- total major,minor defects, etc.
- Total number of new defects found in each iteration
- New features added to backlog in each iteration
- New tasks discovered in each iteration
- Number of resolved defects in iteration, etc
3. It is also important to display the up to date metrics in a visible area in an Agile development environment.
4. There should be some action associated with the numbers captured as part of metrics,whether it is good or bad. If the numbers are as per the target/plan, then one should create actions to increase the bar. If the numbers are not good, then one should take actions to reach the bar.
5. Metrics can drive the behavior of the team. It is very important to choose the right metrics.
Recently I heard from some one that a management of a start up company imposed a metric to measure the productivity of individuals based on the number of times a developer checks the code into the repository. This metric obviously resulted the behavioral change in developers, as they were more worried about how frequently they check the code in to meet the target rather than any other deliverable.
Here are couple of good websites with information on Metrics in Agile environment