Capacity planning and capacity reporting in the Atlassian platform
The current approach from Atlassian
It is a little difficult to understand how Atlassian is approaching these things since they do not have a unified approach, as I see it. There is no real portfolio app in the Atlassian platform, even if both Plans and Align are trying to fill some gaps (but once again from the wrong perspective, in my opinion). People are split into multiple products (users, groups, teams...), and you have time in the form of time reporting and estimations, but as these are available in any form of values and not just time...
It is a mess.
It seems that the Jira team has its own ideas on capacity planning, and as often happens when you start bottom up, it is designed not from a budget perspective, but from a work assignment perspective. As you can see from the post in the Atlassian Community, this is a Jira space-focused approach, which makes no sense as Atlassian is focusing heavily on the Strategy collection, where this has no connection, as I understand it.
From my perspective, this has nothing to do with capacity, as this view, to me, is nothing more than a fancy way to show ASSIGNMENT. Not only are the values connected to an execution task, but they are also only showing assignment in this Jira space. This has nothing to do with capacity, and I can not for the life of me see how this will translate into anything useful across the organisation?
I have no idea what this has to do with capacity planning, but anytime I see words like "empowers teams", I know this comes from the wrong perspective.
Capacity planning is not a team-based activity only; it is mostly used in higher levels of the organisation to ensure investment projects can be properly funded and to report costs on those projects. I have led several projects, and I have never had any issues planning work based on the actual availability of my team or teams. This is a non-issue if you know what you are doing as a team lead or project manager.
What you need, which is severely missing in the Atlassian platform, and what we should have in the Strategy Collection, is global capacity planning and capacity reporting so we can manage project costs and do vendor management.
This solution is, in my opinion, not capacity planning, and to be honest, this feels more like a control tool than a capacity planning tool. You already have estimations, and Plans can assign work based on those values. The problem is that most teams can't estimate these days, so any form of planning based on bad data is just a waste of time... but that is a topic for another time.
What are my suggestions to get Capacity Planning in the Atlassian Platform?
The first thing I would do if I were working for Atlassian and was in charge of the Strategy Collection was to break down a few architectural core functions.
User - We have the User object defined fine, I think.
Team - One Team object in all apps. We are getting there, I think.
Budget - Does not exist today, and it needs to be defined as a new object type.
Capacity - Does not exist today, and it needs to be defined as a new object type.
If we start with this very simple structure, then we can start to define capacity and what we need to use it for.
What is capacity?
Capacity is not a very complicated concept. In relation to time, it is simply the available time. Nothing more, nothing less. In work related context, we assign capacity to individuals to represent the available time that the individual can work. For example, I would have a capacity of 8 hours daily as part of my full-time employment. This can then be used to plan work where the estimated time to produce something is matched against my time capacity.
Capacity has absolutely nothing to do with tasks or what work is actually being done; it is just the capacity an individual has available for work.
It is very simple.
What do we use Capacity for?
How we use capacity depends on what format the work is being done in, but in general, we need capacity for the following reasons:
Delivery Planning - we need to be able to anticipate and plan when work will be available to the end users.
Capacity Planning - we need to be able to foresee if key individuals are available and have capacity for future endeavors.
Prioritization - we need to know if the work we are considering has the ROI we desire, so we can prioritize work based on capacity and estimation against the generated value (often in multiple time spans)
Reporting Cost - we need to be able to report cost in projects and initiatives, which is based on the actual individual cost for everyone working in the project or initiative.
Vendor Management - we need to be able to foresee when we might need to contract vendors if our own workforce does not have the required capacity.
As you can probably tell, capacity is used for all forms of planning. In fact, you can't plan anything without knowing the capacity of individuals. This is why the Atlassian platform has always struggled to be a project management tool, as it lacks two of the three corners of the project triangle: Cost and Time. Yes, I know we have estimations, which is time, but without capacity, that value is actually useless. The only value we have in the Atlassian platform is the task execution times, which are NOT the same as the project times, unless you have tasks for everything in Jira (I know some teams that actually do this!), or you add time for things like meetings that eat up a lot of invisible time.
How would I set this up in the Atlassian Platform?
To use Capacity properly, I would set this up in two ways. The first would be on the user profile, which I think should be in Talent. There, a user's base capacity is defined based on their employment and their local calendar to fix their days off. In Talent, you should also have vacations and other absences, so the global capacity is owned by Talent. This is also where the users' salaries, or contractual costs, are set, connected to contracts that are in turn connected to a budget or investment.
Then I would create a new app for Budget and Portfolio management.
In this app, which should replace the current Projects feature that used to sit in Atlas, which is now in Home in a weird way, is where all the money in the organization is handled. In this app, I would define two basic objects.
Budget (OpEx) - for annual budgets that we use for continuous deliveries. This is what most teams and products work with daily.
Investment (CapEx) - this is for investment projects that have their own budgets with their own cadence, often handled across budgets in the organisation.
With these two objects, I can now assign a user to one or multiple budgets and/or investments. Each assignment would have a Capacity for that individual assigned to the budget or investment. As we would get the cost for the capacity of each individual and we would have access to all capacity assignments, we can easily manage budgets and align estimations towards planning in real time.
THIS is what capacity planning is all about.
On one hand, I can easily manage people on their user profiles in Talent if I have people management responsibilities. I can easily manage my budget if I have budget responsibility, and I can get the exact cost of work being done simply through estimation and an assignee. If I run a project, I can easily get financial information in the project, and I can instantly see the impact if someone is sick or leaves the project in both time and cost metrics.
At all times, anyone with access can see if a user is overallocated, and if you add functionality like skills, multi-assignment impact (if you work on multiple things at once), and if you have indicators for mentoring that cost time if you have new people in the team, and so on, then you will get very accurate predictions in real time.
That is assuming people learn how to estimate, and of course, if they log things properly in the tools... but that is again another topic.
It is time for a holistic approach to strategy in the Atlassian platform
As much as I love that Atlassian is even looking into individual capacity after 20+ years of ignoring it, I feel that they are missing a huge opportunity here. It does not require a ton of effort to move people from their Excel sheets or steal them from horrible Microsoft PM tools, but Atlassian has to get out of their teams-first mentality and start looking at the organisation first with a holistic approach.
If the organisation is doing well, so will the teams. If the teams fragment the organisation, everyone suffers.
Strategy is a crucial part of the Atlassian platform because it will not be the success it needs to be as a task management platform alone. There are far too many strong competitors in that segment, and as a serious work platform, it has to have a holistic approach to work in all organisational types. If Atlassian makes the wrong move today, I fear they will spend 10 years trying to rework what they build today to get on the correct path...
Strategy is where work begins, not in the tasks.