← all insights

#modernization

When a rewrite is the wrong answer

2026-02-20

When a system is painful, the instinct is to throw it away and start over. A clean slate, no legacy, no compromises. The trouble is that a rewrite is a bet you can rebuild everything correctly, faster than the old system can keep earning its keep.

What the old system knows

The current code is ugly, but it is also a record of every decision and every edge case the business survived. Throw it away and you throw away that memory. The bugs you fixed last year will come back, just wearing a new framework.

Start by making it safe

Before any big change, we get the system under test and understand the data. Then we improve it in place: clearer boundaries, a risky module extracted, a slow query fixed. Each step ships and de-risks the next.

  • Cover the critical paths with tests so you have a safety net.
  • Extract and replace one piece at a time, not all at once.
  • Keep the same database and interfaces where you can, to limit the blast radius.

When a rewrite is right

Sometimes it is the answer: the platform is truly the wrong fit, or the team would spend more maintaining than rebuilding. We treat that as a last resort, decided with numbers rather than frustration.