Jul
20
What is Velocity on Agile or SCRUM projects?
Velocity is a term that is used very regularly in the Agile world, so let’s talk about it……
Dictionary Definition
Back in high school science class, we were told that velocity is the “rate at which an object changes its position”. Now, I was always pretty sure that this is what laymen referred to as “speed”, but speed has no concept of direction (I just checked wikipedia). So you could drive your car around and around in a circle as fast as possible, but as you always come back to where you started, your velocity will be zero.
So let’s now say you are driving down a nice open highway, heading north at 100 km/hour. In an hour, you will travel 100 kilometers in a northerly direction, so this is your velocity – 100 kilometers per hour.
Disclaimer – I am not a Scientist or at all into Physics, so please correct my definiton in the comments!
Agile Definition
The Agile Defintion is much easier!
Breaking your project into Iterations and getting regular feedback on the iteration is the essence of Agile. In simple terms, velocity in an agile world is the amount of work that you can do in each iteration. This is based on experience from previous iterations.
In order to get to an actual number, you need to look at the estimates from your previous iterations.
So let’s say you had the following stories and estimates below;
- Story 1 – 2 Days – As a Manager, I want to see all Sales for the month, to aid in planning.
- Story 2 – 3 Days – As a User, I need to change my password, to protect me from fraud.
- Story 3 – 1 Day – As a User, I want to see all previous purchases, so it is easy for me to reorder.
In total, you estimated that 5 days of development was required to complete the iteration. So in this example, your velocity will be 5.
NB// SCRUM recommends using story points to estimate, rather than days. We will discuss this in another blog!
So why is it important?
After you do a few iterations, you will become better at estimating and your velocity should start to stabilize. With a stable velocity, planning releases and iterations becomes much easier. Management and the business are also loads happier as you are delivering standard size iterations with less surprises.