Velocity: Tracking productivity instead of time
One of the most interesting parts of Agile project management is watching the velocity of a team increase over time. As a team works together their productivity tends to increase. Agile represents the amount of work a team produces in a metric called velocity.
Frequently teams new to agile will size the work in a time based unit such as hours or days. This is a common carry over from traditional project management. While Agile does manage time and resources, the time is fixed not variable. In Agile an iteration or sprint is a fixed length of time typically between two or four weeks. A chart showing time spent working in an iteration isn’t that valuable. A better process is to view the amount of work a team can produce in a specific amount of time. This is called velocity.
One challenge managers have with velocity is attempting to plan work for a new team on a new project since the velocity of the team is not known. Typically the first couple iterations, a new team is still forming and learning how to work together. Over time the estimates and velocity will stabilize. Looking at the velocity of a team as measured in points rather that hours provides a better indication on the performance of the group. Once the velocity begins to stabilize a team can accurately plan the work for a particular iteration.
Lets look at an example. A small team is pulled together to work on a new project. They sit down and estimated 30 stories varying between 2 and 10 points of effort each. The team believes they can take on 30 points in the first iteration (two weeks). At the end of that iteration the team only completed 10 points. When planning the next iteration the team learns from the previous one and only plans to complete 15 points. Iteration 2 hits the mark, the team does complete 15 points. For Iteration 3 the team plans for 15 points again. This time however they are able to complete 17 points, they’re getting better. Iteration 4 they plan for 18 points but produce 22. Iteration 5 they plan for 20 but only produce 18. Feeling they’ve identified the standard velocity at 20 points, the team continues through the project allocating 20 points per iteration. With this in mind the team can look at the work produced and determine how productive they are and forecast a valid completion timeline. This forecast is the projected project burn-up. The burn up chart shows the actual accumulated work completed against the projected values across multiple iterations. The burn-up chart can also chart scope increases and decreases A burn-down chart on the other hand deals with a fixed amount of work and shows the amount of that work completed in a single iteration. Both of these commonly used planning and status charts can’t be produced without understanding what the velocity of the team is.
It’s tempting to use time as a unit of measurement in agile. Try to break away from the traditional views and track productivity instead. The results will be a more confident team and more accurate planning a reporting. In the end your customers will thank you for delivering what you said when you said, and for providing valuable statuses along the way.
Resources:
http://agilesoftwaredevelopment.com/blog/jackmilunsky/significance-story-points
http://www.versionone.com/Resources/Velocity.asp
http://grantjoung.blogspot.com/2009/07/efficiency-must-have-agile-metric-as.html
http://agilesoftwaredevelopment.com/blog/pbielicki/predicting-team-velocity-yesterday-weather-method
I’ve had the opportunity to work with a variety of offshore teams on various projects. While very challenging these relationships can indeed be valuable. So how do you make the most of these partnerships? Here are a few observations. 