Modernising Legacy Business Software: Rebuild, Refactor or Replace
Suneeb · Founder, Engineering & delivery

Plenty of UAE businesses run on software that was written ten or fifteen years ago. A desktop accounting package that only works on one old PC. An in-house system built by a developer who left years ago. A heavily customised product whose vendor no longer supports that version. It still works, mostly, and that is exactly what makes the decision hard.
This guide sets out the honest options, including the ones that do not involve a rebuild, and a framework for choosing between them.
Signs your business software has become legacy
"Legacy" does not simply mean old. It means the system has become a constraint on the business. Common signs:
- Unsupported platform. The operating system, database or framework it runs on no longer receives security updates.
- Single-person dependency. Only one developer or one staff member understands how it works.
- No integration options. It has no API, so every connection to another system means exports, imports or re-keying.
- Workarounds everywhere. Staff maintain spreadsheets alongside it because it cannot do what they need.
- Changes are slow and risky. Small changes take weeks and break unrelated things.
- It cannot meet new requirements. New compliance rules, a new branch, a new sales channel, or remote access are hard or impossible.
One or two of these can be lived with. Several together usually means the cost of keeping the system is quietly growing.
The modernisation options
Maintain and stabilise
Sometimes the right answer is to keep the system, fix what is fragile, document it and put proper support in place. This suits systems that still fit the business well and whose main problem is neglect rather than design. It buys time cheaply, but it does not fix structural limitations.
Rehost or move to the cloud
Move the application, largely unchanged, from an office server to cloud infrastructure. This improves availability, backups and remote access, and removes the risk of a single ageing machine. It does not change what the software can do, and some older desktop applications are awkward to rehost without remote desktop arrangements.
Refactor
Improve the existing code without changing what it does: upgrade frameworks, restructure messy parts, add tests and add an API. Refactoring suits systems whose business logic is sound but whose code has decayed. It preserves years of embedded rules, but it needs a codebase that is worth keeping and developers who can understand it.
Rebuild
Write a new system, using the old one as a reference for what the business needs. Rebuilding suits processes that genuinely differentiate the business and are not well served by any product on the market. It gives you a clean foundation, but it is the most expensive route and carries the risk of trying to replicate every old quirk instead of rethinking the process.
Replace with off-the-shelf
Move to an existing product, configured to your needs. For standard processes such as accounting, payroll or basic inventory, this is often the best option and we say so. It fails when the business has to bend its core operations to fit the product, or when heavy customisation recreates the problems of the old system. Our guide to custom software vs off-the-shelf covers that decision in more depth.
Decision framework
Score your situation against these factors. Each points toward a different route.
- Business fit — if the system still matches how you work, lean toward maintain, rehost or refactor. If the business has moved on, lean toward rebuild or replace.
- Code and platform quality — sound code on a supported platform favours refactoring. Unsupported platforms or code nobody can safely change favour rebuild or replace.
- Integration needs — if the main gap is connecting to other systems, refactoring to add an API may be enough.
- How standard the process is — standard processes favour off-the-shelf. Distinctive processes favour rebuild.
- Compliance gap — if the system cannot meet a firm regulatory deadline and cannot reasonably be extended, the timeline may decide for you.
- Budget and risk appetite — limited budget and low tolerance for disruption favour incremental routes.
Most real answers are mixed: rehost now to remove an infrastructure risk, replace the accounting module with a standard product, and rebuild the one workflow that is genuinely yours.
Incremental modernisation: the strangler approach
The most reliable way to modernise a system the business depends on is rarely a single switch-over. The strangler approach replaces it piece by piece:
- Put an integration layer, usually an API, in front of or alongside the legacy system.
- Build one new module, such as order entry or reporting, that reads and writes through that layer.
- Move users to the new module while the rest of the old system keeps running.
- Repeat, module by module, until the old system does nothing and can be retired.
Each step is small enough to test properly and roll back if needed. The trade-off is that for a period you run two systems and maintain the links between them, so it needs clear ownership and a roadmap that actually reaches the end.
Risks and how to reduce them
- Scope creep. Rebuild projects attract every wish-list item. Agree a first release that matches what the old system does well, plus a small number of high-value improvements.
- Data migration. Old systems hold inconsistent data. Plan and rehearse it early; see our guide to planning your data migration.
- Lost business rules. Old code often contains rules nobody remembers. Interview users and read the code before discarding anything.
- User adoption. Staff who have used a system for years are fast in it. Involve them early and budget for training.
- Parallel running costs. Running two systems costs time. Set an end date.
UAE-specific triggers: e-invoicing, VAT and data protection
For many UAE businesses, regulation is what turns modernisation from "someday" into a deadline.
- E-invoicing. The UAE is introducing a Peppol-based e-invoicing model in which invoices are exchanged as structured data through Accredited Service Providers. Per the Ministry of Finance programme timeline published in June 2026, a pilot runs from 1 July 2026, businesses with revenue of AED 50 million or more are due to go live on 1 January 2027, and other businesses from 1 July 2027. Confirm the dates that apply to you with the Ministry of Finance or FTA, as timelines can be updated.
- VAT. Tax invoices must carry specific information, and the system issuing them must produce it reliably.
- Data protection. Systems holding personal data need appropriate security and access controls under the UAE data protection law (Federal Decree-Law No. 45 of 2021).
A legacy system that cannot produce structured invoice data or connect to an accredited provider will need extending or replacing. See preparing for UAE e-invoicing for what that involves.
A quick legacy health check
Before you choose a route, answer these questions honestly. Each "no" is a risk worth addressing, whatever you decide.
- Do we have the source code, and is it in a repository we control?
- Is there documentation that someone other than the original developer could follow?
- Are backups taken automatically, and has a restore been tested recently?
- Does the platform still receive security updates?
- Can more than one person support the system?
- Can the system exchange data with other software without manual exports?
- Can it meet the compliance requirements we know are coming?
Planning the first 90 days
- Days 1 to 30: audit. Document what the system does, who uses it, where it runs, what it connects to, and where the code and data are. Identify single points of failure.
- Days 31 to 60: stabilise. Fix the biggest immediate risks: backups, access, unsupported infrastructure, undocumented credentials. Put proper maintenance and support in place if there is none.
- Days 61 to 90: roadmap. Use the decision framework to choose a route for each part of the system, sequence the work, and set a realistic budget.
We do this kind of assessment as part of our custom software development work, and we will tell you if the right answer is a product rather than a build. If you have a system you are worried about, book a system review.
Frequently asked questions
When the cost and risk of keeping it exceed the cost and risk of changing it. Typical signs are an unsupported platform, dependence on one person, no way to integrate, constant workarounds and an inability to meet new compliance requirements.
Refactoring improves the existing code without changing what the system does, keeping its embedded business rules. Rebuilding writes a new system from scratch, using the old one as a reference. Refactoring is usually cheaper and lower risk if the code is worth keeping.
Often, yes. Rehosting moves the application to cloud infrastructure largely unchanged, which improves availability and backups. It does not add new capabilities, and some older desktop software needs remote desktop arrangements to work this way.
Only if it can produce structured invoice data in the required format and exchange it through an Accredited Service Provider, directly or via an integration. Many older systems will need extending or replacing to do that.
It depends on the route and the size of the system. Rehosting is the quickest; a full rebuild takes the longest. An incremental approach spreads the work over stages, which reduces risk and lets the business see results earlier.


