If you're looking for experimental validation of Conway's Law, the best work I'm aware of was done by Microsoft Research analyzing the Windows Vista development effort[0]. They found that organizational measures (eg. how high up in the org structure do you have to go to find every developer who contributed code to a particular DLL, etc.) were significantly better predictors of post-release code quality than traditional metrics like churn, complexity, coverage, dependencies, or pre-release bug counts.
If your company builds software, there's a tax to pay if the code architecture and human architecture are poorly aligned. The bigger that misalignment, the bigger the tax. Conway's Law misalignment is like technical debt in the sense that it's always there at some level, and there are times when it's important to reduce the cost and there are times when it's better to accept the cost and focus on other taxes/debts.
[0]https://www.microsoft.com/en-us/research/wp-content/uploads/...
[0]https://www.hbs.edu/ris/Publication%20Files/08-039_1861e507-...
My favorite from memory is that Windows now has five completely different volume control UIs, each of which can be traced directly to distinct product teams and their organizational dynamics across time.
This video makes goes futher and says that the evidence for Conway's law is not only strong but has yet to be disproven; the closest we can get to a fundamental law in computer science. Given that software is always created for a social purpose (there are some users or beneficiaries of the technology), it's sort of a tautology that social dynamics are going to strongly influence design.
Functionality that is split across organizational boundaries is very slow to deploy and difficult to get right. So even if someone doesn’t fix the structure, the number of features that fall within team boundaries quickly multiplies while those that aren’t so lucky grow more slowly.
If we're saying we have to do Conway's Law, we're admitting it's because we don't want to solve the above problems. If we say we don't want to follow Conway's Law, it means we have to deal with the above problems.
These problems are not insurmountable. But someone "in charge" does have to give a shit about them and decide the company is going to directly address them. And it's not just in service of architecture for its own sake; it's in service of a product being built better, so the customers and employees can be happier, which can then drive profits.
You can always get profits another way - be a monopoly, exploit a market flaw, lie, cheat, steal, pressure your employees, cut costs until the product bleeds, offshore, exploit tax havens, or all of the above and more. But happy customers and employees is more sustainable. Not as much growth, but the company will still be around in 20 years without having to fight for survival.
So, for example, you can have more generalist organizations that hopefully consider the needs of the portfolio as a whole and can sell the portfolio appropriately with fewer product fiefdoms. But you probably give up some of the advantages of a specialist organization that's really expert in and focused on making one product succeed in ways that are specific to that product. Of course, companies can and do create various overlay organizations that can work to greater or lesser degrees. But there are always tradeoffs. In my career, I don't think I've ever seen the right organization--only better and worse ones for the current circumstances.
Or you could just use your keys and walk upstairs like a regular person.
Many things can be accomplished the hard way. A lot fewer people are impressed by it than you think. Most of the ones who are are immature and loud, so you mistake that for numbers.
In a very large organization, while you’re carrying off the project by force of will, someone in another division is using less energy to accomplish better outcomes, and gets promoted over you and becomes your boss. You won the battle and lost the war.
Conway's Law isn't a flaw, it's the correct way to engineer a product, whether the organization is dysfunctional or functional.
Humans working together on the same product need to communicate. The farther away they are, the more this communication becomes harder, fragile, and prone to misunderstandings.
Thus, the boundaries between their areas of responsibility must be manageable via whatever communication resources are available.
If two people are working side-by-side and constantly aware of each other's work, they can easily cooperate on a single imperative function with no isolation whatsoever.
If they're totally separate teams that normally communicate via emails and need to schedule a meeting a week in advance, then you need to have iron-clad API contracts between their codebases to enable them to work in peace. The other option is to get the teams closer, but that may simply not be possible past a certain scale - you just can't get 100 engineers to know what everybody else is doing.
Sure, if you have a team of 8 people and they have no idea what each other is doing because there are 16 middle managers wasting their time? Then yeah, you absolutely have a business problem, and Conway's Law will be a bandaid over it - you'll split the product into 8 libraries or 8 microservices, wasting a bunch of resources but keeping your engineers sane. But if you solve the problem and put the 8 engineers in a shared room so they can collaborate efficiently, and get rid of the no-longer-necessary boundaries, you're still following Conway's Law.
Conway's Law is not a way to engineer product. It is an emergent property of a system, called homomorphism.
It's flaw in most systems because an organization's natural structure leads to flaws in the system. (https://www.atlassian.com/blog/teamwork/what-is-conways-law-...)
The thing is, it's not written in blood. You don't have to reorg to redefine your architecture. You don't have to design an ironclad API, or work on an "imperative function" between people sitting in the same room. In fact, there may not be an organizational principle that will give you a good architecture.
Want evidence? Open Source software. People sitting halfway around the world making software that has eaten the entire planet. Some of the contributors have commercial interest, but they don't get to dictate the architecture. And hey, how about that, the software gets made well anyway, even though the communication structure is often just one global mailing list. "The org structure" doesn't define the architecture because it would become random. Instead, the software's architecture is defined, and then people go out of their way to figure out how to make it. It is the opposite of Conway's Law. Yet it has been working for over 30 years.
Conway's Law is a flaw in human ingenuity, like a bias. We have many biases. Bias is an emergent property that, if unchecked, leads to bad outcomes. But we are capable of rising above them, if we try. The result is better if we do.
https://www.linux.com/news/10-years-git-interview-git-creato...
Written specifically to match the politics of Linux kernel development, since there wasn’t an open source alternative that could do so already (paraphrasing the interview)
Most successful open source software is simply designed however one person thought it made sense. Often this design ends up being reworked into a new major version, but again, in most open source projects the goal is just better design without deference to communication structure.
Edit: as dang posted the original article ("a principle with much broader utility than in software engineering"), I guess another example is the "county sheriff" and their occasionally newsworthy antics in the States. Reading about them from a country where counties are not a thing (nor do we suffer from their lack) makes me think the politicisation of the sheriff's office may be a less software-oriented example of Conway's law.
Conway’s law is about the structure of the thing being built mimicking the organizational layout of the people building it.
The county sheriff is just the sheriff attached to that unit of administration. It seems more like if Conway’s law was the observation that shape of the management tends to match that of the org chart. It is not really a correlation so much as a tautology.
(Note that the book and the reverse Conway maneuver is also mentioned in the friendly article)
2. https://www.agileanalytics.cloud/blog/2022/6/team-topologies...
You might say the software created the teams, but then who created the software?