CouplingPart II - Software as Early Laboratory
Bridge - Into Part II
Part I introduced the book's core grammar: responsibility, consequence, cohesion, coupling, scale, and abstraction. Part II turns from grammar to practice.
Why Software Comes Next
Software delivery became one of the clearest laboratories for these structural pressures because software systems expose feedback unusually quickly. A deployment can fail within minutes. An architectural shortcut can create operational pain within weeks. A dependency problem can spread across teams almost immediately. Many institutions experience the same pressures more slowly; software made them difficult to ignore.
This is one reason software organizations repeatedly redesigned how they worked: not simply because new methodologies became fashionable, but because existing structures stopped learning fast enough from consequence. Seen this way, software history is not just a sequence of engineering trends. Method changes are not only cultural stories. They are design responses to consequence distance. Each shift changes who makes decisions, who absorbs operational cost, how quickly feedback returns, and whether learning reaches the people capable of redesigning the system.1
What This Part Explores
The chapters that follow trace a recurring pattern.
Waterfall
Waterfall improved large-scale coordination through planning and staged delivery, but important consequences often arrived late, after redesign had become expensive.
Agile
Agile shortened feedback cycles and strengthened cohesion inside teams. Learning became faster locally even while broader organizational coordination problems remained.
DevOps
DevOps attempted to reconnect builders to runtime consequence. Operational pain moved closer to the teams shaping the systems.
DORA
DORA shifted attention from process identity to learning-loop quality: flow, recovery, adaptation, and consequence visibility.2
Shift Left
Shift-left practices pushed consequence earlier into the lifecycle so systems could redesign before coordination cost exploded.
Hexagonal Architecture
Boundary-oriented architecture attempted to preserve cohesive decision cores while external volatility continued increasing at the edges.
Across all of these changes, the same pressure keeps reappearing: large systems struggle when consequence arrives too late or too far away from the boundaries capable of learning from it.
How to Read These Chapters
These chapters are not methodology rankings. Every approach solved real problems. Every approach introduced new tradeoffs. Every improvement changed the shape of coordination pressure somewhere else.
The goal is not to identify a final "correct" method. The goal is to watch organizations repeatedly rediscover the same structural reality: systems adapt differently depending on how quickly consequence returns, how clearly responsibility remains visible, and how expensive redesign becomes once many groups are already moving independently.
By the end of Part II, software history should begin to look less like a sequence of engineering fashions and more like governance pressure unfolding in miniature—who decides, who absorbs consequence, who can redesign the system, and how long reality takes to arrive.
Chapter 5 begins with Waterfall, where long planning horizons often stabilized coordination by delaying consequence until integration and release.
Footnotes
-
Winston W. Royce, "Managing the Development of Large Software Systems" (1970); Kent Beck et al., "Manifesto for Agile Software Development" (2001); and Alistair Cockburn, Agile Software Development (Addison-Wesley, 2002), on method evolution as shifts in feedback boundaries and decision cadence. ↩
-
Nicole Forsgren, Jez Humble, and Gene Kim, Accelerate: The Science of Lean Software and DevOps (IT Revolution Press, 2018); and Gene Kim, Jez Humble, Patrick Debois, and John Willis, The DevOps Handbook, 2nd ed. (IT Revolution Press, 2021), on delivery metrics and operational learning loops. ↩
