Agile DevOps Part 4 – How to Perform Capacity Planning for Sprints?

Cloud

January 31, 2020

Capacity Planning in Agile DevOps!!

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.

Various aspects of capacity planning
Figure 1: Various aspects of capacity planning

Know the facts 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.

How is Team Capacity different from Team Velocity?

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.

Step-by-step Approach to Capacity Planning

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

Know your Tool – Assistance with Sprint Capacity Planning for Agile Framework (Scrum)

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.

Sprint Capacity Plan for Agile Scrum Projects Step by step Approach to Capacity Planning

Stretch Objectives – Purpose and Importance

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.

Capacity Planning – A brief summarization

 

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.

Objective of capacity planning
Figure 2: Objective of capacity planning

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

Suhas Mali

Suhas Hanumantrao Mali, Sr. Consultant – PMP, CSM, CSPO, SAFe Agilist, ITIL V4 Foundation, MS Azure Fundamentals – has over 20 years of IT experience out of which majority of experience is in Project Management, Pre Sales Solution Architect and Agile Coaching. Author has coached 1000+ Consultants in Hexaware and at Client locations, experienced in leading Enterprise Agile Transformations and Technology Migrations, experienced in coaching Business Teams, Product Owners, Scrum Masters and Development teams in Lean and Agile Frameworks.

Read more Read more image

Related Blogs

Every outcome starts with a conversation

Ready to Pursue Opportunity?

Connect Now

right arrow

ready_to_pursue
Ready to Pursue Opportunity?

Every outcome starts with a conversation