Saturday, November 24, 2007

Estimating and Tracking Progress of an Agile Software Project



Project Velocity is a measure that it used when estimating how much of work will get done in an iteration in an agile software project. Velocity measures the rate at which business value is delivered. It's calculated by simply summing up the estimated units of stories delivered in an agile iteration. Assuming all iterations are of the same duration, velocity can be used to estimate size of software that can be delivered in future iterations. If iterations are of variable length, it would make sense to use the metric velocity per week to estimate the velocity in an iteration.

The units of velocity could be any measure of estimates. Ideal hours and Story Points are two of the most widely used units.

Once, development of the software starts, it is important to track progress of a project. Agile software projects are not plan driven but planning is continuous. Therefore, every single day the progress of the project should be tracked by its project manager. Burn charts are a very good way to track project progress. The units could be story points, ideal hours, or any other unit used for estimations.

I personally prefer burn-down charts as it shows how much of work is left before we complete. It feels better when the line approaches zero.













The above chart shows a line for 'Estimated Burndown' which shows the rate work should complete to reach the target for delivery. This shows the team is behind schedule and the project manager should take corrective action for course correction.

It is also possible to show scope change in a burn-down chart.

1 comment:

vipin said...

gr8 stuff
thanks for sharing ur knowledge
http://soft-engineering.blogspot.com