Introduction
Change
What’s Missing
- What Stands in Our Way
The Root of Decay
Why Designs Rot
Decline
Powerful Tools Can Become Crutches
- The Solution
A New Ontology
Related Works
Principle: Design-First
Principle: Pathfinding
Principle: Transformation of Code
Principle: Abort & Retry
My Little Puzzle
Recursive Disaggregation of Changes
The Power of Duplication
Compounding Changes
Foundation
Refactoring
Clever Use of High-Bandwidth Refactoring Tools
Fastidious Application of Automated Transformation
Careful Misuse of Low-Bandwidth Tools
Exploitation of Language Features
Using TDD to Prove Interchangeability
Favoring Transformation Priorities
Using TDD to Constrain Behavioral Changes
- Context
Patience
Requirements Maturation
The Other Half of Patience
Rewiring your Habits with Deliberate Undos
Investment in Practice
Appendix A: Search Page Code
Appendix B: Adoption Reference
Appendix C: Getting Others Onboard
Glossary
Bibliography