Contents

brooks law, hierarchy, and async comms

brooks law

There’s a thing called “Brooks Law” (from mythical-man-month) which explains some of the reasons that software goes slower when adding more humans to a project.

One of the points that the “law” states is that:

  • there’s a combinatorial explosion of communication channels as the number of people in the team rise

When we consider what this looks like visually

/img/brooks-law.png#center

… it’s clear that as the number of people in a team rises, the number of communication pathways explodes.

hierarchy

One of the most common ways to solve this is with hierarchy. This is an organisational structure change that splits the org up into pyramids (within pyramids). This allow each of the groupings to be small and for the information to flow up/down through representatives (often managers).

/img/hierarchy-at-work.png#center

There are a number of problems with hierarchical structures:

  1. It relies on fairness of those in positions of power. Given humans have many self-interested motives, it’s often not the case that a manager will accurately reflect the truth about their group upwards or downwards. Plus; even if most managers could do this, it only takes a single manager or group leader not to do this and the trust and efficacy of the organisational structure is lost.
  2. There’s a disconnect between those at the top, the “strategic thinkers”, and those are the bottom, the “tactical deliverers”. This disconnect moves those doing the work further and further away from those who can synthesise what objectives should be sought after. The disconnect is exacerbated by the layers of management (who are not strategic doers, or tactical doers). This impacts the autonomy, and purpose of those at the bottom.

async comms

If we reframe the problem in terms of its root and not in terms of how to organise it becomes clearer how we solve.

The root of the problem is:

  • Adding more people allows us to do more (with constraints). But adding more people makes it harder to communicate. Therefore; how do we allow effective communication without communication pathway explosion?

I suggest that the communication pathway problem happens when the team all share ideas. The communication is multi-way. But the problem hierarchical structures are attempting to solve is for mostly one-way communication. Objectives and direction of the leaders of an organisation being shared widely.

Async communication is a high leverage activity. It takes the same amount of time to write a document intended for consumption by 1 person as it does to write a document intended for consumption by 1000 people. Talking to 1000 people would be incredibly time-consuming. This makes async written comms a high leverage activity and a means of reducing the perceived need for hierarchy while maintaining information sharing.

There’s a reason why Ray Dalio writes “daily observations”, and why Jeff Bezos writes shareholder letters. They are high leverage communication methods.