Some legacy systems should be replaced. Most should just be wrapped.

Many businesses spend around $2.9 million annually on legacy tech upgrades. One Fortune 500 audit estimated $67M in hidden costs from technical debt-maintenance, compliance gaps, delayed launches.

The instinct to replace is understandable. The problem? Roughly 70% of large modernization projects fail or significantly overrun.

When to break (full replacement):

  • The system can’t be decoupled from its interfaces
  • Maintenance cost exceeds replacement cost annually
  • The technology is truly end-of-life (no security patches)

When to transform (wrap and evolve):

  • The core logic still works, just the interfaces are outdated
  • Business can’t tolerate extended transition risk
  • Incremental value delivery matters more than clean architecture

SonarSource estimates technical debt costs around $306,000/year per million lines of code. Over five years: $1.5 million. The question isn’t whether to modernize-it’s how fast you can stop the bleeding.

The wrapper approach is boring. It doesn’t make for exciting roadmaps. But it works.

Strangler fig pattern, not big bang migration.

What’s your oldest system-and what would it take to wrap it instead of replace it?