“Responding to change over following a plan” is the fourth pillar of the agile manifesto. It summarizes what it means to be ‘agile,’ expecting teams to embrace change and evolve dynamically with changing business demands.
This means you need team members and managers who adapt to change and have the skills and capabilities to pivot when the situation demands it. Agile capacity planning helps with that.
- What is Agile Capacity Planning?
- Benefits and Importance of Agile Capacity Planning
- Challenges of Agile Capacity Planning
- How to Calculate Capacity in Agile
- How to Perform Effective Agile Capacity Planning
What is Agile Capacity Planning?
Agile capacity planning is the process of evaluating the amount of productive time available in each sprint. Project managers use agile capacity planning to schedule work and manage software delivery.
An agile capacity plan is a function of the following.
- Length of the sprint: Typically two weeks or ten working days
- Size of the team: Number of team members available for the sprint
- Availability of the team: Number of hours team members are available, deducting any vacation and holidays
- Utilization rate: Time when the team can work on the goals of the sprint, typically 0.6-0.8
If you’re overwhelmed by all the terminology, here is a handy glossary of agile scrum terms.
While agile as a methodology began as a software development practice, it has recently been embraced by teams across the spectrum. Digital agencies, content writing teams, e-commerce businesses, etc., use agile methodologies such as Kanban or Scrum for effective service delivery.
If you’re a non-software development project manager looking to adopt agile practices, ClickUp’s Agile Project Management template is a great place to start.
You can use the included form to streamline requests into the backlog, use the sprints to execute tasks and run agile ceremonies like standups and retrospectives, all within ClickUp.
Team Capacity vs Team Velocity in Agile
Team capacity and team velocity are two critical metrics agile software development teams use.
Team capacity refers to the number of development hours available per sprint. Team velocity refers to the number of story points a team can develop in each sprint.
Based on the team velocity delivered in the past, an agile project manager or scrum master estimates future capacity and schedules user stories for developers.
Benefits and Importance of Agile Capacity Planning
Agile software development demands clarity in chaos. Even as the business requirements evolve, a scrum team adapts and continues without losing momentum. Capacity-based sprint planning ensures this.
Reliable software delivery: With accurate capacity planning, agile teams can forecast engineering efforts better, creating more predictability. So, they make achievable commitments and deliver what they promised.
Improved trust: When software delivery is reliable and predictable, there is higher trust between business and engineering teams. This fosters collaboration and innovation.
Better software quality: Agile capacity planning sets a structure for what can be reasonably achieved in each sprint. This ensures that teams don’t cut corners and follow best practices.
Accurate budget management: When project managers can accurately forecast the team’s capacity, they can also manage their resources and budgets more efficiently. If you’re using a project management tool like ClickUp, budgets and expense reports can also be auto-calculated based on capacity utilization data.
Improved team morale: Capacity planning is performed based on team members’ availability during each sprint. Team members show higher commitment and engagement with the project as they choose how much work they can do.
Process improvement: Insights from capacity planning also serve various process improvement methodologies. They help evaluate performance, productivity, and quality of the team’s work, building cumulative efficiencies over time.
Good agile capacity planning benefits every stakeholder involved in the project. It helps project managers steer the delivery in the right direction and maintain commitment. It supports team members in performing to their full potential. Most importantly, it builds trust and dependability for the engineering team among business stakeholders.
An activity so critical to the success of a software development project is not without its challenges. Let’s explore some and see how you can overcome them.
Challenges of Agile Capacity Planning
While it looks simple in the face of it, agile capacity planning involves a wide range of factors that need to be accurately estimated beforehand. Some key variables that can affect agile capacity planning are as follows.
Team stability: For agile capacity planning to be effective, you need a consistent team. If you have a capacity of 40 hours in one sprint and 400 hours in another, none of the benefits can be realized.
Individual productivity: The skills and productivity of team members can vary widely. A trainee might need 10 hours to complete a task that an experienced hand can get done in 10 minutes. In essence, not all engineering hours or individual capacities are created equal.
Utilization rate: The utilization rate—sometimes known as the focus factor—estimates what part of the team’s work hours to stay focused on the sprint. While this is a reasonable estimate, it can vary. For instance, the last sprint of the calendar year might have a lesser utilization considering the upcoming holiday season.
Scalability: Within a small team, agile capacity planning is simple. However, in a large organization that needs to plan capacity across multiple teams, collecting the right data and forecasting can be challenging.
Relative values: Capacity is typically measured in hours, which is an absolute. However, team velocity and task allocation are often done in relative values such as story points. Reconciling the two encounters differences of opinion.
Agile teams need the right combination of tools and processes to overcome these challenges. Here are some frameworks to help.
How to Calculate Capacity in Agile
In its simplest form, agile capacity = Sprint duration x team availability x utilization rate. A free project management software or a spreadsheet can help you make this calculation.
However, it is not always straightforward. Each of these variables might have other contributing factors. We explore them below and show examples.
Sprint duration: Sprint duration is the number of days allocated to each iteration. A typical sprint can be two or four weeks long, though two weeks is more popular. Not counting holidays and other external factors, a typical sprint has ten working days.
Team availability: Team availability is a function of the number of team members, work hours per day, commitment to other projects, meetings, and other off-work activities, and absences, if any.
Availability = no. of team members x (working hours – off-work time – absences)
Utilization rate: It is unreasonable to expect team members to work 100% of the time on the user stories assigned to them. They need their creative breaks, collaborative meetings, etc. Project managers estimate 80% utilization with an experienced team or 60% with fresh graduates or new team members.
Let’s see how this formula works in practice.
Example scenario one
Let’s say you have a team of 10 working 8-hour days on a 10-day sprint.
Your agile capacity for the next sprint would be 10 (sprint duration) x 10 (team size) x 8 (team availability) x 80% (utilization rate), which is 640 hours.
Example scenario two
Let’s say you have a team of five full-time developers working 8-hour days and five part-time consultants working 3-hour days. Out of them, one full-time developer is on leave for one week.
In this case, your agile capacity for a two-week sprint would be as follows.
- Team availability: [4 (full-time developers) x 8 (hours) + 5 (part-time developers) x 3 (hours) x 10 (working days)] + [1 (full-time developer) x 8 (hours) x 5 (working days)]
- Utilization rate: 80%
Capacity = 408 hours
As the team gets larger, availability gets influenced by other factors, and capacity planning can get infinitely complex. Here’s how you can ensure you perform effective agile capacity planning with the right tools.
How to Perform Effective Agile Capacity Planning
Effective agile capacity planning involves several steps that can vary widely based on a number of factors. Here is a framework using an agile project management tool that will help you get started.
New to agile project management? Here are ten agile templates for your projects to give you the foundation and data for effective capacity planning.
Prepare for the next sprint
The best time to plan capacity is during the sprint planning meeting. Before you plan capacity, identify the backlog items you plan to work on and prioritize them. You can start your process greenfield or use one of the many capacity planning templates to guide you through the process.
If you’re using a project management tool like ClickUp, you would have mapped the entire product lifecycle, including all the stories. You can look at your backlog items, evaluate their status, and choose the right ones for your next sprint. This would give you an idea of the total capacity you will likely need.
Template to capture employee workload for an agile team
With ClickUp’s Employee Workload Template, you can set expectations and plan tasks so that no one is overwhelmed or underprepared. Efficiently manage team workload and plan upcoming sprints with this template.
Identify skills you need
Before you see what capacity you have, determine what you need. Depending on the stories you’ve picked, you might need x number of developers, y quality analysts, and z business analysts.
Make these calculations and identify the exact profiles of the team members you need.
Lock the sprint duration
Based on the backlog items you’ve identified, decide how long the next sprint will be. Remove any holidays or other team/org-wide days off from this calculation.
Understand team availability
No sprint is a fresh slate. Ongoing projects always have carryovers from previous sprints, and team members might have to work on other projects. Accurately calculate team availability for the next sprint.
When you use ClickUp to manage your team’s work, their past productivity and future availability are instantly accessible. The Workload view lets you see time estimates, tasks completed, tasks open, sprint points, etc.
When each team member inputs their vacation/leave plans to ClickUp, you can also accurately capture their availability for project planning.
You can also automatically calculate team availability with advanced formulas in ClickUp custom fields.
Set up the sprint on ClickUp
Use ClickUp tasks to set up every item as part of your sprint. Use the task view to detail the user story, leave comments, assign priority, add tags, or any other custom field you might need.
Based on the data from the past, add an estimated time for each task to ensure it can be completed within the sprint. Then, set start/end dates and dependencies.
Get team commitment
Self-organizing agile teams like autonomy. So, instead of assigning tasks to your team members, call for a meeting and encourage them to commit to their availability. Let them assign tasks to themselves and resolve any issues in the process.
Confirm you’re all set
Once your entire sprint is set up on ClickUp and tasks assigned, it’s time to ensure your team can complete them.
Rationalize workload: The project workload view helps see resource allocation across all team members, from where you can add/remove tasks based on utilization. If someone is in red, i.e., over-capacity, remove tasks from their list and evaluate their delivery velocity. For those who are under capacity, you might add sprint tasks.
Streamline timelines: Use the ClickUp Gantt chart view to organize sprints and manage milestones. See dependencies and connected tasks to make sure they can be completed. Easily make updates to address blockers and shifting timelines.
Increase utilization with automation: You can free up the capacity of your resources by eliminating repetitive admin tasks from their pipeline. Use ClickUp Automations to assign tasks, post comments, and move statuses. Choose from any of the 100+ customizable automations, including integrations with tools like GitHub and Sentry.
Stay agile all along
It is common for new stories to be added to a sprint or a team member to fall sick, adversely affecting capacity. A truly agile team can adapt to these events and still deliver quality software on time and budget.
To achieve this, project managers must:
- Review work completed every day
- Ensure capacity is available as per plan or adjust workload accordingly
- Facilitate communication among team members to ensure seamless handoffs
- Encourage team members to update all data to keep reporting up-to-date
- Identify more tasks/activities that can be automated to improve efficiency
- Gather ideas for process optimization for the next sprint
Build a Truly Agile Capacity Planning Practice with ClickUp
Agile projects don’t always go as planned. By definition, agile methodologies favor adapting to change rather than following a plan. This holds true for capacity planning as well. As an agile team project manager, you need to be ready to change, evolve, or pivot your capacity planning strategy.
Whether it is a personal emergency of an individual team member or the total unavailability of a team stuck in another project under crisis, you must always be prepared with alternatives.
ClickUp’s comprehensive project management software gives you the flexibility and visibility to stay agile. With ClickUp, you can always have a tab on your team’s availability, performance, productivity, progress, and more. Plan and execute your agile projects effortlessly. Try ClickUp for free today.