Key takeaways
The share of US federal IT spending on operations and maintenance rose from about 69 percent in 2011 to about 75 percent in 2015 and roughly 80 percent in recent years.
Rising maintenance cost crowds out modernization. GAO found spending on development and modernization fell by $7.3 billion between fiscal 2010 and 2017.
Some critical systems are more than 50 years old and run on languages and hardware that are no longer supported.
Staged replacement behind a stable interface keeps the old system working until each part of the new one has been shown to produce the same results.
The maintenance share
The US federal government publishes unusually detailed data on what it spends to keep existing systems running, and the Government Accountability Office has tracked it for more than a decade. Of the $79 billion agencies budgeted for IT in 2011, about 69 percent went to operations and maintenance.1 By fiscal 2015 the share was about 75 percent.2 GAO’s more recent work puts it at about 80 percent of annual federal IT spending of more than $100 billion.3
Federal agencies are an extreme case, but they are not unusual in kind. Any organization that has run the same core systems for decades faces the same arithmetic: every year of deferred replacement adds to the cost of the next.
Maintenance crowds out change
Budgets do not grow to absorb rising maintenance. GAO found that increased operations and maintenance spending over fiscal 2010 to 2017 coincided with a $7.3 billion decline in spending on development, modernization and enhancement.2 The money to replace old systems was being spent keeping them alive.
The same report listed some of the oldest systems still in use. Several were more than 50 years old, written in assembly language or COBOL, and one ran on 1970s hardware that used 8-inch floppy disks.2
Note: Ages as reported by the agencies. Some components may be newer than the system as a whole.
Source: US Government Accountability Office, GAO-16-4682.
What makes a system legacy
Age alone is not the problem. Many old systems are reliable. A system becomes a liability when one or more of the following applies.
- Unsupported platform
- The operating system, runtime or hardware no longer receives security fixes, so risk rises every month without any change to the code.
- Scarce skills
- Few people can change it safely, and they are expensive or close to retirement.
- Undocumented rules
- Business rules exist only in the code. Nobody can say with confidence what the system does in every case.
- Tight coupling
- Other systems read its database directly, so any change to its structure breaks something elsewhere.
- Locked data
- Data can be extracted only through batch files or screens, which slows every project that needs it.
Why staged replacement
A full rewrite asks an organization to rebuild decades of undocumented behavior, then switch over in one step and hope nothing was missed. Staged replacement, sometimes called the strangler fig pattern, puts a stable interface in front of the old system and moves one capability at a time behind it, until the old system has nothing left to do.4
The test for each stage is simple: the new path produces the same results as the old one, on real data, before the old one is switched off.
The approach is slower to announce and faster to deliver value. Each stage is small enough to test against the old system’s output, and each one retires a piece of maintenance cost. If priorities change halfway through, what has been moved stays moved.
Five stages
- Record what the system doesCapture inputs and outputs from production as characterization tests before changing anything.
- Put an interface in frontRoute callers through an API or message layer so they stop depending on the old system’s internals.
- Move one capabilityChoose a capability with clear boundaries and high maintenance cost, and rebuild it behind the interface.
- Run both and compareProcess real transactions through old and new paths in parallel and reconcile every difference.
- Retire with evidenceSwitch off the old path only when the comparison is clean, and record the maintenance cost removed.
References
- 1.US Government Accountability Office. Information Technology: OMB and Agencies Need to More Effectively Implement Major Initiatives to Save Billions of Dollars (GAO-13-87). 2012. gao.gov
- 2.US Government Accountability Office. Information Technology: Federal Agencies Need to Address Aging Legacy Systems (GAO-16-468). 25 May 2016. gao.gov
- 3.US Government Accountability Office. GAO-23-106821. 2023. gao.gov
- 4.Martin Fowler. “Strangler Fig Application.” martinfowler.com
