Skip to content
Comparison Guide

Legacy Modernisation vs Full Rewrite

Incremental modernisation replaces the system piece by piece while it stays in use. A rewrite builds a new system and switches over. The first spreads risk. The second concentrates it. Both have cases where they are the right call.

What Each Approach Involves

Incremental modernisation changes the system in steps. A common method places a routing layer in front of the old system. New components take over one function at a time, and the old code is retired as each function moves. The system stays in production throughout.

A full rewrite starts a new codebase. The team rebuilds the required functions, migrates the data and switches users over, either all at once or in groups. The old system must be kept running, and often kept changing, until the switch.

Neither approach is always right. Incremental work can be slow and leaves old and new code side by side for a long time. A rewrite gives a clean design but delays value and risks missing behaviour that nobody wrote down.

Decision Matrix

Find the rows that match your system. Mixed results usually mean a mixed approach.

SituationIncremental modernisationFull rewrite
System is business-critical and must stay availableBest fit: changes are small and stagedRisky: cutover is a single large event
Business rules exist only in the codeBest fit: rules are moved one at a timeRisky: rules are easy to miss
Platform has no supported upgrade pathFits if parts can be replaced around itBest fit
Requirements have changed a great dealFits for partial changeBest fit: old design no longer applies
System is small and well understoodFitsFits: risk is contained
Code cannot be tested or safely changedHard: add tests at the edges firstFits, after behaviour is documented
Funding is approved in stagesBest fit: each stage delivers somethingWeak fit: value arrives late

Side-By-Side Comparison

Incremental modernisationFull rewrite
Cost shapeSteady spend over a longer periodHigh up front, plus the cost of running two systems
Main riskWork stops part way and leaves a hybrid systemMissed requirements and a late or failed cutover
SpeedFirst results early, full completion laterNo results until a usable version exists
Team impactTeam must work in old and new codeTeam is split between maintaining and rebuilding
ReversibilityHigh: each step can be rolled backLow after cutover

Hidden Risks To Plan For

  • Behaviour nobody documented

    Old systems handle edge cases that users rely on without knowing. Both approaches need a way to discover them before they are lost.

  • The permanent hybrid

    Incremental work that loses funding leaves two systems joined together. Plan each step so the system is in a stable state if work pauses.

  • Feature parity

    A rewrite must match what the old system does before users will switch. The old system keeps gaining features during the build.

  • Data migration

    Old data often breaks the rules the new system expects. Profile and clean it early. Rehearse the migration more than once.

A Phased Way To Decide And Act

  1. 1
    Phase 1

    Assess

    Review code health, test coverage, platform support and how well the rules are documented.

  2. 2
    Phase 2

    Capture behaviour

    Record what the system does today with tests around its inputs and outputs.

  3. 3
    Phase 3

    Choose per component

    Decide to modernise, rewrite or leave alone, one component at a time.

  4. 4
    Phase 4

    Deliver one slice

    Move one function to production. Confirm that the rollback works.

  5. 5
    Phase 5

    Continue and retire

    Repeat in order of value and risk. Remove old code as each part moves.

Two Anonymised Scenarios

Both scenarios are invented illustrations. They are not client stories.

  • Scenario A

    A core system that cannot go offline

    Imagine a company that runs its daily operations on one large, old application. The rules inside it were added over many years. Incremental modernisation fits. Functions move one at a time, and the business keeps running while they do.

    • System is critical
    • Rules are in the code
    • Each step can be reversed
  • Scenario B

    A small tool on an abandoned platform

    Imagine a company with a small internal tool built on a platform that is no longer maintained. The tool does a few well-understood things. A rewrite fits. The scope is small, the behaviour is known and the old platform offers nothing to build on.

    • Scope is small
    • Behaviour is understood
    • Platform has no future

Recommended Next Step: Resilience Audit

We review the system with your team, list the risks and discuss which parts to modernise, rewrite or leave alone.

Frequently Asked Questions

Have More Questions?

No. A rewrite is reasonable when the platform has no supported future, when the system is small, or when requirements have changed so much that the old design no longer applies. It carries more risk, so it needs a stronger reason.

Full completion often takes longer. The difference is that results arrive along the way, and the work can pause without leaving the business without a working system.

Yes. Many projects rewrite a few components and modernise the rest in place. Decide one component at a time.

Capture the current behaviour in tests and documentation. Whichever approach you choose, this reduces the chance of losing rules that the business depends on.

You do. You own all code and IP. An NDA is signed before anyone has code access, and the work happens in your repository and tools.