How often do you face the following questions?
- When can you get this done?
- What’s the team capacity?
- How many features can you get per sprint?
- How do we increase our capacity so we can accelerate?
Be careful how you answer such questions. It’s easy to fall into traps.
For example, you might use velocity and some magic spreadsheets, create a plan, and share it with everyone. Deep down, you may even realize the plan is an illusion. When things don’t go according to plan, everyone gets mad at you.
Should you ignore capacity planning altogether and decline to make any promises on output?
Some agile purists get enraged when they hear words like “plan” and “capacity.” That’s why they insist on making no promises. That’s all well and good in theory, but “we’ll get to it when we get to it” rarely cuts it in business.
I’ve worked with several teams in the digital product world for more than a decade. When I faced these challenges, sometimes I got it wrong and sometimes I got it right. In this guide, I’ll share what I’ve learned about capacity planning over the years.
Table of contents
- What is capacity planning?
- Complex vs. complicated systems
- Why traditional capacity planning won’t work with agile
- A 4-step framework for capacity planning
- Focus on what creates value
What is capacity planning?
Capacity planning is a process by which project managers take stock of available resources and determine what’s required to bring value to a project or sprint.
Capacity refers to the amount of work a team is capable of completing within a given time frame.
Before we outline a 4-step process to help you determine your team’s capacity without compromising on the value it delivers, let’s review some basics.
Complex vs. complicated systems
You probably know the difference between complex and complicated systems. If you do, feel free to jump ahead to the next section. Otherwise, stick with me.
A complicated system involves many parts, but their relationship is predictable. You can continuously repeat the same process and always get the same result.
For example, building a house is complicated. You’ve got too many aspects related to it, but it’s predictable and, therefore, plannable. An experienced engineer and architect can plan everything upfront; the result is sure when they do the job right.
Traditional project management fits well with complicated systems.
Now let’s talk about complex systems. Cause and effect aren’t always the same in complex systems. The variables and their relations are unpredictable.
For example, it’s impossible to predict what will happen with the economy because it’s a complex system.
You probably know where this is going.
Digital products are complex systems. The variables and their relations cause unpredictable results. Using classic project management will lead to poor results.
With a more iterative approach, you’ve got better chances of success because you can uncover what you don’t know.
Why traditional capacity planning won’t work with agile
What I’m about to share is something you may disagree with but, in my experience, here’s where many product teams get trapped.
Dealing with complex systems isn’t something we’re comfortable with because the unknown frightens us. Our solution is to transform agile frameworks into waterfall approaches.
Below are some common ways to do capacity planning with agile frameworks:
- Story points — Estimate your product backlog items with the story points method. It’s about complexity and not time. Within that, you will be able to measure teams’ velocity at the end of each sprint. But how do you come up with capacity if it’s about complexity? That’s when velocity kicks in
- Velocity — The team’s velocity should reflect the average of story points delivered during the last three sprints. Ideally, teams increase their velocity over time
- Estimate upfront — To evaluate whether the team can meet deadlines, break down initiatives into smaller items and estimate them all upfront. This will help you understand how many sprints the team needs to deliver the desired output
- Make promises — Based on your velocity and estimates, promise a deadline. Generally, teams add 20 percent to their estimates to account for unexpected events
These are among the most common ways to calculate capacity. The results of the activities described above will help you determine whether to hire new team members to increase velocity. Keep in mind, though, that onboarding new team members will initially decrease velocity.
Unfortunately, as you’ve probably guessed by now, predictable capacity planning activities won’t work with agile frameworks. Sorry to break that to you.
Fortunately, there is a better way.
A 4-step framework for effective capacity planning
The first step is to help those around you understand that predictability will frustrate everyone.
When you invest time in creating a plan based on output, it amounts to a mere illusion. You won’t be able to produce much value with that because you aren’t addressing a complex system properly.
But how do you avoid capacity planning when everybody is pushing for it?
“Finally, it’s all about solving problems, not implementing features. Conventional product roadmaps are all about output. Strong teams know it’s not only about implementing a solution. They must ensure that solution solves the underlying problem. It’s about business results.”
― Marty Cagan
My four-step approach to capacity planning might be unusual to you, but I’ve seen impressive results from it. Here it is how it works:
- Start with the business outcome
- Identify problems worth solving
- Define the value you stand to create
- Work backward
1. Start with the business outcome
Great product teams create value beyond features. To do that, you must have clarity on your business outcome.
2. Identify problems worth solving
Knowing your desired outcome is the first step. The second is discovering which opportunities could drive that outcome.
When you do product discovery right, you’ll uncover problems that are worth solving and aligned with your goals. Focus on them.
3. Define the value you stand to create
As you uncover meaningful problems to solve, evaluate exactly what value you stand to create by crafting a meaningful solution.
Do your homework by assessing how many customers care about it, how much they care, and how often that happens. Based on this, you can calculate the value and estimate how much it’s worth investing in.
4. Work backward
Now that you have all the cards on the table, it’s time to decide whether you can get something valuable done.
Great product managers set the context and work backward with the team.
For example, let’s say you realize customers are loyal to you and willing to recommend the service to their friends. You believe this could create a sustainable acquisition channel and determine that it’s worth four sprints of work. Then, ask the team how you might create something valuable in this timeframe to benefit from this opportunity
If you estimate that the investment is higher than the potential value, don’t even bother starting.
Focus on what creates value
Traditional capacity planning will distract you from what creates value. Don’t let outdated approaches get in the way of doing what’s right.
Most of the time, people will push you in the wrong direction. As the product manager, you must take the driver’s seat if you want to stand out.
Your goal isn’t to maximize the team’s output.
Your goal isn’t to be more predictable.
Your goal isn’t to make promises and meet deadlines.
Your goal is to create value steadily.
The following principles will drive better results:
- Outcome over output
- Evidence over opinions
- Problem understanding over defining solution
“Never tell people how to do things. Tell them what to do, and they will surprise you with their ingenuity.”
— General George S. Patton, Jr.
Featured image source: IconScout
LogRocket generates product insights that lead to meaningful action
LogRocket identifies friction points in the user experience so you can make informed decisions about product and design changes that must happen to hit your goals.
With LogRocket, you can understand the scope of the issues affecting your product and prioritize the changes that need to be made. LogRocket simplifies workflows by allowing Engineering and Design teams to work from the same data as you, eliminating any confusion about what needs to be done.
Get your teams on the same page — try LogRocket today.