09/05/2026
"Let's just rebuild it from scratch." It might be the most expensive sentence in software — and it usually gets said in a moment of frustration, not from a real plan.
Sometimes a full rewrite is genuinely the right call. But more often it's a trap that trades a working system you understand for a year of risk and a rebuild of things you'd forgotten the old one even did. Three signs it's the wrong answer:
1. The pain is one module, not the whole system. If a single piece is the problem, a full rewrite is burning the house down to fix a leaky faucet. Replace the part.
2. Nobody can fully explain what it currently does. Every old system quietly enforces years of rules nobody wrote down. A rewrite re-learns them the hard way — in production, on your customers.
3. The reason is "the code is ugly," not a business need. "I hate this code" is a real feeling, but it's not a business case. The rebuild has to pay for itself in something you can actually measure.
The better first question is almost never "rewrite or not?" It's "what's the smallest safe change that fixes the thing that's actually hurting?" That's the question we start every modernization with.
go.simpurl.click/switchcase/rewrite-check