A deep-dive into the mechanisms that make software progressively harder to evolve.

Introduction

An application written ten years ago still works.

Users rely on it every day. The servers run. The tests pass. On the surface, nothing looks wrong.

And yet, no one dares touch it anymore.