Modernising a legacy system without stopping the business
Old systems rarely fail dramatically. They get slower to change, harder to hire for, and more expensive to keep alive — until a small request takes weeks. Replacing one safely is a sequencing problem more than a technical one.
By Saleem Ahmed · · 7 min read
Last updated:

Why rewrites stall
A full rewrite has to match years of accumulated behaviour before it can deliver anything. During that time nothing improves, priorities shift and confidence drains. The rules nobody documented are usually discovered late, when the budget is already committed.
Replace a slice at a time
Take one bounded area, move it to the new system, and keep the old one running behind it until the new path is proven. Each slice delivers something usable and reduces what remains.
- Start with a read-only view, so users see new value with no risk
- Then move a self-contained process such as quoting or reporting
- Keep both systems in step with a clear source of truth per data set
- Retire the old area only once the new one has run through a full cycle
Treat the data as the project
Legacy data is usually inconsistent because the rules changed over time. Profile it early, decide what to clean and what to carry over as-is, and agree who signs off that the migrated data is correct.

About the author
Saleem Ahmed, Director of CodeCue Technologies
With an MSc in Project Management and degrees in Computer Science, Saleem has led a 40+ person in-house team delivering software, mobile and AI projects for international clients since 2018.
View profile