Skip to content
Lorendix

Software engineering · Legacy modernisation

Replacing a system while it stays in service

Incremental replacement of a system the business has outgrown, with old and new running together, data reconciled automatically, and a decommissioning date that is actually reached.

Where this starts

The rewrite that never lands

The full rewrite is the most reliably failed project in the industry. It gets proposed because the existing system is genuinely painful, approved because the pain is real, and then runs for two years against a moving target while the old system keeps changing underneath it. The flaw is not ambition. It is that a single cutover concentrates every risk into one weekend that nobody has been able to rehearse.

What we usually find

  • A system two people understand, at least one of whom is close to leaving
  • A platform out of vendor support, or a runtime no longer receiving patches
  • Business logic that exists only in the system and is documented nowhere
  • A rewrite that has run long enough for its own requirements to be out of date
  • Point to point integrations built over a decade, with no inventory
  • A migration blocked because nobody can prove the new data matches the old

Our position

A cutover you cannot rehearse is a cutover you should not attempt. Every step we take is one we can run twice and reverse once.

What the work covers

Incremental by default

The method is unglamorous on purpose. Value arrives in months rather than at the end, and there is never a single point at which everything has to work at once.

  1. Discovery of actual behaviour

    What the system really does, established from the code and the data rather than from documentation that describes an earlier version of it and the intentions of people who have left.

  2. Strangler pattern

    New capability built alongside the old, with traffic moved route by route behind a facade, so the legacy system shrinks steadily rather than being switched off in one movement.

  3. Data migration and reconciliation

    Migration run repeatedly against production copies, with automated reconciliation proving old and new agree before anything is cut over. This is usually the longest part of the programme and the part most often underestimated.

  4. Parallel running

    Both systems live, results compared automatically, differences investigated rather than assumed benign. It costs more for a period, and it is what makes the eventual cutover uneventful.

  5. Untangling integrations

    Point to point connections inventoried and replaced with contracts, so the replacement does not quietly inherit the sprawl it was commissioned to remove.

  6. Decommissioning

    A dated plan to switch the old system off with the licence, hosting and support cost attached to it, because a modernisation that leaves the legacy running has not finished, it has doubled the estate.

Photography composited across chamfered panels

How each step is proved

Confidence comes from repetition, not analysis

These run continuously through the programme, which is what lets a cutover decision be made on evidence rather than nerve.

  1. Characterisation

    Tests written against the existing system’s actual behaviour, including the behaviour nobody intended, so any difference in the replacement is detectable rather than debatable.

  2. Reconciliation

    Automated comparison of records between systems on every migration rehearsal, with differences reported by type rather than as a single total that hides the interesting cases.

  3. Shadow traffic

    Live requests replayed against the new path and the results compared, without affecting the customer. This finds what a test suite will not, because production data is stranger than test data.

  4. Rollback

    Every cutover step reversible and rehearsed before the real one, so the decision to proceed is not simultaneously the decision to commit.

  5. Progress

    Share of traffic, records and functionality moved, reported automatically, so the programme reports facts rather than sentiment in a steering meeting.

What you are left holding

  • A route by route migration plan with a decommissioning date
  • Automated reconciliation proving the data matches
  • Characterisation tests covering the behaviour the business relies on
  • The old system switched off, and its cost out of your budget
  • Documented behaviour that previously existed only in legacy code

Tell us what the old system still does that nothing else can

That is usually the shortest route to a plan, and the list is often shorter than anyone expects.