If you are in the Information Technology (IT) industry, timeline along with quality is something that is at the heart of its existence. Here, just one team member missing out on his or her individual deadline will jeopardize the entire project. This makes it highly significant for a Project Manager or a Scrum Master to be in complete control of their team deliverables. And that can only be possible with the implementation of effective Agile Capacity Planning.
Understanding Agile Planning
Agile planning as you know is a method for project planning that makes estimations of work using independent work units called sprints or iterations. While sprints constitute a period of 1-3 weeks in which a team focuses on accomplishing a small set of work items, the process defines the items that are to be done in each sprint. This is while creating a recurring process, to help teams learn how much can be achieved by them during that period.
Each sprint begins with an Agile team being presented with a set of user stories. These stories define feature requirements from the target user’s point of view. Scrum teams are often seen facing this challenge of sprint commitments during sprint planning.
At the same time, capacity planning refers to making an estimation and capacity of your Agile team using mainly 2 indicators – Story Point (simple way to calculate velocity) and Hours (to calculate the available bandwidth or hours) for the Sprint.
In short, capacity planning helps a team comprehend the number of story points they are likely to accomplish within a sprint, while taking into account the time taken off for both professional and personal need. Besides, it takes into account the commitments that impact the total time available for productive project work.
Beyond Traditional Project Planning
It is true that project planning and execution is many a times left to the knowledge and wisdom of the Project Manager. This means the project manager may choose to go by his/her gut feeling or experience, in dealing with a similar situation. However, this may not be the best practice to follow. It might rather be unproductive in case you are a Beginner and the project is for the first time in Agile or you are for the first time playing a scrum master.
It is very natural for scrum masters to face difficulties during the initial days of implementing Agile Capacity Planning. One of the best ways of learning the rules of this highly specialized skill and hone it to perfection is, to start by reading a lot of information available on the Internet around capacity planning. You may even try to document your learning process, so that you can inspire another Beginner with a blog as this one.
Here are some of the knowledge points gathered while accomplishing the skills of effective Agile Capacity Planning.
- Calculating the number of Team members and their skillset
- Size of the sprint/iteration
- Any holidays or planned leaves
- Planned Agile ceremonies
- Overall productivity of each team member
Understanding Agile Capacity Planning and Implementation
One of the prime benefits of Capacity Planning is that it helps your Agile team to estimate the accessible bandwidth, which they can commit so as to complete user stories. As discussed about the 2 indicators above – story point and hours, Hours is the most preferred way used by scrum masters to estimate capacity by hours, besides map task of dedicated user stories. One can get this done at an individual capacity and that too within his/her estimated task hours assigned to them. This is a simple way the team can identify the limit of pledging user story in Sprint Planning.
In the below template, there are 5 team members associated with their respective skillset. You can see their productive hours that is available for the sprint, and is gradually calculated over a fixed timeline.
Now, if you look at the simple maths behind deriving the available hours for the sprint.
[Please note: These available hours are productive hours so this would indirectly help you understand how an individual is performing in case of any deviation noticed during the sprint].
– Firstly, it is vital that the total number of days for the sprint is defined and holidays and planned leaves of the team member(s) are identified accordingly.
- Formula:d = a-b-c
– Make a note of the team members who are part of multiple projects, OR play multiple role within the team. This is to take into consideration their respective billing percentage/contribution in the project.
- Formula:f = d*e
– Since multiple Agile ceremonies are planned (e.g. Grooming, Retro, Demo, etc.) now within the sprint, it is equally important for those hours to get excluded from the above output(f)
- Formula:h = f-g
– Last but not least, research shows that productivity of an employee is not 8 hours a day but it is always less (~0.8 to 0.9) within the estimated 8 working hours taken into consideration. This is very important indicator to consider when capacity planning your task. Ignoring this factor may lead to a spill over of the story OR result in over-commitment to the customer. This won’t be a pleasant scenario to handle, isn’t it?
So, make sure you consider this value and that way you will arrive at the final productive available hours for the sprint per team member. Please note that in the example above, for project team members who are senior and experienced, their productivity is considered as 0.9 and the team member who is junior and less experienced, the productivity is considered as 0.8
- Formula:j = h*i
Hopefully, this clarifies the Story Point vs. Hours debate. Because after getting the above number (j), you must have realized that it is good to have hours per technology-wise (or skillset-wise) thus, skill wise hours are just summed up,
Here you go…
You have just identified the best possible expected and productive hours of your team in no time. There are other technique(s) in the market like Focus Factor (0.6 – 0.8) to derive the real capacity of the sprint, and those can also be used as an alternative, as per the demands of a project.
In Agile, there are several ways to get the story calculated in the “story point”, This is mostly the Fibonacci series unlike traditional calculation in hours. However, it is found to vary from team to team as there is no defined formula through which estimation can be given (in the story point).
Now, to get this value, you simply need to do the below maths,
- Story points = Total available hours (Summation of j) / 8
Thereby, in the example shared above, total story point would be 30. That’s it! You can now use this value as your base for the future sprint(s) and analyze how the team is progressing.
Azilen Technologies has been a strong supporter of Agile Capacity Planning, and it has been highly effective in helping us derive the desired results for us and our clients. Not only has it helped streamline our process, it has also made team work seamless and better co-ordinated. If you have questions to ask our experts, post it in the comments below.