Short answer
Incremental fixing is usually less risky and delivers value faster than rebuilding; working business rules and data are very valuable. A rebuild should come into question only when the data model or dependencies limit the current structure beyond repair and the migration risk is acceptable.
When fixing has value
If business logic works, setup is reproducible and problems are concentrated in specific modules, incremental improvement can preserve value. Start by improving tests and observability around critical workflows.
The precondition for fixing is making change safe: automated tests for critical flows, error monitoring and a repeatable setup. If that foundation is missing, building it first strengthens both the fix and the rebuild decision.
When replacement may be needed
Unsupported dependencies, an unsuitable data model or lasting operational constraints may justify broader changes. Account for migrating existing data and business rules into the replacement.
Even when renewal is needed, it can often be done in slices rather than all at once: build a new part next to the old one and move flows over one by one. That approach reduces the risk of one big cut-over day.
Record the decision
Use the same goals for fixes, partial replacement and a full rebuild. Document cost, transition risk, disruption and time to first value. A wish to adopt new technology is not sufficient justification.
Record the decision for all three options against the same criteria: time to first value, migration risk, business interruption and later maintenance cost. A team's excitement about new technology or discomfort with the old is not a reason; a measurable difference is.
A small trial before deciding
Pick a critical flow and try it as a small slice both by fixing and by rebuilding. Record how long it took, what surprises appeared and how testable the result is. This trial gives a much more reliable basis for the decision than estimates.
Compare before deciding
The table below is a starting framework. Fill in each row for your own system; where you have no evidence for a row, plan a small measurement that produces it before deciding.
Frequently asked questions
The questions we hear most often in the fix-or-rebuild decision.
Is being written in old technology a reason to rebuild by itself?
No. Old does not mean wrong. If concrete consequences such as unsupported dependencies, security risk or being unable to find people who know the technology cause problems, those are the reasons.
How risky is a rebuild?
Capturing the old system's implicit business rules, migrating the data and running old and new in parallel for a while usually takes more effort than expected. To reduce the risk, proceed in slices with measurable acceptance criteria.
What is partial renewal?
It means separating out a problematic module or layer and rebuilding it while keeping the rest. It is a good middle path if the shared data model and interfaces are clearly defined.
Should I get an outside opinion for the decision?
Opinions within a team often carry loyalty to one option. An independent assessment makes the evidence comparable; our software project recovery service covers decisions like this.