Doomity

Insights

What is a legacy system?

A legacy system is software your business still depends on but can no longer change safely — because the technology lost vendor support, the people who understood it left, or every modification risks breaking something nobody can predict. Age alone does not make a system legacy; the risk of touching it does.

The scale of the problem is public record. The US Government Accountability Office found critical federal systems up to 60 years old still in production, and federal agencies route roughly 80% of their IT spending to operating and maintaining what already exists, per GAO report GAO-25-107795. Doomity, a software development firm serving clients in the US, UK, Spain and Portugal, modernizes legacy systems without big-bang rewrites — this glossary explains what the term actually covers.

Updated: August 2026

Why do working systems turn into legacy systems?

By drift, not by decision. A framework version reaches end of life and the upgrade gets postponed. The developer who knew why the invoicing module works that way leaves. A quick workaround becomes load-bearing. Each choice was reasonable; the sum is a system nobody dares to touch.

The mechanism behind that drift has a name: technical debt. Debt is the accumulating cost of postponed engineering decisions — legacy is where a system lands when that debt compounds past the point of safe change. Doomity treats the two as one diagnosis: you cannot price a modernization without first mapping the debt that caused it.

What are the signs your system has gone legacy?

Six signs come up so consistently in Doomity's legacy assessments that they double as a self-test. One is an inconvenience; three or more is a diagnosis:

  1. Nobody wants to deploy. Releases are scheduled like surgery, because the last casual deploy caused an outage someone still remembers.
  2. The original builder is gone. The vendor closed, the agency moved on, or the one developer who understood it left — and took the mental map with them.
  3. The stack lost security support. VB6, classic Access, AngularJS, old Delphi or unpatched frameworks: no more fixes, whatever CVEs arrive next.
  4. Small changes cost weeks. Adding a field touches five modules, and the estimate for anything is 'it depends'.
  5. The knowledge lives in one head. A single person can restore the system when it breaks — and they have holidays, notice periods and a market value.
  6. Integrations run on workarounds. Manual exports, spreadsheet macros and scheduled copy-paste hold the pipelines together.

The free legacy scorecard at /tools/legacy-scorecard turns these signs into a ten-question self-assessment with a scored verdict.

Is a legacy system the same as an old system?

No — and the difference decides the budget. Old code that is supported, understood and tested is just mature software. Doomity has seen 20-year-old systems that were fine, and three-year-old microservices that were already legacy because the team that built them dissolved:

DimensionOld system that worksLegacy system
AgeHigh — and irrelevantAny — three years is enough
Support and patchesStack still receives security fixesEnd-of-life components, known CVEs unpatched
Team knowledgeDocumented, shared, survivableConcentrated in one person, or gone
Cost and risk of changeProportional to the changeDisproportionate — every change risks the whole
What to doKeep maintaining it; that is successAssess, stabilize, modernize incrementally

What are real examples of legacy systems?

The best-documented examples are public: government audit offices publish the age, language and risk of the systems they inspect, which makes them verifiable in a way private-sector anecdotes never are. Four stand out:

  • The IRS Individual Master File. The authoritative data source for US individual tax accounts is a 60-year-old application written in an archaic programming language, and the IRS has been working to replace it for well over a decade, per GAO report GAO-23-104719. Every individual tax refund in the United States still depends on it.
  • The Pentagon's nuclear coordination system. GAO documented in report GAO-16-468 (2016) that the Strategic Automated Command and Control System — which coordinates the operational functions of US nuclear forces — still ran on a 1970s IBM Series/1 computer and 8-inch floppy disks.
  • A 51-year-old Treasury system in COBOL. Among the critical systems in GAO report GAO-25-107795 is a Department of the Treasury system that after 51 years in production still runs on COBOL and assembly language — languages with a shrinking pool of people able to maintain them.
  • 28% of UK central government systems. The UK government's own State of digital government review (January 2025) estimated that 28% of the systems in central government departments were legacy in 2024 — up from 26% the year before.

The pattern Doomity finds in private-sector assessments is the same at a smaller scale — unsupported ERPs, Access databases, VB6 tools holding up daily operations — with one difference: no auditor publishes a report, so the risk stays invisible until it fires.

What risks does a legacy system actually carry?

Three, in rising order of visibility. Security: components past end of life accumulate known vulnerabilities with no patches coming. Continuity: the system depends on hardware, licenses or a person that can disappear on any given quarter. And opportunity cost — the quietest one: the McKinsey–Oxford study of 5,400 IT projects found large projects run 45% over budget and deliver 56% less value than promised, and DORA's 2025 report links poor delivery capability to exactly the change-fear legacy systems institutionalize. A system you cannot change safely is a strategy you cannot execute.

Do you have to rewrite a legacy system to fix it?

No — and the full-rewrite reflex is how one legacy system becomes two systems and a migration project. The alternative Doomity defends is incremental modernization: stabilize what is fragile, wrap what works behind clean interfaces, and replace components in slices that ship value while the old system keeps running. The decision framework between the two paths lives in rewrite vs refactor.

Doomity runs legacy modernization as a fixed-scope engagement that starts with an assessment, not a quote. Its engineers come from teams that built for Holcim, Canon España and Indra — organizations where the legacy system was the business — and its AI-integrated delivery process runs up to 40% faster, with every finding verified by a senior engineer.

FAQ

A legacy system means software an organization still depends on but can no longer change safely — usually because the technology lost vendor support, the original developers left, or any modification risks unpredictable breakage. The term describes risk, not age: a three-year-old system can be legacy, and a twenty-year-old one may not be.

The IRS Individual Master File is the classic example: a 60-year-old application that remains the authoritative source for US individual tax accounts, per GAO audits. GAO also documented a 51-year-old Treasury system running COBOL and, in 2016, a Pentagon nuclear coordination system on 8-inch floppy disks. Most companies run smaller equivalents: unsupported ERPs, Access databases, VB6 tools.

There is no official threshold — the practical test is whether you can change it safely. If the stack still gets security patches, the team understands the code and a deploy is routine, it is not legacy whatever its age. If changes are feared, knowledge is concentrated in one head or support has ended, it is legacy even if it launched three years ago.

Working today is not the metric — the metric is what happens when change arrives: a security patch you cannot apply, a regulation, an integration a big customer demands, or the one key person resigning. Modernization is cheapest while the system is stable and the knowledge is still in the building. It gets expensive precisely when it becomes urgent.

Usually more than its owners fear. The business rules encoded in a legacy system are the most valuable and hardest-to-recover asset a company owns — they survived decades of real operations. Modernization keeps those rules and replaces the fragile shell around them: unsupported frameworks, dead dependencies, undocumented integrations. Throwing everything away means paying to rediscover your own rules.

With an assessment, not a proposal. Doomity's free legacy scorecard at /tools/legacy-scorecard gives a scored first signal in three minutes. The next step, if warranted, is a fixed-scope technical assessment that maps risk, dependencies and knowledge concentration — walking away with a plan, whether or not Doomity executes it.

If three or more of the six signs sound like your system, the useful next step is an assessment that maps what is fragile, what is valuable and what order to fix it in — before the change you cannot postpone arrives.