jade rubick

Managing a bottleneck team

2024-06-02platform-engineeringdeliveryscalingarchitectureorg-design

One of the harder situations you might find yourself in is managing a bottleneck team. What is a bottleneck team? When other teams can’t get their work done unless you do something for them, you’re a bottleneck team.

Examples of bottleneck teams

  • You might own an API or capability that requires extensions for all your clients. Any time they need changes, you need to do work for them.
  • You might have to do work to spin up infrastructure for your clients.
  • You might own legacy code in a different language than the rest of the organization, and many other parts of the business rely on integrating with that legacy code, but only you have the skills to work in that area.
  • You might provide a service or have expertise the rest of the company uses. For example, you might have database expertise.

Why bottleneck teams are hard

There are many reasons bottleneck teams tend to be challenging. Mostly, it’s that the math is against you:

  • Bottleneck teams are typically not funded at the same rate of growth as the company. This means that if the demand for your team’s work doesn’t decrease over time, your team’s time will be more scarce than the need for it.
  • If there is a certain probability of a project needing work from your team, and you multiply that by all the projects at the company, then over time, your team will have an ever-growing backlog of work. And that will grow faster than your team.

If you’re a bottleneck team, you’re always overloaded. There will be many important initiatives that ultimately depend on your team to be successful. And there will be talented, influential leaders with big titles that view their success in terms of getting their priorities to happen.

How common are bottleneck teams?

There are usually a couple of bottleneck teams in any sufficiently large organization. You could say that that’s just true by definition. The theory of constraints basically says there’s always a single constraint in your system. By dealing with that constraint, you make your whole system more efficient.

I usually find a couple of places where all of the key projects funnel through. These teams are usually stressful, challenging places to be.

The people are often holding things down and keeping the business running. But they are often criticized and underappreciated. Why? Everything looks like failure because you can never get enough work out of them. And often they’re dealing with so much pressure that their effectiveness is reduced.

Problems can stem from architecture

I have a couple of things that I usually suggest for bottleneck teams. One is that often the underlying issues are architectural in nature. It’s often a good idea to solicit the help of people that can think deeply about your team’s situation, and how it could be restructured to be better.

Get protection from stakeholder bullying

One of the most important steps to take when you’re on a bottleneck team is to align carefully with your management chain. They need to understand the situation well enough that they don’t make the situation worse. And you may need to get help shielding your team from stakeholder bullying.

What is stakeholder bullying? What can often happen is that people with big titles will see that their success is tied to getting your team to do work for them. They are persuasive people, and used to making things happen, even when it doesn’t look reasonable. So they may not accept a no, and they’ll push hard. It can be difficult to say no to them.

How should you align your management team? The main thing you want is helping other people to see how their interests are aligned with yours. So you have to think very carefully about what it is that you want. Do you want more funding? Do you want a period of time where nobody interferes? Spend some time thinking through what you want, and then talk with your management chain about it. In an ideal world, the VPs will be advocating for the same thing as you, because they see it as a way to get what they need for their organization. But this is getting into the world of politics, and it’s likely that your management chain will be better at this game that you are (at least for now!)

Moving to self-service can free your team

I’ve seen teams extricate themselves from being a bottleneck team through transforming their work products to a self-service model. They were teams that were doing work for other teams. They would code something. They would create or update APIs.

To whatever degree you can, self-service is the best way to decouple teams. I have written a whole blog post on moving to self-service.

Open source approach to contributions

I’ve seen some teams take on an “open source” model approach to contributions. In this approach, the team isn’t doing the work for other people. But they do have a role in vetting the work and integrating it into their codebase. This can be less work. It doesn’t solve all bottleneck problems, because sometimes your capacity is so constrained you’re not able to help out even with reviewing other teams’ work. And sometimes the other teams’ contributions are hard to accept, because they don’t have the same level of context your team does.

But it is an approach that you can often employ.

Using “Heroes” or “Cones of Silence” to protect focus

When you’re a bottleneck team, you are often highly thrashed and it can be hard to dig yourself out of the situation. Often I’ve found it useful to preserve focus. I typically use one of two approaches:

Hero role

A hero role is a rotation. The person (or persons) are responsible for taking all the interruptions for the team. They are the first line of defense, so they field questions, bug reports, support inquiries, and any other communication tasks.

Cone of silence role

A cone of silence is similar to a hero role, except it is the opposite. A cone of silence is when you protect a couple of people from interruptions. The team tries to give them space, as much as possible, to focus on their work. Often the cone of silence can be employed for critical work that will unblock the team from being a bottleneck. For example, the work that helps make your team’s work product more self-service. Or the architectural work that helps distribute your team’s ownership more broadly.

Both of these approaches can be done as rotations. And can help you while you dig yourself out of the bottleneck situation.

Rename the team

Sometimes teams can be named in ways that encourage bottleneck behavior. For example, a team called the Platform team will end up owning all the services and horizontally designed work in the company. You can sometimes rename your team to something more narrowly defined, to help clarify that your team shouldn’t own as much as people thing it should.

Shift team ownership and responsibilities

Another thing I’ve seen work is to shift responsibilities. It should be done in a way that makes sense for the whole company.

For example, I remember a team that was responsible for all of the scheduled jobs for the entire engineering organization. They owned hundreds of scheduled jobs. And this was one of their many responsibilities. In this case, it didn’t make a lot of sense for them to own these things, because the work these jobs did were more aligned with other teams’ responsibilities. So what the team successfully advocated for is to own the underlying scheduled jobs infrastructure, and the patterns for how scheduled jobs were run. They shifted the jobs themselves to the teams that were more closely aligned with those jobs. That sort of shifting of responsibilities can be a good move, because it reduces the surface area of your team. But it has to make sense for the wider organization, as these type of moves can be political.

Podcast on bottleneck teams

I cover bottleneck teams in this episode of Decoding Leadership:

Thank you

Image by Matthias Böckel from Pixabay

Comments powered by Talkyard.