When to Rebuild Legacy Software (and When Not To)
The full rewrite is seductive and usually a trap. A framework for deciding honestly.
"Let's just rewrite it" is one of the most expensive sentences in software. Sometimes it's right, usually it isn't.
The rewrite trap
Full rewrites discard years of hard-won edge-case knowledge and freeze new features while you rebuild what you already had. Many never ship.
Prefer incremental modernization
Strangle the old system gradually: wrap it, replace pieces behind stable interfaces, and ship continuously. Risk stays low and value keeps flowing.
When a rebuild is justified
If the platform is truly unmaintainable, insecure, or blocks the business outright, a rebuild can be right, but scope it tightly and migrate in stages.

