You can’t fight Conway’s law (but you can certainly waste energy trying) — Practical implications of Conway’s law
Most software that performs non-trivial tasks, is complex. We understand that and welcome that. However, we often feel that much of the software we design, create and deploy is more complex than need be, or “unnecessarily complex“. We are constantly trying to figure ways of reducing this “accidental complexity”.
In 1968 Melvin Conway published the idea that there is a “very close relationship between the structure of a system and the structure of the organization which designed it.” Over the decades, this law has repeatedly been observed to be true. This law has many implications that if properly considered, might allow us to make software design simpler, and if ignored will make our software more complicated than need be. You can ignore or even fight Conway’s law by trying to create software that does not correlate to the organizational structure. But Conway’s law will always be there and will almost always win.
This thought provoking talk explores the roots of the complexities through the prism of “Conway’s law”. In this talk Avraham presents some of the implications of Conway’s law as well as theoretical limits to the reduction of complexity. Understanding those limits can help us better focus expectations and hence our resources.
Bio: Avraham is a Senior Architect with Cisco tasked with designing complex PayTV systems. He also researches and teaches theory of software development. He is currently studying, writing and teaching on the complex relationships between the organizations that create software and the software they create.