Honeycomb has doubled in size since I joined less than 2 years ago. More people means we can do more things at the same time. Both “more people” and “more things at the same time” lead to increased overhead.
There’s coordination overhead to get timings right on work that’s independent. Like, to release a feature we need press releases from marketing, documentation ready to go, and functionality lined up behind a feature flag. We were first observability vendor to release natural language querying backed by ChatGPT (in May 2023), thanks to quick action by our engineering team and a concentrated effort from product marketing.
There’s collaboration overhead to get interrelated pieces working together. Design, product, and engineering don’t “coordinate,” they collaborate. They work together every day, on a single output. Independent work happens only in short spurts. Collaboration overhead gets unwieldy very fast. Our query assistant team had design+product+engineering in four people, and that’s why they could move so quickly.
Then there’s alignment overhead. Alignment means we all know why we’re doing this work. This shared understanding lets us make the thousand detailed decisions of the day in ways that support the real purpose of our shared effort. For query assistant, that alignment came from a single project manager, following values that Honeycomb articulates regularly. It helps that we have existing principles around AI, ML, and other computational cleverness: it augments human cognition. We make no effort to replace human decisions with automation; Honeycomb informs and executes human decisions.
That existing alignment fed into the product design. The query assistant writes a query, Honeycomb runs it, and then it’s right in front of you for modification. ChatGPT says nothing about your ongoing results, only a starting point. The same principle informed the product release announcements that Marketing worked on.
As we grow, all of these overheads increase. We all spend more time in meetings. We added layers of management, people whose job is to represent one part of the organization to all the other parts.
When I contribute a blog, last year it was “thanks! I corrected some typos, it’s live now.” Now it’s “does this coincide with messaging from the rest of marketing? does it meet all SEO guidelines? Then we’ll schedule it on the calendar.” (This post is here, on my blog. I wrote it today. I coordinated with no one. I collaborated with no one. I am aligned with myself, for the moment. I also wrote a post for the Honeycomb blog. We shall see it in some weeks.)
With more people, we have more expertise. We’re doing better work, and more at once, but all of it is way slower.
I’ve been on software teams in large companies where 95% of effort went to collaborating with other people working in the same code, working around restrictions imposed by other departments, and investigating details of interfaces.
How much slowdown is necessary? How can we do our work well, together, as we get bigger?
- Accept coordination overhead. Document shared plans in a shared place (we use Asana). Coordination is for asynchronous work, and we can do a lot of the coordination asynchronously too.
- Collaboration is expensive. Replace it with coordination when you can, by decoupling. When you need collaboration, go all in. Get people in the same room if that’s a thing, or talking every day in Slack & Zoom. Build relationships to make communication smooth. Read Team Topologies.
- Do not skimp on alignment.
Alignment is not expensive, compared to collaboration. But it feels disposable, it’s easy to let slip. Alignment comes from leadership in our all-hands and all-teams meetings. It comes in 1:1s with our managers, and between our managers. It comes in documented company values and positions.
Alignment gives us the context to make good decisions in our scope. It also lets us question decisions outside our scope, constructively, because we can notice when we learn something inconsistent with our expectations. That catches discrepancies early, and gets us back on track together.
In a small enough company, alignment is mostly free. It happens in conversation, and via collaboration. As our company grows, our founders are more and more deliberate about reproducing it. We can’t collaborate with everyone, so it’s alignment that can give us the trigger and authority to communicate when we need to.
Our marketing team has reached a size where alignment feels tough. It means a lot of meetings, backed by DMs and threads in Slack. But there’s no decoupling messaging. If the same person might read two pages, those pages are coupled. My job becomes a lot more negotiation, and a lot less writing. That’s why I have a team, so somebody gets to do the real work.
And I still get to type here. It helps to have my own work in the world, as well as in my team.