Velocity
What is Velocity?
The concept of Velocity emerged with the rise of Agile methodologies in the early 2000s, as teams sought more adaptive and empirical ways to plan and track progress compared to traditional, fixed-scope project management. It provides a tangible, data-driven way for teams to understand their capacity and improve their forecasting abilities without resorting to rigid, upfront planning.
The primary purpose of Velocity is to serve as a planning tool for the Development Team. By observing their historical Velocity over several Sprints, a team can better estimate how much work they can realistically commit to in upcoming Sprints. This empirical approach helps teams avoid overcommitment, leading to more sustainable work paces and more reliable delivery. It also aids Product Owners in making informed decisions about release planning and managing stakeholder expectations.
Velocity is important because it fosters predictability and transparency within the development process. It allows teams to self-organize more effectively by understanding their own capabilities. For stakeholders, it provides a clear, albeit internal, indicator of progress and helps in making data-informed decisions about product roadmaps and delivery timelines. It shifts the focus from individual output to collective team throughput, reinforcing the Agile principle of self-organizing teams.
Within the wider Agile knowledge graph, Velocity is closely related to Agile Planning & Estimation, as it relies on techniques like Story Points and is used in Sprint Planning and Release Planning. It is a core component of Agile Metrics & Reporting, often visualized using a Burndown Chart or Burnup Chart to track progress over time. While distinct, it often complements other metrics like Throughput (which counts items rather than estimated size) and contributes to a holistic understanding of a team's delivery capability. It is a metric that helps teams inspect and adapt, a cornerstone of empiricism in Scrum.
How It Works
Workflow for Calculating and Using Velocity
- Estimation: Before a Sprint begins, the Development Team estimates the size or complexity of Product Backlog items, typically using Story Points. This is a relative estimation technique, where items are sized in relation to each other, rather than in absolute time.
- Sprint Planning: During Sprint Planning, the team reviews their historical Velocity (e.g., the average of the last 3-5 Sprints). Based on this historical data and their current capacity, they select a realistic amount of work from the Product Backlog to commit to for the upcoming Sprint.
- Sprint Execution: The team works on the selected Product Backlog items during the Sprint.
- Definition of Done: At the end of the Sprint, only those Product Backlog items that fully meet the team's Definition of Done are considered "completed." This means they are potentially shippable and meet all quality criteria.
- Velocity Calculation: The Story Points for all completed Product Backlog items are summed up. This sum represents the team's Velocity for that specific Sprint. For example, if a team completes items with estimates of 3, 5, 8, and 2 Story Points, their Velocity for that Sprint is 18.
- Tracking and Averaging: This Velocity is recorded. Over time, a trend emerges. Teams often calculate an average Velocity over several Sprints (e.g., the last three to five Sprints) to smooth out fluctuations and provide a more stable basis for future planning.
- Forecasting: The average Velocity is then used to forecast how many Sprints it might take to complete a larger body of work (e.g., a Release or an Epic). If a team's average Velocity is 20 Story Points per Sprint, and an Epic is estimated at 100 Story Points, it would theoretically take 5 Sprints to complete.
Principles Guiding Velocity Usage
- Consistency: For Velocity to be a useful metric, the team's estimation practices and their Definition of Done must remain consistent. Changes in these areas can invalidate historical Velocity data.
- Team-Specific: Velocity is unique to a specific team. It cannot and should not be used to compare the productivity of different teams, as estimation scales and team contexts vary widely.
- Internal Tool: Velocity is primarily an internal planning and forecasting tool for the Development Team and Product Owner. While it provides transparency, it should not be used by external stakeholders as a performance target or a stick to drive teams harder.
- Focus on Trends: Individual Sprint Velocities can fluctuate due to various factors (e.g., holidays, unexpected issues). It is the trend of Velocity over multiple Sprints that provides valuable insights into a team's sustainable pace.
By adhering to these principles, teams can leverage Velocity as an effective empirical tool for planning, adaptation, and continuous improvement.
Key Concepts
Story Points
An abstract unit of measure used in Agile estimation to express the overall effort required to implement a Product Backlog item. Story Points typically encompass complexity, risk, and effort. They are relative, meaning a 5-point story is roughly twice the effort of a 3-point story, but the absolute time taken can vary.
Sprint
A time-box of one month or less during which a "Done," useable, and potentially releasable Product Increment is created. Sprints are at the heart of Scrum, providing a consistent rhythm for development and a fixed period over which Velocity is measured.
Definition of Done
A formal description of the state of the Increment when it meets the quality measures required for the product. Only Product Backlog items that meet this definition contribute to a team's Velocity, ensuring that only truly completed work is counted.
Forecasting
The act of predicting future outcomes based on historical data. Velocity is a primary input for forecasting how much work a team can complete in upcoming Sprints or how long it might take to deliver a larger set of features or a release.
Release Planning
A higher-level planning activity that uses a team's average Velocity to estimate how many Sprints will be needed to deliver a specific set of features or a product release. It helps Product Owners and stakeholders set realistic expectations for delivery timelines.
Sustainable Pace
The rate at which a team can consistently deliver high-quality work without burnout. Velocity, when used correctly, helps teams discover and maintain a sustainable pace, promoting long-term productivity and team well-being.
Practical Considerations
Benefits
- Improved Planning and Forecasting: Velocity provides empirical data for teams to make more accurate predictions about how much work they can complete in future Sprints and for release planning.
- Enhanced Transparency: It offers a clear, objective measure of a team's progress and capacity, fostering transparency within the team and with stakeholders.
- Supports Self-Organization: Teams can use their Velocity to confidently commit to a realistic amount of work during Sprint Planning, empowering them to manage their own workload.
- Identifies Trends: Tracking Velocity over time helps identify patterns, such as improvements in efficiency, changes in team capacity, or the impact of process changes.
- Facilitates Continuous Improvement: Fluctuations or changes in Velocity can prompt discussions during Sprint Retrospectives, leading to process adjustments and improvements.
Limitations
- Not a Productivity Measure: Velocity measures output, not outcome or value. A high Velocity doesn't necessarily mean the team is delivering the most valuable features.
- Team-Specific: Velocity is highly dependent on a team's unique estimation scale, Definition of Done, and context. It cannot be used to compare the performance of different teams.
- Can Be Misinterpreted or Gamed: If treated as a performance target, teams might inflate estimates or compromise quality to show higher Velocity, undermining its utility.
- Fluctuations: Velocity can naturally fluctuate due to various factors (e.g., holidays, new team members, technical debt, unexpected issues), making single-Sprint Velocity less reliable for forecasting.
- Requires Stable Teams: Significant changes in team composition (members joining or leaving) can drastically alter Velocity, making historical data less relevant.
Common Mistakes
- Comparing Velocities Across Teams: This is the most common and damaging misuse. Each team's Story Point scale is unique, making direct comparisons meaningless and often leading to unhealthy competition or pressure.
- Using Velocity as a Performance Metric for Individuals: Velocity is a team metric. Attributing it to individual performance undermines collaboration and the spirit of Agile.
- Pressuring Teams to Increase Velocity: Forcing teams to increase Velocity often leads to inflated estimates, reduced quality, or burnout, ultimately making the metric unreliable.
- Ignoring the Definition of Done: Counting items as "done" that don't meet the quality criteria inflates Velocity and creates technical debt.
- Changing Estimation Scales Frequently: Inconsistent estimation practices make historical Velocity data irrelevant for forecasting.
- Focusing Solely on Velocity: Neglecting other crucial metrics like quality, customer satisfaction, or value delivered can lead to a myopic view of success.
Real-world Examples
Consider a software development team, "Team Alpha," working on an e-commerce platform. Over their last five Sprints, their Velocity has been 25, 28, 22, 26, and 24 Story Points. Their average Velocity is approximately 25 Story Points per Sprint. When planning the next Sprint, Team Alpha can confidently pull around 25 Story Points of work from the Product Backlog. If the Product Owner has a new feature, "Guest Checkout," estimated at 75 Story Points, Team Alpha can forecast that it will take roughly three Sprints (75 / 25 = 3) to complete this feature, assuming no major changes or impediments.
Another example: "Team Beta" consistently delivers around 30 Story Points per Sprint. In one Sprint, a critical production issue arises, requiring several team members to drop their planned work. At the end of that Sprint, Team Beta only completes 10 Story Points. Instead of viewing this as a failure, the team uses this data point in their retrospective to discuss how to better handle interruptions or allocate capacity for unplanned work, understanding that Velocity reflects real-world challenges.
Best Practices
- Maintain a Consistent Definition of Done: Ensure all team members understand and adhere to the criteria for "done" to ensure accurate Velocity measurement.
- Keep Team Composition Stable: Minimize changes to team members to allow Velocity to stabilize and become a reliable indicator.
- Focus on Trends, Not Single Sprints: Use an average Velocity over several Sprints (e.g., 3-5) for planning, as individual Sprints can fluctuate.
- Use Velocity for Internal Planning: Primarily use Velocity as a tool for the Development Team and Product Owner to plan and forecast, not as an external performance benchmark.
- Combine with Other Metrics: Supplement Velocity with other metrics like Lead Time, Throughput, Defect Density, and customer satisfaction to get a holistic view of performance and value delivery.
- Regularly Inspect and Adapt: Use Sprint Retrospectives to discuss Velocity trends, identify impediments, and make adjustments to improve the team's process and predictability.
- Educate Stakeholders: Ensure that Product Owners and other stakeholders understand what Velocity represents and, more importantly, what it does not represent, to prevent misuse.
Frequently Asked Questions
- Is Velocity a measure of productivity?
- No, Velocity is a measure of a team's capacity and output in terms of estimated work completed. It does not directly measure productivity, which is about delivering value efficiently. A high Velocity doesn't guarantee high value or quality.
- Can Velocity be compared between different teams?
- Absolutely not. Velocity is unique to each team, based on their specific estimation scale, Definition of Done, and context. Comparing teams by Velocity is a common misuse that can lead to negative outcomes.
- How is Velocity calculated?
- Velocity is calculated by summing the Story Points (or other estimation units) of all Product Backlog items that are fully completed and meet the team's Definition of Done by the end of a Sprint.
- What if a team's Velocity fluctuates significantly?
- Fluctuations are normal. It's important to look at the trend over several Sprints (e.g., 3-5 Sprint average) rather than focusing on a single Sprint's Velocity. Significant, consistent changes should be discussed in retrospectives to understand the underlying causes.
- How can a team improve its Velocity?
- Velocity naturally improves as teams become more efficient, reduce impediments, improve their Definition of Done, and stabilize their processes. Focus on continuous improvement and removing blockers, rather than directly trying to "increase" the number.
- Is Velocity used in Kanban?
- While Velocity is primarily a Scrum metric, Kanban teams often use a similar concept called Throughput, which measures the number of items completed per unit of time, without necessarily relying on relative estimation units like Story Points.
Explore Related Topics
References & Further Reading
- Schwaber, K., & Sutherland, J. (2020). The Scrum Guide. Scrum.org & ScrumInc.
- Cohn, M. (2006). Agile Estimating and Planning. Prentice Hall.
- Highsmith, J. (2001). Manifesto for Agile Software Development.
- Larman, C., & Basili, V. R. (2003). Iterative and Incremental Development: A Brief History. Computer, 36(6), 47-56.
- Kniberg, H. (2007). Scrum and XP from the Trenches. InfoQ.