Metrics for Software Development Teams

At the end of a Scrum team’s iteration aka “sprint,” the team has a velocity. In some cases, it is based on the number of story points they have completed within the sprint’s duration; other teams simply count the number of user stories done.

Velocity (story points or user stories completed in a fixed time period) is one of the most commonly used metrics in agile software development. It is also one of the most abused. Teams and stakeholders fall into the trap of believing “increasing velocity” is a noble goal. It is not.

Why not? Because instead of focusing on delivering working software that has business value for stakeholders, the team will be concerned with simply delivering more story points (e.g., to meet a target velocity).

While team velocity might (arguably) be a good long-term predictor, if it becomes the team’s focus in the short term, it can become a negative influence. An increasing velocity doesn’t necessarily mean things are getting better.

For example, a team could achieve a higher sprint velocity by skipping tests or sacrificing quality with the side effects of brittle code, technical debt and escaped defect fix cycles. This will result in a lower velocity in the long term. ( "When a measure becomes a target, it ceases to be a good measure." This follows from individuals trying to anticipate the effect of a policy, then taking actions which alter its outcome".).

Also, a Scrum team’s velocity is a lagging indicator – like unemployment. You don’t fix unemployment by focusing on the rate of employment. You fix unemployment by fixing the economy. In both cases, you are working in a complex emergent system, and the causes for increases or decreases in any metric are not immediately obvious nor predictable. Measure Many Things

I’m not suggesting that an agile development team should never look at its velocity chart. But to help monitor experiments aimed at continual improvement, a team needs to measure more than just one thing.

Only when trends in multiple metrics are overlaid (technical as well as human) can a team begin to get a holistic perspective. And those multiple viewpoints, along with their variations, stability and trends can only serve to raise a flag that says “Look deeper here … what is going on?”

TAKE AN ACTION! THE FIRST STEP IS CONNECTING. info@devspark.lt