In Agile software development, velocity is the first metric we learn and it’s the most widely used. When used appropriately, measuring velocity is a powerful way to improve the capacity planning of individual teams. When used for anything other than estimating an individual team's capacity, however, velocity measurement becomes dangerous.
In this post, I’ll share my opinions and lessons learned in the field using velocity. I’ll detail some landmines to watch out for, how to increase your chances of avoiding them, and what to do if something goes “boom.”
What is Agile Velocity?
First things first: Agile velocity is not a one-size-fits-all concept, and it is not a Swiss Army knife. Agile velocity is intended to serve a very specific function, and using it for anything else can be dangerous. Agile velocity enables a team to estimate their probable work output during a timebox, such as an iteration or program increment.
There are two forms of velocity: what a team thinks they can deliver in story points and what a team actually delivers. Only by measuring both can a team improve their ability to estimate and plan over time.
A team's velocity will differ from timebox to timebox, and that’s to be expected. As a team grows more proficient over time, their velocity should steadily trend upwards and stabilize into a predictable range. When this happens, velocity becomes a great metric for forecasting how many work items a team might complete in a given timebox. This metric can also form the basis for improving the accuracy and reliability of planning your agile work, not only within one team but across many teams.
Sometimes Things Go Wrong
Despite education, training, and the best intentions, even a simple and seemingly innocuous thing like Agile velocity can be misapplied. As the saying goes, “forewarned is forearmed.”
Ponder these common examples of misusing velocity so you can guard against them. If you’re currently doing any of these things, you should stop. If asked to do any of these things, don’t.
- Using velocity to measure value
- Using velocity to measure work output
- Using velocity to measure performance
- Using velocity to compare one team to another
- Using velocity to set delivery dates
Be Ready and Be a Team Player
If someone asks you to use velocity inappropriately, it’s not enough to say “that’s wrong” and refuse; be ready to provide alternatives. Take the initiative, reach out to your coach or the body within your organization responsible for Agile practices and ask them how to respond to these potential situations. Publish any standards you come up with so that your product owner and business stakeholders understand how to use—and not use—velocity.
Remember to be open-minded and give people the benefit of the doubt. Just because they ask to use velocity incorrectly doesn’t mean they don’t have a real need or the best of intentions. Engage them in a little discovery to make sure you both agree on what is really needed, then work together to devise a solution. By addressing the examples I shared earlier, you’ll likely be able to offer valid and pre-approved alternatives to meet their needs right away.
Tips from the Field