This website uses cookies. By continuing to browse the site, you are agreeing to our use of cookies
Cloud
January 31, 2020
In this fourth blog of the series, we will have an informative discussion on how we can achieve capacity planning for sprints.
Our decades of agile practice experience have shown us that most of the agile projects lose out on their committed goals as they are under-committing or over-committing to work in sprints. This leads to scope variance and takes up a good chunk of time in retrospectives of understanding the causes leading to such situations.
The key to avoid such pitfalls and plan better is capacity planning. Teams tend to overlook this critical aspect, which further derails the entire model of all agile frameworks. The diagrammatic representation, Figure 1 shown below depicts different aspects of capacity planning.
Capacity Planning helps teams understand how many story points they are likely to accomplish within a sprint. This planning considers the company’s time off, team members’ personal time off and commitments that could impact the time available for productive project work. Better planning leads to better anticipation of challenges with regards to resource availability and time constraints. It further helps optimize resource’ bandwidth, thereby improving commitment and reliability.
Team velocity is based on actual story points completed in a closed sprint while team’s capacity is based on team’s estimated or projected future availability for the next sprint. From a planning perspective, velocity can be used to determine the number of product backlog items development team could bring into next sprint while maintaining a consistent burndown rate. Capacity helps in understanding the development team’s availability for upcoming sprints and the number of backlog items that the team can really bring in, based on the available capacity.
Though both velocity and capacity have their respective importance in planning, the success of a team is based upon the value it delivers.
A simple yet effective capacity planning can be done by breaking down the tasks into easy steps:
Step 1
Consider the sprint duration, total development team members, workdays in the sprint and business hours per day at client location to know the total hours (A) per team member in the sprint.
Step 2
Interpret the percentage availability per day, per development team member or percentage allocation of a development team member to the project and then calculate the individual hours available in the sprint. This will help calculate the team total (B) as follows:
B = Σ (A * Percent availability) 1 to n where n = total development team members
This calculation will also cover influences based on productivity and any unplanned unavailability in the sprint.
Step3
Calculate planned activity hours (C) that would be otherwise unavailable due to planned activities like public holidays, personal leaves and time invested in Agile ceremonies e.g. scrum or XP and planned meetings during the sprint.
Step 4
Consider the amount of ‘To Be Done’ work in hours (D) that would be taken in from to-be-completed/past sprint to the next planned sprint.
Step 5
Thus, the net capacity in hours would be E = B – (C + D)
Step 6
Capacity in story points (F) would be as under:
F = (E / hours required to complete 1 ideal story point) where hours for 1 ideal story point can be found by brain storming within scrum or other Agile framework team e.g. XP or based on past sprint data.
Use of appropriate tool for capacity planning helps to do the capacity planning faster. Sample tool for capacity planning.
Image Placeholder for the image from the excel
This capacity plan is to be used by agile projects during iteration planning to plan for the number of story points based on the team availability
Image of the tool for capacity planning without the dates and information. Explanation in the image should indicate that as per the data or dates specified the planned estimates are calculated and presented as a plan.
In a sprint, Stretch Objectives should be encouraged, as there is a high probability of achieving these to the extent where available capacity is not drastically over-exceeded. Else, it would just result in scope variance and unfinished work to be completed in the next sprint. It should be noted that 2% to 5% above capacity is an ideal scenario for Stretch Objectives.
To summarize, capacity planning for sprints is the process of determining the amount of work a team can deliver in a sprint and towards completion of product backlog items. Capacity is the maximum amount of work a team can deliver in a given sprint.
Proper capacity planning helps to avoid over or under commitments and brings in a consistency in delivering optimally efficient delivery. As rightly depicted in the Figure 2 above, the prime objective of capacity planning is to maintain the proper balance between team capacity and story points committed in the sprint.
About the Author
Suhas Mali
Read more
Every outcome starts with a conversation