Capacity planning helps to ensure that people are allocated optimally. This prevents both underutilization (where resources are idle) and overutilization (where resources are stretched too thin), which can lead to burnout, reduced quality of work, and inefficiencies.
In this process there are several roles involved:
Engineering Director: has the final accountability to decide which positions to open and how to allocate people BU leads: Provide the right context regarding customer demand and needs Recruiting: Report the status of Hiring funnel and take input to open new positions Sales: Understand the overall capacity situation to understand if they can push or not on customer side
Principles
The capacity planning has several goals and need to balance different needs:
Customer Satisfaction We always try to make the customer happy and provide the best resources we have in the shortest time possible. Some time is not possible, so in case we have limited availale resources we need to choose carefully on which customer we want to allocate them to maximize the overall customer satisfaction. The engineering director needs to know if there are cirtical situations and which would be the consequences of not allocating the resources they need.
Financial Health Overall we have financial targets deriving from volume, efficiency and gross margin we can handle. When we decide where to allocate resources, we need to keep in consideration the margin we have on each customer. If there are the right context conditions we always prefer to allocate resources on customer with higher margins or where we foresee more potential growth
People Growth When we define in which projects people go, we keep in consideration if for them will be the right environment to growth. If instead we need to hire someone, we need to be sure we will hire people that we can coach and we can evaluate during the interview. For example we are not going to hire a specialized person on BPM, because we don't have the skills to evaluate, coach him/her and create a growth path.
Delivery Quality We always keep in mind the delivery quality we want to provide to the customer, ensuring there will be a good mix o seniority and technical skills to deliver the project with high quality
Seniority Balance Overall in Agile Lab we aim to keep a seniority ratio of 30%. When we define hiring needs we keep this factor in consideration. All the customers want to have senior people at low price, but it is simply not possible, so we need to find the right balance to keep the global and local ratio of senior close to our target
Contractors Balance Because the hiring process to find the right people could require lot of time, in certain situations we prefer to rely on contractors. The Engineering Director define the strategy to balance contractors vs employees, based on several drivers: speed in recruiting, cost balance and willingness to invest in certain areas. For example for a specific project we need to provide a FrontEnd developer, we tipically prefer to get a contractor instead of hiring an internal one, because investng in FrontEnd skills is not in our Tech Strategy ( at the moment ).
The Process
This is a continuous process, never ending. Every two weeks there is a capacity planning meeting where the goal is take decisions and set strategies, all the roles involved should participate.
All the BU Leads and Sales people should arrive at the meeting with their customer needs in terms of number of people, skills, probability and expected due date. The BU Leads also need to highlight if there are people that are about to finish projects and from which date they will be available.
The Engineering Director before the meeting update the forecast capacity, highlighting when new people will join Agile Lab, what skills they have and their seniority.
During the meeting foreach customer need we try to find a solution, with several possible actions to take:
- Allocate one person to the specific BU
- Exchange of people between BUs
- Open a new position to hire ( specifying skills and seniority)
- Involve partners to provide contractors
All these decisions are shared but taken by the Engineering Director considering all the drivers mentioned before.
The Recruiting function after the meeting open the specific positions or start to contact partners to get the needed contractors.