Conway's law states that the code developed by organizations reflects the communication structure of the organization. This is taken to be sort of a loose saying that is more of a tendency than anything else. It's sort of given the air of a Dilbert-style IT complaint shifting the blame of sloppy code to a sloppy organization. Or at best, it's treated like Moore's law... a sort of coincidence we don't have a nice explanation for yet. However I think it's much deeper. If we're willing to take a harder stance, then underlying this pattern is a trail that, taken far enough leads to a promising line of thinking about organizational behavior with ramifications into biology, information theory, and physics.
The first step in exploring this is: why does code get written? It is implementing "business logic." That term is not just used in businesses, but also government institutions, non-profits, social organizations etc. It's pretty much a universal term for the rules governing how data flows within an organization. So these rules are essentially automated into code, and other code is written to ingest and store the information that drives those processes. Some of this logic is not written into code. Some of it is manual, written into policies and procedures. A purchase order may come in through and application, be printed off, new information may be written onto that purchase order, and then that information may be entered into another part of the application. Later this manual step may be automated away. But, in the meantime, that little bit of manual execution is essentially a human participating in the execution of the business process interchangeably with the code.
It's not just interaction that defines the similarity though. There's another aspect of human participation in this process that points to something deeper. When dealing with institutions, their logic can be very computer-like. For instance, the entire premise of this joke, where the agent at the ticket counter is concerned about a name mismatch between "Nathan" and "Nathaniel." Common sense would dictate that people sometimes use slight variations of the same name. If you were a ticketing agent and your sole concern was to protect people on the plane while not inconveniencing people unnecessarily, you'd probably tend to let him through. However airport employees cannot afford to have that as their sole concern. They must execute the business logic with fidelity, even when it overrides their common sense, otherwise they will be replaced by someone who will. This points to the fact that some other form of logic is overriding their personal motivations and decision-making. They are participating in a system that executes code that is kind of running on top of their normal software.
When signal fidelity is essential, suppressing one's common sense is a virtue. For instance, while we all understand Bargatze's frustration, I think we're also all glad that for the most part, airport employees do defer to the institutional policy. They don't just use their personal judgement to decide who to search, who is allowed on the plane, etc. Surgeons are expected to wash their hands. A surgeon who just decides for themselves that they don't need to because they didn't touch anything too dirty is not a surgeon we want in our bodies. We want an avatar for the institution of medicine, not someone who is fun to hang out with. Perhaps the best example is the military, where soldiers are explicitly legally required to suppress their common sense, for better or for worse, to serve the purpose of the institution they're representing. They execute commands with fidelity, as is flaunted with coordinated marching, etc.
There are cases in this business logic where inputs or executions are deferred to individuals. However, those individuals ultimately provide a response that fits back into the greater system of business logic. There are few if any surviving organizations where the primary mode of operation is ad-hoc decision-making from individuals. Even in a dictatorship, the individual makes edicts but those are generally written into code directly or handed off to subordinates who must use policy to execute those edicts.
So when Conway's law states that code is a reflection of the business processes of the organization that produced it, it's because both the organization and the code are the result of that system, held together by business logic. But we can keep following the thread further.
An organization is held together by business logic, but what is that business logic holding together really? The business logic exists on papers and computers. The organization is responsible for maintaining those papers and computers, but if one computer breaks, it will simply be replaced. If the paper burns it will be replaced, and the information contained will be replicated. If an employee is fired or dies, a replacement will be found and trained. The information from the former employee will be transferred as much as possible.
Ownership may change, and if it does, the business logic may change as well, but it doesn't have to. And if it does, it will not change all at once. It will have either have to be changed piece by piece, or it will have to be wholly replaced with some other set of business logic known to be functional. It will be a process very similar to refactoring code. The interfaces must be maintained, or else it will cease to serve its previous function, and if it does survive, it could hardly be considered the same organization if everything is replaced.
This all points to the idea that not only is the organization held together by business logic, but on some level we could say that that's the key to understanding what the organization is. Similar to DNA and life, the business logic of the organization is propagated when the business is sustained by its activities and ultimately those activities serve to propagate that code on some level. We should therefore be able to describe the code of an organization in a similar way to how we describe a genetic code.
OK, so this is sort of a different-ish take on a very old idea, and ultimately most of the lessons we could learn from it are already actively being explored. Computer science concepts are already applied to genetics. The evolutionary and biological model is already applied to social science. However I do think this can be made much more rigorous and provide a foothold to apply more physical concepts to social science and visa versa.
Even more important than any academic implications however are the implications for our ability to make decisions collectively. These days the lack of hope many have for humanity's future is a meme. Depression and mental illness from dealing with the modern situation is endemic. I mean, our kids are literally just blasting each other away in schools on a daily basis at this point and our society is essentially not responding at all. Our institutions seem to be seizing up. The code that defines them has not scaled and is filled with cruft. However we don't have to accept our institutions as they are. We can provide ourselves with a greater voice within them. We can write the code with the intention to amplify our voices. We can refactor our institutions with this code.
We can write a programming language that can unify the business logic that is currently written manually with the business logic that is programmed into systems. We can use this to design and quantitatively test new forms of organization and variations on the existing ones. This might sound like a monumental task, but it does not have to be. Large swaths of an organization's code can be encapsulated in a single human task where instructions are provided as a reference document, to be progressively broken down into this code later.
The rigorous study of organizations in this way would not only provide hope for better governance institutions, but it would almost certainly provide profitable conclusions for businesses as well as investors.