Make money doing the work you believe in

๐—ฌ๐—ผ๐˜‚ ๐˜€๐—ผ๐—ณ๐˜๐˜„๐—ฎ๐—ฟ๐—ฒ ๐—ฎ๐—ฟ๐—ฐ๐—ต๐—ถ๐˜๐—ฒ๐—ฐ๐˜๐˜‚๐—ฟ๐—ฒ ๐—ถ๐˜€ ๐—ฎ๐—น๐˜„๐—ฎ๐˜†๐˜€ ๐—ฐ๐—ผ๐—บ๐—ฝ๐—น๐—ฒ๐˜… ๐—ฎ๐˜€ ๐˜†๐—ผ๐˜‚๐—ฟ ๐—ผ๐—ฟ๐—ด๐—ฎ๐—ป๐—ถ๐˜‡๐—ฎ๐˜๐—ถ๐—ผ๐—ป

This is Conway's Law. Melvin Conway wrote it down in 1967:

"Organizations who design systems are constrained to produce designs which are copies of the communication structures of these organizations."

This means that the structure of a software system is shaped by the structure and communication patterns of the team building it. The team's needs win over the system's needs, even when nobody means for that to happen.

The patterns fall straight out:

- ๐—ฆ๐—บ๐—ฎ๐—น๐—น, ๐—ฑ๐—ถ๐˜€๐˜๐—ฟ๐—ถ๐—ฏ๐˜‚๐˜๐—ฒ๐—ฑ ๐˜๐—ฒ๐—ฎ๐—บ๐˜€ produce modular service architectures.

- ๐—Ÿ๐—ฎ๐—ฟ๐—ด๐—ฒ, ๐—ฐ๐—ผ๐—น๐—น๐—ผ๐—ฐ๐—ฎ๐˜๐—ฒ๐—ฑ ๐˜๐—ฒ๐—ฎ๐—บ๐˜€ produce monoliths.

A company split into ๐—ณ๐—ฟ๐—ผ๐—ป๐˜๐—ฒ๐—ป๐—ฑ, ๐—ฏ๐—ฎ๐—ฐ๐—ธ๐—ฒ๐—ป๐—ฑ, ๐—ฎ๐—ป๐—ฑ ๐—ฑ๐—ฎ๐˜๐—ฎ๐—ฏ๐—ฎ๐˜€๐—ฒ departments will ship a three-tier system with painful integration between the tiers. Each tier was optimized by a different team for a different goal.

In a broad sense we can even say that ๐—›๐—ฅ ๐—ฑ๐—ฒ๐—ณ๐—ถ๐—ป๐—ฒ๐˜€ ๐˜€๐—ผ๐—ณ๐˜๐˜„๐—ฎ๐—ฟ๐—ฒ ๐—ฎ๐—ฟ๐—ฐ๐—ต๐—ถ๐˜๐—ฒ๐—ฐ๐˜๐˜‚๐—ฟ๐—ฒ๐˜€.

Amazon learned this the hard way. In the early 2000s, the company was a monolithic organization shipping monolithic software. As they scaled, the system started to block innovation. Teams couldn't ship without coordinating across the entire codebase. The architecture mirrored the org chart, exactly as Conway predicted.

Bezos changed both at once. The monolith broke into hundreds of microservices, each owned by a "two-pizza team" of 5 to 10 engineers who owned the service end-to-end: design, deployment, on-call.

This is the ๐—œ๐—ป๐˜ƒ๐—ฒ๐—ฟ๐˜€๐—ฒ ๐—–๐—ผ๐—ป๐˜„๐—ฎ๐˜† ๐— ๐—ฎ๐—ป๐—ฒ๐˜‚๐˜ƒ๐—ฒ๐—ฟ. Instead of letting the org shape the software by accident, you reshape the org to produce the software you want.

What is interesting is that the most organizations ignore Conway's Law. They treat org structure and software architecture as independent things. They draw clean architecture diagrams, then watch the system shape itself around their org chart anyway.

What are your experiences with Conway's Law?

Image: Manu Cornet (bonkersworld. net).

May 6
at
6:46 AM
Relevant people

Log in or sign up

Join the most interesting and insightful discussions.