Legacy software: rebuild, modernize or migrate
How an SME decides whether to keep, modernize or rebuild the software it has used for years, and how it changes it without stopping work.
Rebuild, modernize or migrate: what is the difference?
Rebuilding means rewriting the software from scratch; modernizing means changing it piece by piece while it stays in use; migrating means moving data and work to another system, new or ready-made. Legacy software is software still in use that has become hard to change, because its technology is outdated or because the people who knew it are gone. This guide is mostly about the management system, the software that touches the most processes: almost one Italian SME in two with at least 10 employees uses an ERP system, 48.8% in 2025 according to ISTAT.
In practice there are six paths, and they are often combined.
| Path | When it pays | Risk | Times and costs |
|---|---|---|---|
| Keep it and protect it | it works, it is still supported and nobody asks it for things it cannot do | low today, growing as the end of support draws near | maintenance, estimated on the work it really needs |
| Connect it through APIs | the problem is data copied by hand between two systems | low: the old system stays as it is | after the feasibility study |
| New interface on top | the engine holds up, but the screens slow work or fail on tablets | low, if the system has APIs or a readable database | after the feasibility study |
| Replace it one module at a time | the system holds work back, but it contains years of rules nobody has written down elsewhere | spread out: each step goes into production and can be stopped | from 10,000 € for the first module, in 6-8 weeks |
| Rebuild it in one go | the technology is no longer maintained, or the data model blocks the business | high: for months you pay for the new system and still use the old one | like new software, plus data migration |
| Ready-made product | the part does not set you apart: accounting, invoicing, payroll | low on the software, high if the process has to bend to the product | the product fee, plus data migration |
An API is the point through which one piece of software exchanges data with another without a person copying them. Connecting and redoing the interface are the lightest paths: in a field service dashboard and in a telecare one, the existing backend stayed where it was and the new interface talks to it through its APIs. The other paths, and how they connect to each other, are on the page on ERP integration.
Rebuilding it in one go costs as much as new software: from about 15,000 € in 2-3 months for an essential management system, from 45,000 € and from 4 months for a platform, plus data migration.
Many guides name the paths with words that start with R. Keeping it is retain; moving it as it is to another server or to the cloud is rehost, and moving it with a few changes, for example to a database managed by the cloud provider, is replatform. Cleaning up the code without changing what it does is refactor, redesigning its structure is rearchitect, rebuilding it in one go is rebuild, moving to a ready-made product is replace. Connecting it through APIs is encapsulate, and replacing it one module at a time is the strangler fig pattern, described further on.
The feasibility study takes 1 to 2 weeks and costs up to 2,500 €, deducted from the first piece of work if you sign. We read the code and the database, measure how much manual work the system costs today and choose the path. The six paths do not exclude each other. The most common solution is a ready-made product for accounting, custom modules for the work that sets you apart and the old system connected through APIs for as long as it is needed.
One question decides between a ready-made product and custom software: is that part of the work the same as everyone else's, or is it how you stand apart from competitors? In the first case a ready-made product costs less, the vendor handles the updates for new rules and the process adapts to the product. In the second, bending the process to the product takes away exactly what sets you apart. AI assistants' answers also carry a threshold: custom software when customizations exceed 30% of the features in use. Among the pages we read for this guide only one gives it, without a source, and the deciding question stays the other one: what matters is what you customize, not how much.
The figures in this guide
Prices and durations are those of Volcanic Minds, current at the date at the top of the page. Figures from others come from the sources listed at the bottom.
When does it really need replacing?
When keeping it costs you more than changing it, or when it stops being secure. Age alone is not a reason: a twenty-year-old management system that does its job, receives security updates and connects to what it needs to is worth keeping.
The clearest sign is the end of support. When the operating system, the database or the environment the software is written in no longer receive security updates, every flaw discovered from that day on stays open. Here are three components often found under SME management systems.
| Component | End of support | What it means |
|---|---|---|
| Windows 10 | 14 October 2025 | the operating system is no longer supported by Microsoft |
| SQL Server 2016 | 14 July 2026 | security updates continue only through Extended Security Updates, taken out separately, at most until 16 July 2029 |
| Visual Basic 6 | 8 April 2008 for the development environment | programs already written still run, but Microsoft fixes only serious regressions and critical security issues, and there is no supported way to write or maintain them |
The other signs are measured in hours and lost opportunities. Data move by hand from one system to another, and every transfer is a possible error. Only one person knows how the software works, and it is the person about to retire or the supplier that has closed. Every change costs more than the last and takes longer. The software does not run on the tablets and phones your people already use, or a new rule, as e-invoicing was, becomes a project instead of an update.
One sign alone is not enough to decide, but two or three together say it is time to run the numbers.
How much does it cost to keep it, and how much to change it?
Changing it one module at a time starts from 10,000 € for the first module; rebuilding an essential management system in one go starts from about 15,000 €, plus data migration. Keeping it costs the maintenance you pay today, plus manual work and risk: to decide, you compare three years of real costs, item by item, not a percentage. In the automatic answers of search engines you find a threshold: replace the system when maintenance exceeds 30-40% of the cost of a rebuild. None of the pages we read for this guide gives a source for it, and a ratio between two costs leaves out the items that weigh most: manual work and risk.
| Item | If you keep it | If you change it |
|---|---|---|
| Maintenance | what you pay today, and how much it has grown in recent years | maintenance of the new system, estimated on the work it really needs |
| Licences and infrastructure | licences, servers and, when normal support ends, extended support | hosting and component licences |
| Manual work | the hours spent copying data, redoing reports and working around the system's limits | the hours that remain after the change |
| Risk | a stoppage, a security incident, a single person who knows how it works | the risk of the switch, covered by data tests and a plan for going back |
| Cost of the change | none | the project, data migration, training, the period with two systems running |
| Opportunities | the customers and connections you give up because the system cannot handle them | what the new system lets you do |
Manual work is the item that does not appear in the accounts, because it sits in salaries: you measure it by counting the hours of a typical week. In the feasibility study we make the comparison with your figures, and if keeping the system pays, we write that down. How the price of custom software is formed, and why maintenance is not calculated as a percentage, is in the guide how much custom software costs.
When does it pay to rebuild from scratch?
More rarely than people think. Rewriting everything wipes out years of fixes for edge cases, which are in the old code even if nobody documented them. It pays in three cases: the technology is no longer maintained, it has fallen so far behind current technology that every change costs more than rewriting it, or the data model prevents what the business needs. This happens, for example, when you need several sites or several companies and the system allows only one.
The most cited case is Netscape, told by Joel Spolsky in 2000: the company decided to rewrite its browser from scratch, and there was never a version 5.0. When 6.0 entered its first public beta, 4.0 had come out almost three years earlier, while its market share collapsed. Spolsky called it the worst strategic mistake a software company can make, and explained why: the lines of old code that look useless are, for the most part, bug fixes.
Martin Fowler, who gave gradual replacement its name, writes that the plan of rebuilding the same system in a new technology fails most of the time. Replacing a serious system takes a long time, he explains, and meanwhile its users cannot wait for new features. That is why even when you rewrite, you release in parts, and each part goes into production as soon as it is ready.
Would you rather talk it through?
Book a call with people who work on these topics every day: we will look at your case together.
How do you change it without stopping work?
One piece at a time, with the old system running until the new one has shown it does the same work. The method is called strangler fig, after the fig that grows around a tree until it takes its place. In front of the old system you put a routing point that sends each request to the old or the new one, and with each module that is ready the new one's share grows. In Microsoft's description, the people using the system keep working with the same interface and do not notice that a migration is under way.
| Step | What happens |
|---|---|
| First module | you choose the part that hurts most and has clear boundaries, and build it connected to the old system |
| Data tests | you migrate a copy of the data and reconcile the totals: customers, balances, the year's invoices must match in both systems |
| Parallel run | for an agreed period the same operations go through both systems, the results are compared and the people who will use the new module learn how to use it |
| Switch | the new module becomes the one in use, at a quiet time, with a plan for going back written beforehand: until when, who decides, how |
| First weeks | the people using the new module have someone who answers straight away, and the old system stays ready for going back |
| Shutdown | the old part is switched off, and its data go into the new system or into an archive |
Reconciling means checking that the figures add up: not that the data were copied, but that they say the same things. Data migration is tested before the switch, not during it. How we connect two systems without stopping them, from the data map to the API contracts, is described on the integration page.
The method does not always fit. According to Microsoft it does not suit cases where requests to the old system cannot be intercepted, or where you have no access to the code and no other point to connect from, such as the database. The same holds, according to Microsoft, where the system is small and replacing all of it is simple, and where the old part has to be decommissioned quickly. In these cases you rebuild in one go or choose a ready-made product, with the same data tests.
A ready-made product does not remove the risk of the switch. Gartner predicts that by 2027 more than 70% of recently implemented ERP initiatives will not fully meet the business goals they started with. It names technology-centric approaches that do not involve the stakeholders as the cause. The people who will use the new system join the project from the start, not on the day of the switch.
What happens to historical data?
They are not thrown away. The law asks you to keep part of them for years, and the GDPR asks you not to keep personal data longer than necessary. For each type of data you decide whether to migrate it, archive it read-only or delete it.
Article 2220 of the Italian Civil Code requires accounting records to be kept for ten years from the date of the last entry, and for the same period the invoices and correspondence received and the copies of those sent. They can be kept in digital form, provided they can be made readable at any time. The Sistema di Interscambio is the national e-invoicing exchange system. If you have joined the free retention service of the Agenzia delle Entrate, the Italian Revenue Agency, the e-invoices that went through it stay retained there for 15 years, even if you close your VAT number. For personal data the storage limitation of article 5 of the GDPR applies: they are kept in a form that allows people to be identified only for as long as necessary for the purpose they were collected for.
| Data | What you do with them | Why |
|---|---|---|
| Master data and history you use every day | you migrate them into the new system, cleaned | the work needs them |
| Accounting records, invoices, business correspondence | you migrate them, or keep them in a read-only archive for ten years from the last entry | article 2220 of the Italian Civil Code |
| E-invoices that went through the Sistema di Interscambio | if you joined, the Agenzia delle Entrate keeps them for 15 years; into the new system you migrate those you need for your work | retention service of the Agenzia delle Entrate |
| Personal data with no remaining purpose | you delete them | article 5 of the GDPR |
| Everything else | read-only archive, searchable and exportable | you do not keep the old system running, and paying, only to look things up |
Your accountant tells you whether longer terms apply to some years. Like the other guides, this one is a technical contribution, not legal advice.
What if the supplier is gone?
You start again from the code, if you have it, otherwise from the database and from what the software does. Italian copyright law gives the employer, unless otherwise agreed, the economic rights to software written by its employees (article 12-bis of Law 633 of 1941). When a supplier writes the software, however, what passes to you is set by the contract: the first thing is to reread that contract.
If you have the code, a new team reads it, reconstructs the rules it contains and chooses the path. If you do not, the work starts from the database and from what the software does, observed with the people who use it every day. Without code and without another point to connect from, replacing it one module at a time cannot be done, and you move to rebuilding it or to a ready-made product.
With us the problem does not arise: each paid milestone transfers to you ownership of the part of the project it covers, and the transfer is written into the contract. If one day you change supplier, the code is already yours.
With a ready-made cloud product the code stays with the vendor, and what matters is being able to take your data back. The European Data Act requires providers of software as a service to export it in a commonly used, machine-readable format and to remove the obstacles to switching to another provider. According to the European Commission, from 12 January 2027 the provider can no longer charge you for switching or for taking your data out.
What if the person who knows it retires?
Before choosing the path, you secure the system while that person is still there. You recover the source code, with the contract that says who owns it, and the credentials for servers, databases and connected services. You take a full copy and try restoring it on another machine: a backup nobody has ever restored does not prove the data can be recovered. Then the person who knows the system shows whoever will take it over the operations nobody else can do: the month-end close, the price list updates, the errors they already know how to work around. Securing the system starts at 5,000 €.
Once this is done, the choice is no longer urgent, and the feasibility study starts from a safe base: the code, the database and what until now only one person knew.
Does AI help modernize old software?
Yes, in reading it and testing it, not in deciding. Code assistants read undocumented code and describe what a function does, find the parts nobody calls any more and write the tests that pin down current behaviour before it is changed. What they say has to be checked: tests on real data and a person who answers for the result remain the criterion.
Even before language models, on large systems the analysis was done with automated tools. For an automotive company we analysed the code quality of a couple of applications that ran to tens of thousands of files: by hand it would have taken too long and cost too much. How the debt accumulated in a system is measured and managed is told in the article on technical debt. AI makes us faster, and we do not bill you for the hours saved.
An illustrative example: a distributor's management system
The example is illustrative: the company is invented, the durations and figures are those of our price list.
A spare parts distributor with twenty people uses a management system written in Visual Basic 6 by a supplier that has closed, on a Windows server with SQL Server 2016. It has the code, because the contract provided for it. The sales agents take orders on paper and dictate them over the phone, and accounting runs in a commercial product that works well.
| Phase | Duration | What happens | Cost |
|---|---|---|---|
| Feasibility study | 1-2 weeks | reading code and database, choosing the first module, the quote | up to 2,500 €, deducted from the first module if you sign |
| First module: agents' orders | 6-8 weeks | tablet orders enter the new system and pass to the old one | from 10,000 € |
| Next modules | one at a time | price lists, warehouse, customers, each with data tests and a parallel run | in the quote for each, with a range and a maximum |
| Shutdown | at the end of the last module | the history goes into a read-only archive and the old server is switched off | in the quote for the last module |
The study also counts the hours of manual work and writes the plan for historical data. In the first module, orders reach the old system through its database, and the rest of the work does not change.
Accounting stays in the product the company already uses, connected through APIs: rebuilding it would add nothing. Each module goes into production on its own, and if after the first one the company decides to stop, it still has orders from tablets and the management system it had before.
How do you compare two modernization proposals?
Ask every supplier the same questions, in writing: which path and why, what goes into production first, what happens to historical data and how you go back. Then how long the parallel run lasts, whether work stops, who trains the people, what it costs over three years, who documents the rules found in the code and when the code passes to you. A proposal that skips the data plan or the way back pushes the risk to the day of the switch.
| Question | What they must answer |
|---|---|
| Path | which of the six, and why not the others |
| First release | which part goes into production first, and when |
| Historical data | what is migrated, what goes into the archive, how the totals are reconciled |
| Parallel run | how long it lasts and who compares the results |
| Going back | how you return to the old system if the switch goes wrong, and until when |
| Stoppage | whether work stops, for how long and on which day |
| People | who trains the people who will use the new system, when, and who answers in the first weeks |
| Costs over three years | project, maintenance, licences and infrastructure, for the new system and for the old one while it stays running |
| Rules found in the code | who documents them, and where you find them |
| Code ownership | when it passes to you, with repositories, access and documentation |
For the rest of the quote, the items in the guide on costs apply.
Sources and further reading
- “Strangler Fig pattern”, Azure Architecture Centerlearn.microsoft.com, accessed 22 October 2026
- Martin Fowler, “Strangler Fig”, 22 August 2024martinfowler.com, accessed 22 October 2026
- Joel Spolsky, “Things You Should Never Do, Part I”, 6 April 2000joelonsoftware.com, accessed 22 October 2026
- “Windows 10 Home and Pro”, product lifecyclelearn.microsoft.com, accessed 22 October 2026
- “SQL Server 2016”, product lifecyclelearn.microsoft.com, accessed 22 October 2026
- “Support Statement for Visual Basic 6.0”learn.microsoft.com, accessed 22 October 2026
- Italian Civil Code, article 2220, retention of accounting recordsnormattiva.it, in Italian, accessed 22 October 2026
- Agenzia delle Entrate, “Registrazione e conservazione delle fatture” (Recording and retention of invoices), frequently asked questions on e-invoicingagenziaentrate.gov.it, in Italian, accessed 22 October 2026
- Regulation (EU) 2016/679 on data protection (GDPR), article 5eur-lex.europa.eu, accessed 22 October 2026
- ISTAT, “Imprese e ICT, anno 2025” (Enterprises and ICT, 2025), 15 December 2025istat.it, in Italian, accessed 22 October 2026
- Gartner, “What IT Leaders Must Do to Avoid Disappointing ERP Initiatives”, analyst Denis Toriigartner.com, accessed 22 October 2026
- European Commission, “Data Act explained”, chapter VI on switching between data processing servicesdigital-strategy.ec.europa.eu, accessed 22 October 2026
What is legacy software?
It is software still in use that has become hard to change, because the technology is outdated or because the people who knew it are gone. It does not mean it should be thrown away: you change it when keeping it costs more than changing it, or when it stops being secure.
How much does it cost to modernize a management system?
It depends on the path. The feasibility study costs up to 2,500 €, deducted from the first piece of work if you sign; replacing the first module starts at 10,000 €, in 6-8 weeks. Rebuilding it in one go costs as much as new software, from about 15,000 € for an essential management system and from 45,000 € for a platform, plus data migration. If the person who knows the system is about to leave, securing it starts at 5,000 €.
Can you change management system without stopping the business?
Yes, by replacing it one module at a time. The old system stays running until each new module has passed the data tests and a parallel run, and the switch has a plan for going back written beforehand.
Does it pay to move from a management system installed on the PC to a web one?
Often it does. A web management system opens in the browser on computers, tablets and phones, does not need installing on every workstation and is updated in one place. It is secure because of how it is built and run, not because of where it sits: mandatory HTTPS, multi-factor authentication, role-based permissions and backups with documented restore procedures. The data live on the cloud chosen together or on your own infrastructure, and a program installed on an operating system out of support is less protected than an up-to-date web application.
How long must the data of the old management system be kept?
Accounting records, invoices and business correspondence for ten years from the date of the last entry, as article 2220 of the Italian Civil Code requires. Personal data that are no longer needed are deleted, under the GDPR. Your accountant tells you whether longer terms apply to some years.
Does it pay to rebuild old software from scratch?
Rarely. It pays when the technology is no longer maintained, when it is so far behind that every change costs more than rewriting it, or when the data model prevents what the business needs. In the other cases it pays to replace it one module at a time, staying in production.
Does your management system need replacing?
Tell us what it costs you today: we tell you whether it pays to keep it, connect it or replace it, before proposing a project.
- You won't talk to a salesperson
- NDA before we get into the details
- The code stays yours
Articles on the same topics.

This website for people and agents
Static pages with Astro, content in Git, publication on Cloudflare Pages: the choices behind the site we have published since October 2026, and the checks that hold them up.
Read
Web Bot Auth: visitors with no eyes
AI agents read your site and convert better than organic, yet they never show up in analytics. How to measure them and verify them with Web Bot Auth.
Read
Generative UI: for humans and machines
Explore how Generative UI and Dual-Interaction UX transform enterprise SaaS by creating adaptive interfaces for human operators and AI agents.
Read