An aspect that’s missing from this analysis is distributed vs centralized decision authority. In militaries and in tech startups a “squad” or “two-pizza team” are empowered to make decisions for their local domain because they have the real-time context. The decentralized decision authority that happens with matrix-style management is a much higher contributor to coordination overhead than the top-down or bottom-up axis described here.
An autonomous team that does what they are told or an autonomous team is free to pursue opportunities as they see fit are both useful and can react quickly. The question is how much scaled alignment you need to execute a particular goal.
You can’t invade a country with one squad of 10,000 soldiers or 1,000 squads of 10 that do as they please. You need to delegate execution authority to small teams who are aligned to a shared goal.
Similarly, you can’t expect one group 10,000 devs with no internal structure to explore and find interesting opportunities to explore; you’ll just get noise. Nor can you try to manage 10,000 devs directly. You won’t be able to grok the context.
Complexity management in organizations follows the same patterns as in code. Single responsibility, don’t repeat yourself too much, encapsulation, etc.
It’s really a function of information theory, the more people you have to ramp up or keep current on context, the lower your ability to make and stick to decisions.
Thanks for the thoughtful write-up. I’m currently working on a journal article about optimizing organizations from first principles, starting with optimized delegation. Would love your thoughts on the paper if you’re willing to take a look.
These are two public previews that we are building off of for the journal:
1. https://paragraph.com/@hq.spengrah/an-actionable-model-of-tr...
Managing complexity while scaling is a concept just keeps reappearing.
Funnily enough it’s extremely relevant to agents/subagents.
https://en.wikipedia.org/wiki/Conway%27s_law
I don't think the author is really super familiar with some of those other organizations he mentions so he's reflecting how he thinks they work rather than how they work. That said the observations are still pretty good.
> You need to delegate execution authority to small teams who are aligned to a shared goal
It's been a while since I read the slides but this is basically what the author is advocating for and what doesn't tend to happen in dysfunctional organizations.
> Complexity management in organizations follows the same patterns as in code. Single responsibility, don’t repeat yourself too much, encapsulation, etc.
There are a lot of parallels. But organizations have people so that's an extra factor. You can't just "refactor" them without thinking about people's egos, objectives and such. So a lot of thought is needed into how to build effective organizations and sadly not enough thought is given is most companies.