Almost two years ago, I wrote something about Conway’s law — “Any organization that designs a system […] will inevitably produce a design whose structure is a copy of the organization’s communication structure”. I concluded:
As a corollary to Conway’s Law I would say: don’t hold on to existing organization structures, if they are in the way. In a software company, it’s the product that sells. So if you want to improve the product and go forward, you will need to be flexible and willing to change: the company and its product should evolve together.
I have been contemplating recently about this statement pushed towards the other far end: how would Conway’s law apply to (mostly large) corporations that shuffle around developers, ahem, “resources” from project to project? What software architecture would you get in that case? A Big Ball of Mud. Yep, that’s what I would say. Big Ball of Mud.