Skip to content
0:00 / 0:00

#conway'slaw#caseymuratori#softwarearchitecture

The Only Unbreakable Law

Molly Rocket

148K subscribers • 22 videos on Hallway

YouTube
  • Recommended by 13 people: 12 on Hacker News and 1 on Lobsters.
  • A classic. People kept recommending it from 2022 to 2026.
  • Presented by Casey Muratori, founder of Molly Rocket
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

487K views4 years ago13 recommendations

Software designTools and practiceSoftware architectureCode review and teamworkInside tech companies

Casey Muratori argues that Conway's Law is the only unbreakable law of software architecture, showing how systems inevitably mimic their organizational structures over time.

There are promising candidates for "laws" governing computer software. But are there any specifically for software architecture? In this lecture, I describe the only viable candidate I've so far seen. Originally given to the School of Informatics of the Technical University of Madrid.

Why it's here

13 people recommend this

What people say. Recommended as an excellent, in-depth lecture on Conway's Law and how organizational dynamics shape software architecture over time.

jj5on Lobsters • Recommends

The Only Unbreakable Law

perrygeoon Hacker News • Recommends

On “Conway’s Law”

Some great examples in "Conway's Nightmare" link to this video 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.

fwlron Hacker News • Recommends

On “The Most Powerful Law in Software”

Casey Muratori has an excellent lecture on this same topic, which draws many of the same conclusions as this article but goes into more depth on why it happens and what it means to you in a practical sense. ( link to this video , skip to 15:30 as the beginning is about setting up the idea of software laws, discussing other candidates for strong software laws, and the history of the law.) The Cliffs notes if you don’t have time for 45 minutes of video: Conway’s Law is pithily stated as “org charts reproduce themselves in the product”, or more comprehensibly as “the software architecture will resemble the org chart of the company producing it”*. The mechanism of this effect is communication bandwidth. Co…

krigon Hacker News • Recommends

On “Leaving LinkedIn”

If you want to dig into Conway's law and its implications, I can't recommend this video essay by Casey Muratori enough: link to this video Fair warning though, you'll lose all hope that companies like Microsoft will ever manage to produce anything that they don't then ruin.

dmitriidon Hacker News • Recommends

On “The Windows Shutdown crapfest (2006)”

A good illustration of The One Unbreakable Law link to this video (Conway's Law, but do watch the talk for more context)

iamwilon Hacker News • Recommends

On “How do Committees Invent? (1968) [pdf]”

Funny, just watched Casey Muratori cover the same topic on his channel: link to this video I thought he covered it well. He considered the temporal aspect of orgs, which meant that software, over the years not only mimic the org, but every org that had ever been there over time. edit: oh, and unexpectedly, he's still around and on twitter. link

yes_but_noon Hacker News • Recommends

On “Tao of Node – Design, Architecture and Best Practices”

Great article. I also suggest watching Casey M. recent video0 about Conways Law. How organization in your company determines what you can/will do and how organization of your code follows the same principles. Starting with just the handlers and introducing layers as you make sure its time is great way. 0 link to this video

bambaxon Hacker News • Recommends

On “Learnings from 5 years of tech startup code audits”

> the major foot-gun that got a lot of places in trouble was the premature move to microservices I sometimes wonder if the move to microservices isn't just a weird consequence of Conway's law in reverse: make a department of each developer, let them have their thing. (See also this amazing video about Conway's law: link to this video )

molly0on Hacker News • Recommends

On “Conway’s Law”

I remember seeing a great explanation of Conway's Law by Casey Muratori: link to this video (The whole talk is good but Conway-s law starts at 11:37)

GuestHNUseron Hacker News • Recommends

On “Ask HN: Learning new coding patterns – how to start?”

> What resources do you recommend folks at my level look into? I'd argue that your best bet for learning is starting a project that drives you, then throwing that project away and starting it over again but try to make the code simpler. This way you can hone into what abstraction is actually necessary to solve your problem. I strongly recommend ignoring design patterns and instead honing in on what the essential data flow is in your problem space. Most design patterns will bloat your code base and, thus, slow both your program and your programming velocity down. As far as programming design and architecture goes, the best talks I have found come out of data orientated design talks. Casey Mur…

frflon Hacker News • Recommends

On “How Netflix really uses Java”

You may find this video interesting, link to this video It's about Conway's Law. I think that's worth looking into based on your question. You can look it up on Wikipedia if you don't wanna watch the video and would rather read about it.

jiggawattson Hacker News • Recommends

On “Mistakes engineers make in large established codebases”

“Time” is the answer almost always. Standards evolve over time, as do the languages and frameworks. Old code is rarely rewritten, so you end up with layers of code like geological strata recording the history of the developer landscape. There’s a more complicated aspect of “Conway’s law, but over time ” that’s hard to explain in a comment. And anyway, Casey Muratori did it better: link to this video

randusernameon Hacker News • Recommends

On “MacBook Pro Rival with the Nvidia Powered Surface Laptop Ultra”

I found this video 0 recently by Casey Muratori that really helped me understand why Windows is the way that it is. It's about Conway's law in software development and software architecture, but he explains it with anecdotes about Windows, like how vendor communication challenges lead to 4 different volume sliders. I would pass on an expensive heavy-partnership Windows device. 0: link to this video

u/lIIllIIlllIIllIIlin r/softwarearchitecture • Mentions

On “Why are all system design videos microservice architecture online ?”

Obligatory Conway's Nightmare. Conway's law is something you should be afraid of, not something you should embrace. The fact that software resembles org charts means you should be really careful about how teams are structured, and you should constantly refactor your code so that there aren't huge rifts in your code between teams. If you crystallize your org chart in your code with micro-services, you better be really confident your org chart will never ever change, otherwise you'll end up with a ton of micro-services that make no sense or a 6-month migration project.

u/lIIllIIlllIIllIIlin r/softwarearchitecture • Mentions

On “Have we reached "Peak Backend Architecture"?”

I do believe C#/.NET lives in a bubble. Very few ecosystems are as homogeneous as .NET, and altough homogeneity has some advantages, it has drawbacks too, the main one being stagnation. Frameworks have a "cost of convenience" to them. They can make some things easier, but it usually comes at the cost of making other things harder. Most micro-services have ill defined boundaries, and people constantly argue over whether services should be brought together or separated. Conway's law has been misinterpreted into the opposite of what he meant. Conway wanted to warn people about the dangers of rigid communication structures creating arbitrary fractures in code where there shouldn't be one,…

u/HecknChonkerin r/softwarearchitecture • Mentions

On “Conway's law really seems to be working?”

Casey Muratori has an interesting video on this, with some examples from Microsoft. link to this video I have also seen this play out in real life. Modern communication tools like Slack can help to limit this some, but in any sufficiently large organization communication is always going to be a bottleneck. Companies and people who recognize this and use it to inform architecture and decision making will tend to be more productive than those that ignore it.