You can’t fight Conway’s law (but you can certainly waste energy trying)
You can’t fight Conway’s law (but you can undoubtedly 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 complicated than necessary or “unnecessarily complex. “ We are constantly trying to figure out 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 more straightforward, and if ignored, will make our software more complicated than need be. You can miss 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 and theoretical limits to reducing complexity. Understanding those limits can help us better focus on expectations and hence our resources.
Bio: Avraham is a Senior Architect with Cisco tasked with designing complex PayTV systems. He also researches and teaches the theory of software development. He is currently studying, writing, and training on the complex relationships between the organizations that create software and the software they make.