Skip to content
← Back to blog
Engineering·May 18, 2026·5 min read

Modernising legacy systems without the big rewrite

The full rewrite is the most expensive, riskiest path — and rarely the right one. How to modernise incrementally instead.

Every legacy system invites the same fantasy: tear it down and rebuild it clean. It's almost always a mistake. Big-bang rewrites are where budgets die — and the new system usually reinvents bugs the old one had already solved.

Why rewrites fail

  • The old system encodes years of undocumented edge cases a rewrite quietly drops.
  • You ship nothing new for months while the rewrite catches up to where you already were.
  • Two systems in parallel doubles maintenance, not halves it.

The incremental path

  1. 1.Strangle, don't replace. Put a façade in front of the legacy system; route functionality to new services one slice at a time.
  2. 2.Start at the seams — modernise what changes or hurts most first.
  3. 3.Keep the data where it is, at first.
  4. 4.Ship continuously — every slice delivers value and de-risks the next.
A good modernisation is invisible to users and reversible at every step. A rewrite is a held breath until launch day.

Modern AI tooling genuinely accelerates the grind — understanding old code, drafting tests to lock in behaviour — but it accelerates a disciplined process; it doesn't replace one.

Written by ivector
Start a project →