With an objective to enable continuous learning and progression for our learners, PremierAgile curated several learning articles in the areas of Agile, Scrum, Product Ownership, Scaling, Agile Leadership, Tools & Frameworks, latest market trends, new innovations etc...
Disclaimer: The below-added terms are not Scrum practices, but are widely used by Scrum teams for planning purposes.
Many companies adopting Agile Methods begin with Scrum as Scrum is one of the most simple frameworks in Agile Methodology. Scrum helps companies deliver valuable products with many other benefits such as maximizing the business value, increased ROI, faster time to market, and enhanced productivity of the Scrum team. Often, Scrum may have many terminologies which may sound similar but are different. Organizations that have started using Scrum may get confused with these terms which could affect their productivity. The Scrum Master has to train the new Scrum team members about these terms and make the difference clear between these terms. One of the most common terms which the Scrum team may get confused about is “Capacity” and “Velocity”. In this article, we understand the difference between these terms and know how they are implemented during the product development process.
Scrum velocity refers to the total number of story points a Scrum team could deliver within an iteration. It is the rate at which the Developers can deliver business value in a given iteration. The Scrum velocity could be measured in terms of days, story points, ideal days, or hours. The team has a given definition of done which they aim to achieve by the end of the Sprint. If the team can deliver 30 story points within a Sprint, the Scrum velocity of the team is 30. To make it simple, Scrum Velocity is an estimate of how much progress the team has achieved in the past. When a team uses past performance to plan their upcoming Sprint, they are using the Scrum Velocity of the team.
Generally, the last three iterations are used to calculate the average velocity of the team. Hence, you have to take the story points of the past three Sprints that the team has completed, and add them and divide them by three. The average of these three Sprints would give an estimate of the basic velocity of the team. When you add more Sprints, the velocity measurement becomes accurate. When you get the story estimate, you can decide how much work you could take for the upcoming Sprint which is acceptable and realistic such that the team could complete the goal. Unless there are extreme and unavoidable circumstances, the estimate calculated could act as a baseline for the team members and a proper goal could be formed during the Sprint Planning. However, if the team is performing their first iteration, where they do not have past data to calculate the velocity, they use the following ways.
The basic rule to figure out a general Scrum Velocity for a team starting its first iteration is that they have to plan their initial velocity according to their preference. If you are taking an ideal programmer time then it also includes the time used for emails, meetings, designs, documentation, rework, collaboration, research, etc. Likewise, if you are using the actual time, you have to add enough time to buffer for standard project overhead and estimation inaccuracy. If you underestimate the velocity in your first iteration, more features will rise in the next iteration and if you overestimate, a few features will be removed in the next one. However, by the time of the second iteration, a baseline idea would be generated which could help the team members plan for the Sprint.
Burndown chart is also known as Velocity chart is a visual representation of Sprint velocity. It helps the team members to plan accordingly as it shows the time remaining to complete the planned User Stories for each day of the Sprint. The slope of the Burndown chart can help the team to predict how much time the team will take to complete the tasks in the Sprint. When the slope is extended along the X-axis, the time could be estimated. There are three basic burn-down strategies:
Capacity refers to the total number of hours the team is available and does not account for the quantity of work. In this method, the highest priority User Story is chosen by the team members and is broken down into smaller tasks. Each task is given an estimated number of hours that can be accommodated in the Scrum capacity. If any capacity is remaining, the next priority is chosen and the task is added to the Sprint. The task is chosen such that all of the Scrum Capacity is filled and there is no more capacity left.
The Scrum Capacity should be calculated in the following steps:
There are three main reasons where capacity-based planning is considered. They are:
Choosing a metric between these should not be a light decision as it can heavily impact the work process of the Scrum team. Metrics help in shaping the workflow of the team and allow them to view their success and failure. It also shows what your team will be thinking about while the development process. Do not get your team attached to the numbers and metrics as your team will resist those estimates and their morale will drop. Low morale leads to unhappier and unproductive teams. You should use Scrum capacity or velocity by keeping in the benefits and drawbacks of either of the planning methods. If the benefits overweigh the drawbacks, then it is the planning method that is suitable for your team. You should use these metrics to predict the future and should use them to criticize what happened in the past. Whichever metrics you use, the main aim should be on:
You should never bind time or performance in Scrum capacity or velocity as they are only metrics that are used for planning the upcoming Sprint. They are designed to make realistic estimates such that appropriate tasks could be chosen and completed. However, if you tie these metrics to absolute hours such as giving a developer-specific hour and not more, you cannot expect the Developer to give the best shot in their work. And in the worst scenario, if you are not satisfied with the Developers for not living up to your expectations and planning, then you encourage them to make conservative adjustments to their abilities.
Velocity and Capacity are metrics that help the Developers to estimate the tasks that could be completed in a particular Sprint. It should not be used as a metric to estimate the performance of the team members as it would lower their morale and also create unnecessary pressure during the development process. Both the metrics have their benefits and drawbacks. If you believe that these benefits would make a difference in your Scrum team and the drawbacks do not affect your team, then it may be the correct metric for you. Nevertheless, you have to keep in mind to not create an unnecessary environment of stress by strictly following the metrics among the team members. Your team members would not be happy and could not perform according to their full potential.