Conway Complexity


Conway's Law states

Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.

I guess Docker images follow Conway's law, in that the number of levels in a Docker image will be one larger than the number of groups working on it...

So far, I haven't seen any analysis of how the communication structure of organizations is set up and what levels of complexity actually exist there.

There is a simplistic measure for algorithmic complexity, the Big-O notation. It describes the asymptotical behaviour of functions towards their limits.

Trying to adapt Big-O notation for organizations would/could mean that an organization with Conway Complexity Oc(n) will create designs that have at linear correspondence between the communication structure and the steps/parts making up the system. I struggle with examples for Oc(n²) or Oc(n³), or even Oc(log n).

An interesting hack for organizsational complexity would be using a Monorepo for the organization. This removes at least some part of the organizational complexity, by making all (relevant) code accessible and mutable to every person in the organization, at the cost of larger maintenance effort for the repository. Whether using a monorepo actually helps improve the communication structure is to be seen, but at least in theory, it makes it possible to see the complete impact across the organization of a change in code.

Maybe Komolgorov Complexity is a better measure for the actual complexity of the task. Applying the determination of Komolgorov Complexity to actual tasks of organizations in the wild is left as an exercise to the reader.