Choosing Between a Rewrite and a Rescue
Inheriting a struggling codebase, the instinct is always to start again. Sometimes that is right. More often it is the most expensive way to arrive back where you started.
A prospective client shows us a system that is slow, fragile and hated. They have already decided it needs rebuilding from scratch and want a quote. Perhaps a third of the time we agree. The rest of the time we talk them out of it, which is a strange way to decline a larger contract but tends to produce clients who come back.
What a rewrite actually costs
The visible cost is rebuilding known features. The hidden cost is every undocumented behaviour the business quietly depends on — the report finance exports each month, the odd tax rule for one customer category, the workaround from 2019 that three people rely on daily. Legacy systems are dense with these, and they surface one angry email at a time after launch.
When a rewrite genuinely wins
The runtime or framework is past end-of-life with no security patches available.
The data model is fundamentally wrong for what the business now does, not merely untidy.
Nobody remaining understands the system and there are no tests to learn from.
The product direction has changed so much that most existing features are being retired anyway.
When a rescue wins
If the core model is sound and the pain is concentrated — a slow module, an unmaintainable UI layer, a missing test suite — targeted work delivers value in weeks rather than quarters. We typically start by adding characterisation tests around current behaviour, which converts an unknowable system into one that can be changed safely. From there, the strangler pattern lets new functionality grow in a modern stack alongside the old one, with no big-bang cutover.
You can replace a system incrementally, or you can replace it all at once and find out what it did afterwards.
How we decide
We run a two-week assessment: read the code, interview the people who use it, measure what is actually slow, and inventory the integrations. Then we present both options with real numbers attached. It costs the client a modest fee and has repeatedly saved them an order of magnitude more, in both directions.
Tagged
Working on something like this?
We are happy to talk through a technical decision even when it does not turn into a project. NovaGen is based in Minuwangoda, Sri Lanka and works with clients worldwide.