How to Improve Your Agile Team’s Capacity Planning
Agile Team Capacity
In delivering technology advancements, we often find that the demand for new functionality typically outweighs our team’s capacity. The following will equip you with tools to accomplish agile capacity planning with your agile teams, including the outcomes you can expect from capacity based sprint planning.
In this post, you’ll learn about the main benefits and challenges experienced with agile capacity planning. We’ll also share a worksheet for capacity based sprint planning which will ultimately help you in arriving at your team’s sprint velocity.
Establishing Agile Capacity
First, the agile team quantifies its capacity to perform work in the upcoming iteration.
Each team member determines their availability, acknowledging time off and taking into account other standing commitments such as maintenance or tech debt stories distinct from new story development.
Using historical team velocity (or a specified # of story points/team members doing the work) as a starting point, the development team then makes adjustments on the unavailable time for each team member to determine the actual capacity for the iteration.
When the agile team is new and historical velocity is not yet known, team capacity can be determined utilizing the following approach:
- Give the agile team 8 points for every full-time developer and tester on the team,
- Then subtract one point for every team member’s vacation day and holiday in the iteration.
Note: Agile Capacity Planning is especially important prior to Program Increment (PI) planning, where team capacity is documented for each iteration within the upcoming 3-month program increment duration. This prepares a team to keep their planned work within available capacity during PI planning.
Benefits and Challenges of Capacity Based Sprint Planning
While agile capacity planning with our teams presents long-term benefits, it is not without its challenges to overcome.
Benefits of Effective capacity planning
- Agile teams create and take responsibility for plans, transforming unpredictable delivery into predictable delivery where team iteration load does not exceed available team capacity.
- Provides for more efficient use of resources, creating an empowered team with the bandwidth to accomplish what they’ve signed up for.
Challenges to perform capacity planning
- Balancing desire for an ‘I want it all now’ mentality with respect for what team members actually have capacity to accomplish.
- Demand doesn’t usually match capacity; continually watching excess work in progress (WIP) is key for bringing forward learning and adjustments for your team’s next iteration.
Supporting Team Capacity in your Organization
In a sprint planning meeting, you can support team capacity as a leader in the organization by:
- Supporting investments in agile capacity planning for maintenance and to reduce technical debt.
- Helping to adjust the scope to ensure demand matches available team agile capacity.
As a Team Facilitator or Scrum Master, you can support team capacity by:
- Conducting Iteration Planning prior to starting each iteration, where your team determines their iteration goals based on how much of the team’s backlog they can commit to during the upcoming iteration.
- Remembering your ‘tech debt reserve‘ and let your team’s capacity determine the number of new functionality stories and enablers that are selected.
Balancing Your Team’s Load
The following agile capacity planning worksheet provides you with a means to provide visibility in balancing your team’s capacity with their workload.
Another benefit in utilizing this agile capacity planning worksheet comes in tracking your team’s completed work, as after three iterations you arrive at your team velocity. Going forward, your measurement of team velocity can be used as a starting point for calculating your team’s capacity for future iterations in software development.
Note: A team’s velocity may increase over time, but is far more likely to be affected by changing team size and technical context.
Agile capacity planning effectively is a journey and one that your development team will thank you for.