Many organizations claim to be running Agile shops. I get two responses when I ask about their Agile practice
- They (try to) run iterations.
- They hold daily standups.
These are two of several practices which contribute to being Agile. However, alone, they will never realize the true value of the practice. The normal follow up questions I have for these companies are the following:
- What’s your average velocity?
- What’s your defect kill rate?
- What’s your unit test code coverage?
- How long are your standups?
- How long are your iterations?
The first question is usually sufficient to determine if a team is Agile. The rest serve to drive the point home that the team could be doing much better. I boil it down to one simple statement: A team without an average velocity is not Agile and will always struggle.
A team’s velocity is used in several ways:
- Picking the iteration work load
- Swapping work intra-iteration
- Picking and estimated delivery date
- Determine resourcing and cost of a project
These four points are what make good Agile project managers. They allow visibility to the client (or boss) and to the team for what is required daily. Also, they allow for warning flag to raised early if there a problems with scope creep or defect counts.
Measuring velocity is the hardest part of an Agile implementation. It’s also the most useful. Without it, teams will never realize the true value of Agile.