chapter four
4 Design for evolution: architecture that survives change
This chapter covers
- Why systems never stay still
- Evolvability as a first-class architectural concern
- Sensing change through feedback loops
- Designing for safe adaptation and delayed commitment
- Keeping architecture soft, replaceable, and incrementally evolvable
- The architect’s role in helping systems and teams adapt over time
As John F. Kennedy put it in 1963, “Change is the law of life. And those who look only to the past or the present are certain to miss the future.” Software architecture lives under that same reality: systems survive absorbing change without losing stability or making every future change more expensive.
Most modern systems are not designed to be perfect. They are to keep working while their context changes. In real-world scenarios, software rarely remains static. Once in use, it continuously changes, adapting to new technologies, shifting requirements, team reorganizations, budget constraints, and organizational priorities. In some cases, the original purpose fades entirely and the system takes on a different role.