In simple words velocity determines the pace of progress of an Agile team. It’s measure of work completed by an agile team in a specific iteration (sprint). Work completed could be in different units such as Story points, Tasks or hours. Most commonly used unit is Story Point. At the beginning of each iteration, team estimates how much effort is needed to complete a task/user story. Let’s suppose there are 5 tasks selected for a particular sprint and effort to complete those tasks is 38 Story points. Each task was estimated with following story points.
- Task 1 : 3
- Task 2 : 8
- Task 3 : 13
- Task 4 : 1
- Task 5 : 13
At completion of the sprint the numbers of tasks completed were different than estimated. Team could only manage to complete 4 tasks (1,3,4 and 5). So total story points completed during the sprint was 30 (3+13+1+13). Since completed story points is 30, which describe the work completed during a sprint. Hence velocity of the sprint is also 30.
Question is why velocity is so important?
The reasons that Sprint Velocity has given so much importance in agile methodology are following.
- It measures the team’s work capacity.
- It measures the team progress
- It helps to estimate the time to complete the project
- Variation of team velocity across different project might indicate some issue with the project
- It helps to build tools using this information to monitor the progress of the project.
Here it is important to remember that every project has its own velocity. Velocity of one project should not be used to measure the progress of another one. In other words velocity cannot be used across the projects. The reason is that every project is different and might have different project members, circumstances, goals and dynamics. Applying velocity of one project to another one could provide the wrong estimate which ultimately can jeopardise the estimates and planning of the project.