Hashlogics
Report

Legacy modernization playbook

Five routes out of an old system, the risk each one carries, and the order that keeps the business running while you move.

What the playbook covers

4 things that decide this

  1. 01The big rewrite is the most popular route and the one that fails most often, because it asks you to stop improving the business for a year.
  2. 02Replacing a legacy system one function at a time keeps the old one live while the new one earns its place. Every step is reversible.
  3. 03The hardest part is rarely the code. It is the rules nobody wrote down, which live only in what the current system does.
  4. 04Choose the route by what you cannot afford to break, not by which technology the team prefers.
Why we wrote it

The rewrite that never lands

A legacy system is one people are afraid to change. That fear is usually earned. Nobody remembers why a rule exists, the person who wrote it left, and the only specification is the running code.

Rebuilding it properly is the instinct. So a team spends a year on a replacement while the old system keeps taking orders and drifting further ahead. On switch day, both systems are wrong in different ways.

The alternative is less exciting and it works. Pick one function, build it new, route real traffic to it, and delete the old path once it is proven. Repeat. Go4Gr8 moved off a no-code tool this way, and the value was never the chatbot. It was the multi-tenant infrastructure underneath, which is what turned an idea into something sellable.

Replacing a function without a shutdownLive
  1. Pick one functionThe riskiest one you can reverse
  2. Write the rules downObserved behaviour, not the docs
  3. Build beside itThe old path keeps serving
  4. Run bothCompare outputs on real traffic
  5. Switch the routeOne flag, reversible in seconds
  6. Delete the old pathUntil then, you own two systems

The last step is the one teams skip. Two live paths cost more than either alone.

The main finding

Five routes, and what each one costs you

Cost here is risk and effort, not money. Pick by the row that matches what you cannot afford to break.

RouteWhat it meansChoose it whenWhat it risks
Leave itFreeze changes and keep it runningIt works, nobody needs new features, and it is not blocking anythingSkills and dependencies age out from under you
Wrap itPut an API in front and build new work against thatThe data is right but the interface is the bottleneckYou are now maintaining the old system plus a layer
Re-platformMove it, mostly as-is, onto current infrastructureHosting and support are the pain, not the designOld design problems arrive intact at the new address
Replace function by functionBuild new pieces beside the old and switch traffic graduallyThe system is business-critical and cannot pauseTwo systems live at once, so the migration must finish
RewriteBuild the replacement whole, then switchThe system is small, or the business rules are genuinely knownA long gap where nothing improves, and both versions drift
The part that is not code

Recover the rules before you rebuild anything

Most modernization work fails on undocumented rules. A discount applies only to accounts opened before a certain date. An invoice rounds a particular way. Nobody remembers agreeing to either, and both are load-bearing for someone.

So the first deliverable is not architecture. It is a written record of what the current system actually does, recovered from its behaviour and confirmed by the people who depend on it.

Run the old and new paths side by side on real traffic and compare the outputs. Disagreements find the rules nobody could tell you. That comparison is worth more than any specification meeting, and it is the only method that discovers the rules nobody knew existed.

  • 01Start with the function whose failure you could reverse fastest, not the easiest one.
  • 02Keep the switch behind a flag so reverting takes seconds and needs no deploy.
  • 03Budget for deleting the old path. A migration that never finishes doubles the maintenance.
  • 04Write down each recovered rule as you find it, with the person who confirmed it.
Verified
Start

Anyone can ship the agent. We answer the pager.

We build AI agents and automation, then stay on under an agreed service level. A senior engineer reads every brief, and your call gets scheduled within 24 hours.

What happens next

  1. 01

    You send a brief or book a call

    Two minutes, whichever you prefer.

  2. 02

    A senior engineer replies within 24 hours

    Not a sales rep.

  3. 03

    Honest scoping, in writing

    And if we’re not the right fit, we say so.

Abdul Basit, CEO of Hashlogics

“I started Hashlogics because too many teams ship a demo, get paid, and disappear. We build to a standard we’d run ourselves — and we stay to keep it running.”

Abdul Basit · CEO · a direct line

Not ready to talk? Take the checklist.

12 questions to ask any AI agency before you sign. They separate a demo shop from a team that ships to production.

Get the checklist

Free · no newsletter