Can anyone who has quickly scaled headcount at a startup elaborate on some of the challenges in scaling communication + coordination and what you did to solve the issues?
If people were computers, then what's being described is a tree of systems, and each node in the tree has full connection to its siblings and its children. But anyone who's designed large scale networks knows that this is horrible for data, because it doesn't allow for failure, and creates bottlenecks. This is why spine leaf architecture is so important.
But people are not computers. Communication is way more lossy than that. What this article fails to point out is that you actually have multiple decision trees in organizations, the architects and technical leads in a software group, vs the people managers. And combining those two roles creates horrible inefficiencies in descision making. Similarly, empowering people closest to the problem to make decisions means that the organization is much more nimble and increases agility.
I don't know what this article's point is, because it does help understand what effective leadership is.
Have you thought about how to translate spine-leaf into an organizational design and/or what sort of organizations it might be optimal for?
The goal IMO is to increase collaboration between as many groups as possible. Where scrum teams, or similar, are autonomous in making decisions and the scrum masters (or managers) are responsible for inter-team communication and collaboration, but that shouldn't be the only channel. There should be other people from the scrum team responsible for interdisciplinary collaboration.
Basically, as an organization grows, I believe it becomes more important to have redundant communication channels into the scrum team. Like network design, this would be akin to have multiple uplinks from the ToR leading the the spine.
The same formula could be applied to the people above you in the management structure, or the number of stakeholders in a project.
As a manager looking down in the organization, you are responsible for the relationships between your reports. As an individual looking up the organization, you are responsible for your own relationships with people but you aren't responsible for their relationships with others (and even in a mildly dysfunctional organization where you need to worry about your boss's relationship with their peers, that still only adds an O(n) term because you only care about your boss's relationships not each of your boss's peer's relationships).