Accuracy vs Precision: Rethinking Resource Capacity Planning
Rethinking resource capacity planning has garnered significant focus, and for compelling reasons - ensuring optimal utilization of resource has never been more important. Traditionally, individual-level capacity planning might seem logical in the pursuit of optimal resource allocation. However, when applied at enterprise scale, the pursuit of this granularity can be counter-productive. So, are the trade-offs justified? This article sheds light on the pitfalls of the traditional focus on individual-level capacity planning and advocates for the transformative power of team-centric capacity planning in the context of a broader agile strategy.
What is Individual-Level Resource Capacity Planning?
Individual-level resource capacity planning aims to assess and allocate the availability of each team member within an organization to various tasks and projects (or Epics and Stories) over a defined period, typically a week or month.
At face value this approach offers, offers granularity and control. But let's contextualize its application to better understand the challenges.
Let's consider hypothetical Hannah, our Python engineer. For the upcoming month, the organization wishes to gauge her available capacity and planned utilization. To achieve this, they must understand:
- How many hours/days she typically works in a given planning period
- Any holiday/vacation she may have planned
- Her individual work execution capability in the context of our estimation methodology. (i.e. if we estimate in story points, how many story points can Hannah typically complete in a given planning period)
- Hannah's specific skills in the context of the work that we might wish to assign her. Is her expertise focuses on Python, or does she have some DevOps expertise too?
- The typical accuracy of estimation for the work we are planning to assign to her
- A typical contingency we may (or may not) wish to include to account for inaccuracies in estimation or unforeseen work (e.g. bugs) that come up during delivery and execution.
A "Planning Period" refers to a designated duration of time, be it a week, sprint, month, program increment, quarter, or any other timeframe, chosen by an organization to structure, manage, and review its tasks and objectives. This flexible term adapts to various contexts, underscoring that the exact length isn't as vital as the consistent and strategic use of that period for planning and execution.
Why is this approach outdated and ineffective?
In Hannah's case, it might seem feasible to work all of this out, and capture all of the relevant data. But what happens when we attempt to implement this approach for an entire organization of hundreds or thousands of 'Hannahs'? With scale, maintaining precision becomes a painful, expensive data collation and analysis exercise that will inevitably be fraught with significant data quality issues.
We can summarise the challenges with Individual-Level Resource Capacity Planning as:
- Overly complex: Managing details, especially in organizations with a vast workforce, becomes a Herculean task.
- Volatile: Personal availabilities and task requirements can change, making real-time updates a challenge.
- Lacks Agility: This detailed method contrasts starkly with agile principles that champion adaptability and autonomy.
What is Team-Level Capacity Planning?
This approach focuses on the combined capacity of teams rather than on individual members. Instead of dissecting Hannah's every working hour over a month, we assess how much work her entire team can undertake within a specific timeframe. Trusting that teams can internally allocate work based on their collective understanding is the foundation of this method.
When we think about capacity in the enterprise organisation, we should be thinking initially at the Value Stream (or Division/Business Unit) level, and then down to the Team level. Simplicisitcally put:
Yes to - "Is the Mobile team under or over capacity in a given planning period?"
No to - "How many hours to Hannah have available for new work this month?"
Why is inherently more powerful?
This team-centric approach has inherent advantages, both in terms of simplicity and power. To begin with, the necessary data collection processes become considerably less onerous. Instead of chasing down every single resource in the organization to understand their individual commitments and constraints, leaders can concentrate on gathering insights at the team level. This not only reduces administrative overhead but also diminishes the opportunity for errors and omissions that inevitably creep in with overly granular data collection methods.
Moreover, as per the Law of Large Numbers (LLN), individual variations and uncertainties often cancel out when aggregated at a higher level, leading to a more predictable and stable estimate of capacity. By focusing on the collective capacity, leaders harness the inherent strength of the LLN, gaining accuracy without the need for precision.
This modern paradigm of enterprise capacity planning is, in essence, a strategic blend of empowerment and devolution of responsibility. Teams are trusted to have a keen understanding of their members' capabilities and are thus best positioned to allocate and manage work efficiently.
This approach enables Enterprise Leaders to embrace what they know they should already be doing - moving away from micromanagement and command and control control towards enablement , orchestration and empowerment. The modern enterprise leadership role is to set the broader objectives and then trust teams to deliver .
So in the context of rethinking resource capacity planning, team-based capacity planning is easier and more powerful - why would any organization approach this any other way?