Somewhere in your business, there is a system that everyone relies on but nobody fully understands. It might be an Access database built by someone who left the company eight years ago. A set of interconnected Excel spreadsheets with macros that break if you look at them wrong. A custom-built application running on a server under someone's desk.
It works. Mostly. Until it doesn't. And when it breaks, the only person who knew how it worked has retired, moved interstate, or is simply unreachable.
The Hidden Risk of Legacy Systems
Legacy systems don't fail dramatically. They degrade slowly. The spreadsheet that takes three minutes to open instead of three seconds. The database that corrupts once a quarter and needs to be restored from backup. The custom app that can't run on the latest version of Windows, so one machine in the office stays on Windows 7.
Each of these is a warning sign that gets normalised. Staff develop workarounds. Management accepts the limitations because replacing the system seems too hard or too expensive. The risk compounds quietly until something breaks at the worst possible time.
Common Legacy System Patterns
- Microsoft Access databases holding critical business data with no backup strategy and no documentation.
- Excel workbooks with complex VBA macros that automate key processes — pricing, scheduling, reporting — built by a former employee.
- Custom software built on frameworks that are no longer supported (Classic ASP, Visual Basic 6, FoxPro).
- On-premise servers running end-of-life operating systems because a critical application won't run on anything newer.
- Business processes that depend on a single person's knowledge of how the system works, with nothing written down.
The Modernisation Path
Modernisation does not always mean a complete rebuild. Often the right approach is incremental:
- Document what exists. Map the system's inputs, outputs, logic, and integrations before touching anything.
- Identify the business-critical functions. What must the replacement do on day one? What can be phased in later?
- Evaluate cloud alternatives. Many legacy system functions can now be handled by off-the-shelf SaaS platforms at a fraction of the cost of custom development.
- Migrate data carefully. Data trapped in legacy systems is often messy. Plan for data cleaning as part of any migration.
- Run parallel systems during transition. Never cut over from old to new in a single day.
The cost of modernisation is always less than the cost of a catastrophic failure of a system that nobody can fix.