Agile team members work together to groom, plan, commit, and deliver work every sprint. The number of story points that a team delivers in a sprint is known as velocity.
Velocity is thus a measure of the speed (ideally, expressed in story points) at which an agile team delivers work every sprint.
Who invented velocity in Agile?
Velocity was invented or created to help the teams feel empowered and self organized.
Ron Jeffries, one of the 3 founders of XP (extreme programming) explains that the concept of estimating using “ideal days” got confusing to people. An “ideal day” is defined as a day of work without any disruption.
Acknowledging disruption, they would multiply “ideal days” estimate by a “load factor” to translate the (ideal) effort to real (time) effort. So, an effort of 1 “ideal” day” with a “load factor” of 3, would mean 3 ''regular`` or ''real`` days of effort.
However, while continuing to estimate using “ideal” days, the word “ideal” was ignored (not spelt out) but assumed in the team discussions and stakeholders failed to catch that.
You can imagine how it could have created confusion when a team was estimating 1 “ideal day” (but actually meaning 3 real days) of effort, and stakeholders assuming it to be 1 day of effort but not finding work complete on time and complaining about it!
This is where Ron and team started using points instead of days referring to 3 “ideal days” as 3 points and meaning 9 days of effort and so on…
Thus a team finishing a certain amount of points in a timeboxed period came to be known as velocity (speed)
Wise use of velocity
Velocity is an important metric, if used wisely and understood properly. Unwise use or abuse of velocity creates issues and leads to teams and leaders wanting to avoid using it.
Velocity numbers may increase organically as a team becomes stable in its composition and consistently grooms, estimates, and swarms together. Such an increase in velocity should be a welcome thing.
When teams are pushed for increasing their velocity or velocities are compared between teams, it can create wrong habits and anti-patterns.
This is where teams sometimes start what is known as "story point bloating" (Giving more points to stories to show an increase in velocity).
This is one of the sad things to happen and contributes to fake Agile and people wanting to avoid Agile and Scrum
For teams that swarm together and work to finish their team commitment as a unit ("All committed work is 'our' work and not mine vs. yours"), their process efficiency increases and may lead to an organic increase in velocity.
Such an increase in velocity is a win-win as it shows the value of Agile done wisely and brings value to teams, users and customers.
You will notice that for most teams the average process efficiency is quite low (less than 5-10% or lower)
Even a 10% increase in process efficiency can have a good impact on velocity.
Stable velocity and high predictability are important ingredients of an Agile release plan
How velocity is misused and abused?
A good team works to establish a stable velocity range along with high predictability. These are important ingredients for a team to plan their releases. The knowledge of previous (Sprint) velocities, along with clarity on (next Sprint) availability (team capacity) of team members helps the team plan better in the upcoming Sprint.
A number of factors can prevent a team from establishing a true and organic stable velocity range. Some of these factors are:
- Prevalent culture that disrupts the team’s committed work
- Prevalent culture that disrupts the team composition repeatedly
- Team members not estimating consistently as a team
- Lack of deeper understanding of Agile and Scrum values and principles
- Attitude of “we know it all” but failing to show it through actions
When leaders do not understand deeper agile values and principles, lack servant leadership, tend to track or compare velocities of teams, they create environments where teams feel unsafe, carry mistrust and fear.
This results in creating negative and unhealthy pressure which results in abuse of velocity. Teams feeling under pressure tend to manipulate the story points, to show higher velocity. This is indeed a sad thing to happen and is highly detrimental to the foundation of Agile
Leadership and management must be educated and coached to never compare velocity charts or numbers of teams in order to avoid slipping into the above habits and anti patterns
Velocity and Predictability
Predictability is defined as the number of points completed from the committed ones.
Like Velocity, Predictability can also be abused.
Remember, good teams use metrics to validate how effective they are instead of putting(fixing) data together to show great metrics!
Total committed points are usually committed towards the end of the Sprint planning meeting. A team that works effectively, is empowered and supported by their leaders and grooms, plans and commits as a unit is likely to complete most of its commitments.
When teams are not yet effective, it is common to see scope changing throughout a Sprint and even if the team may have finished “number” of points equal to what it committed during Sprint planning, they may not be the same stories (or story points) as planned due to the change of scope after Sprint started.
When such behavior repeats, it becomes a habit, and an anti-pattern. Eventually, the true meaning of predictability is lost and planning falls apart.
A good coach will work with the Scrum Master and developers to help them understand organic ways to account for unplanned work and may suggest using Kanban (instead of Scrum) if there is too much disruption to planned work repeatedly.
Teams that have swinging velocity will most probably struggle to have a high predictability consistently due to lack of ownership and accountability resulting in little collaboration and swarming
Velocity myths and facts
1. Is velocity the only way for making forecasts and planning releases?
Not really. Throughput, which is defined as “number of backlog items completed in a given timebox (such as a Sprint)” may also be used for planning and forecasting. However, the issue here is that “number of backlog items” are not always of the same size and so it tends to vary every Sprint.
When not enough items (due to their relatively larger sizes) make it to completion, it can cause teams feeling pressure which leads to sizing all work items to be of similar effort. This is called story sizing. Achieving accuracy with this is not an easy task either.
However, one does not need to estimate using planning poker or use story points and velocity. Moreover, it’s difficult to imagine a large number of items to be “story sized” for planning releases based on throughput. I haven’t seen that yet
2. Can velocity be improved continuously?
As explained elsewhere in this article, expecting teams to continuously improve on achieving more story points is unrealistic. It can lead to serious anti-patterns.
Working on improving process efficiency and finding ways to increase effectiveness can have a positive impact. Wise Agile teams should focus on increasing the customer value(desired outcomes) and not outputs (velocity)
3. Story points do not relate to time
Well, story points relate to time as explained here: How many hours does a Story Point equal to?. This is the only way one should associate story points to hours. Mapping 1 point to a fixed number of hours is incorrect. We do not precisely know how much complexity a story carries and so the effort is estimated relative to other stories
4. Any formula or a way (Sprint velocity calculator) to establish a team’s velocity?
Do not try to establish your team’s velocity through any formula. It will bring misery to you and your teams. Allow your team to work for a few Sprints and observe how much work they are able to complete.
Encourage, coach and support your team to establish proper pre-grooming, team grooming and Sprint planning sessions. Grooming value driven work items, estimating as a team, planning to their capacity and going all out (swarming) to complete committed work will help the team organically establish the velocity about which it can deliver work sustainably.
Velocity along with story points are useful if they are used wisely. The intent behind their use should be to measure and evaluate data to reflect upon and explore improvements which can help teams to plan, commit and deliver better - high value, high quality - faster
When the environment is not supportive and there are misguided leaders or managers who do not understand agility and organic ways to increase it, they mis-use velocity and put improper and unhealthy pressure on teams who then start abusing story points to show high velocity to appease the misguided leaders
Many teams then start to dislike story points and velocity and develop an aversion with Agile itself. Coaching, educating and training teams, management and executives on the right way to use these powerful tools and create safe environments that encourage teams to measure data for improvement is the way to go