The Only Unbreakable Law

Molly Rocket

Molly Rocket

53 min, 25 sec

A detailed analysis of how organizational structures influence software architecture, drawing from Melvin Conway's 1968 paper.

Summary

  • Melvin Conway's 1968 paper posits that organizations are constrained in designing systems which mirror their communication structures.
  • Conway's Law suggests that the optimal design a team can achieve will mirror the team's organizational chart.
  • Software longevity and practices like OOP and microservices introduce additional layers of 'organizational' constraints within the code itself.
  • Modern software development often violates the principle of 'lean and flexible' due to complex interdependencies introduced by organizational and historical factors.

Chapter 1

Introduction to Conway's Law and Its Significance

0:00 - 1 min, 15 sec

An introduction to the concept of Conway's Law and its implications on software architecture over a programmer's career.

An introduction to the concept of Conway's Law and its implications on software architecture over a programmer's career.

  • The speaker introduces the concept of how advice can quickly become outdated in the field of programming.
  • The focus is on finding any enduring principles within software architecture that would stand the test of time.
  • Conway's Law is presented as a potential candidate for an unbreakable law within software architecture.

Chapter 2

Understanding Laws in Other Domains

1:15 - 1 min, 51 sec

An explanation of what constitutes a law in other domains, using physics as an example to set the stage for software laws.

An explanation of what constitutes a law in other domains, using physics as an example to set the stage for software laws.

  • The speaker explains the nature of laws in physics, using Newton's law of gravitation as a classic example.
  • Newton's law demonstrates how laws can endure for centuries, even when they are eventually refined by new theories like Einstein's theory of relativity.
  • The longevity and adaptability of laws in physics are offered as a benchmark for what might be considered a law in software.

Chapter 3

Searching for Software Laws

3:06 - 4 min, 48 sec

A discussion on the existence of laws in software, with examples of principles that approximate immutable truths.

A discussion on the existence of laws in software, with examples of principles that approximate immutable truths.

  • The speaker questions whether there are any true laws in software, given its relative novelty compared to fields like physics.
  • Amdahl's Law is discussed as a possible law in software, describing limitations in parallel computing.
  • The talk addresses the distinction between 'laws' and 'principles' or 'rules of thumb' commonly found in software literature.

Chapter 4

The Origin and Explanation of Conway's Law

7:54 - 13 min, 58 sec

The origin of Conway's Law from a 1968 paper and an in-depth exploration of its meaning.

The origin of Conway's Law from a 1968 paper and an in-depth exploration of its meaning.

  • The origin of Conway's Law is traced back to a 1968 paper by Melvin Conway, highlighting its significance in the context of software architecture.
  • The law suggests that organizations are predisposed to produce designs which are copies of their communication structures.
  • Conway's Law is theorized to be a homomorphism between organizational charts and product architectures, implying that products reflect the structures that create them.

Chapter 5

Implications of Conway's Law in Modern Software Development

21:51 - 31 min, 27 sec

The impact of Conway's Law on current software development practices, including the accumulation of historical organizational decisions.

The impact of Conway's Law on current software development practices, including the accumulation of historical organizational decisions.

  • The speaker discusses how Conway's Law extends to include temporal organizational decisions, affecting the architecture of long-lived software.
  • Examples from Windows operating system demonstrate how various organizational teams over time contribute to the current design and complexity.
  • The talk identifies a trend where newer organizational decisions and structures are superimposed upon older ones, leading to compounded complexity.

More Molly Rocket summaries

The Thirty Million Line Problem

The Thirty Million Line Problem

Molly Rocket

Molly Rocket

A detailed analysis of the issues with modern hardware and operating systems, and a proposal for a more manageable and efficient approach.

Where Does Bad Code Come From?

Where Does Bad Code Come From?

Molly Rocket

Molly Rocket

A detailed exploration of the origins of bad code and how programmers' mental models contribute to it.

Handmade Hero Day 001 - Setting Up the Windows Build

Handmade Hero Day 001 - Setting Up the Windows Build

Molly Rocket

Molly Rocket

Detailing the process of setting up a development environment for Handmade Hero on Windows.