Origin: Originally from Larry Constantine and Ed Yourdon’s “Structured Design” (late 1960s/1970s), popularized in Tidy First? by Kent Beck.

Statement

The cost of software is approximately equal to the cost of changing it.

The cost of change is dominated by the handful of large, difficult changes.

The cost of these big changes is roughly proportional to the coupling in the system.

So, the cost of software ≈ the coupling of the system

Elaboration

  • Most of the lifetime cost of software comes from evolving, not initial development.
  • In large codebases, a few “big jackpot” changes (deep, cross-cutting changes to tightly-coupled elements) dominate the total cost.
  • Coupling—where changes in one part require changes in others—multiplies this cost.

Note

This content was drafted with assistance from AI tools for research, organization, and initial content generation. All final content has been reviewed, fact-checked, and edited by the author to ensure accuracy and alignment with the author’s intentions and perspective.