Change & Evolution
How systems grow, decay, and get replaced. Models for working with legacy, evolving safely, and choosing technologies that will still be standing in a decade.
- No. 051
Gall's Law
A complex system that works evolved from a simple system that worked.
- No. 052
Strangler Fig
Replace a legacy system gradually by growing the new one around it until the old one can be removed.
- No. 053
Fitness Functions
Protect the qualities that matter with automated checks, so the architecture can change safely.
- No. 054
Chesterton's Fence
Don't remove a fence until you know why it was put up.
- No. 055
Lehman's Laws of Software Evolution
A system in use must keep changing, and its complexity grows unless work is done to reduce it.
- No. 056
Inertia (Legacy Gravity)
Established systems keep doing what they're doing unless a force greater than their momentum acts on them.
- No. 057
Red Queen Effect
You have to keep running just to stay in the same place.
- No. 058
Lindy Effect
For technologies and ideas, every year they survive increases their expected remaining life.
- No. 059
Pace Layering
Layers of a system change at different speeds. Let fast layers move without disturbing slow ones.
- No. 060
Automate or Obliterate
Speeding up an old process with new technology mostly preserves its waste; redesign the work around the outcome, using what the technology makes possible.