The invisible $1.52 trillion problem: clunky old software

A big part of reducing technical debt is rewriting code and in some cases, re-architecting whole systems. (Illustration: Brian Stauffer for WSJ)
A big part of reducing technical debt is rewriting code and in some cases, re-architecting whole systems. (Illustration: Brian Stauffer for WSJ)

Summary

Old code piles up and raises the risk of hacks and other breaches

As companies race to build the latest and greatest software for their businesses, they are overloading their tech balance sheets with an oft-ignored kind of debt.

It’s known as “technical debt." Underneath the shiny and the new, lurking in IT systems where it creates security vulnerabilities and barriers to innovation, is an accumulation of quick fixes and outdated systems never intended for their current use, all of which are badly in need of updating.

Technical debt manifests in myriad ways, from system failures and slower innovation, to security breaches. It was behind the cancellation of more than 13,000 Southwest Airlines flights in late December 2022, which stranded passengers and bags all over the U.S. during the height of the holiday travel season. It’s also, according to experts, a primary driver of the many software vulnerabilities which led to dozens of hacks in the past 12 months, including exploits of critical systems operated by Google, Apple and Microsoft.

This technical debt would require $1.52 trillion to fix, and costs the U.S. $2.41 trillion a year in cybersecurity and operational failures, failed development projects, and maintenance of outdated systems, according to a 2022 report by a software industry-funded nonprofit. That’s more than 2.5 times what the U.S. government pays in annual interest on the national debt. The author of that report, retired University of Texas at Austin software engineering professor Herb Krasner, says he believes that debt has now climbed to nearly $2 trillion.

Technical debt has parallels with our national debt, in that it compounds over time, ballooned during the pandemic, and has reached worrisome proportions. It’s also akin to our aging physical infrastructure, because it’s already leading to hazardous conditions in our everyday lives.

Many software professionals are also worried that the rise of AI as an aid to software development will only make the problem worse. The reason is that anything that makes it easier for coders—especially less-experienced ones—to write and ship software tends to lead to more technical debt. For coders, getting features out the door is often prioritized, rather than taking the time to optimize that code to be as efficient as possible.

It’s the same flaw in our collective priorities that drives our failures to maintain our physical infrastructure.

“Technical debt is one of those invisible issues that people either know they have a problem with, or they don’t know, and that’s worse," says Roger Williams, a vice president of research at Gartner. “It happens because it’s cheaper and easier to put things off for tomorrow, just like anything we have at home."

The only lasting fix for technical debt is for management to empower the IT side of an organization to start saying no to all the requests for shiny new things, and focus on making what an organization already has more robust, more secure and futureproof.

This required maintenance could be a hard sell for some businesses which may be willing to spend on building new technical capabilities, but shy away from paying for work that doesn’t necessarily bring them anything new.

“The number one thing keeping us from retiring technical debt is the fact that the business wants new capabilities," says Bill Curtis, chief scientist at Cast Software, a company which makes tools to help organizations understand their own sprawling software systems. “There has to be a policy that some percentage of our time has to be used to bring down technical debt, and they have to enforce it."

Without such policies, building new things and pivoting to new businesses is all that much more difficult.

Imagine software as a giant mechanical contrivance. Bolting more pieces onto a machine can give it new abilities, but doing so doesn’t change how it operates, at its core. And those innards may be straining under the burden of driving new functions. The more complicated the software machine becomes, the trickier it can be to get it to do new things. In this way, technical debt becomes an ever-increasing drag on productivity.

“People are not changing their ways, in terms of technology and processes" says Krasner, who has studied the problem in depth. “It really has to do with the trade-off of building quality in, versus getting things out the door quickly."

Technical debt is most acute for the world’s oldest and most august organizations, which is a problem, because they’re the ones we often rely on the most. For example, America’s banks and financial institutions are disproportionately burdened with technical debt. Many have systems that still rely on Cobol, a programming language first released in the early 1960s, as part of a program sponsored by the U.S. Department of Defense.

“Banking systems are loaded with Cobol, it was built ages ago, it’s not documented, and the guy who built it is probably dead," Curtis says.

Fixing America’s—and the world’s—technical debt may require outside intervention. A big part of reducing technical debt is rewriting code and in some cases, re-architecting whole systems.

Recently, the EU updated its laws on defective products to include software, AI and even incorrect data—as in a navigation system. This change should allow people to sue companies over defects originating in any of those things, where before the law only covered hardware.

Paying down the nation’s technical debt could also get a boost from new generations of software tools. AI-based coding tools make it easier to generate code that can contribute to technical debt, but they can also help analyze existing codebases in order to determine what needs to be updated and how, Krasner says.

Companies like ADP, the human resources management company, are using AI to help translate old code, including Cobol, into newer coding languages for which it’s easier to find knowledgeable programmers.

Years ago, companies owned their own servers, and the penalties for inefficient systems weren’t that great—just buy some more racks of computers and throw those at the problem. Now that everything has shifted, or is shifting, to the cloud, and companies are paying for computing a la carte, those inefficiencies mean bills that are, on average, double what they could be if old systems were optimized, says Ben DeBow, chief executive of Fortified, a consulting firm that helps companies manage and update their database systems.

Legislation and AI aside, one of the most common ways technical debt is eliminated is through what you might call technical bankruptcy—legacy companies get disrupted by new ones that don’t have the same burden of old systems. A primary driver for the success of cloud-based business software startups like Salesforce in the last two decades is, arguably, that these companies aren’t burdened with technical debt the same way as older companies.

Many institutions—including the U.S. government—can’t simply be replaced with shiny new models, however. The chief information officer of the U.S. Department of Defense recently said that he is considering issuing guidance to organizations across the military to retire and update software and hardware systems that are badly out of date.

In a world in which sophisticated adversaries like Russia and China can hack into U.S. systems, technical debt isn’t just about saving money or making it easier to innovate—it’s also a matter of national security.

Write to Christopher Mims at christopher.mims@wsj.com

Catch all the Technology News and Updates on Live Mint. Download The Mint News App to get Daily Market Updates & Live Business News.
more

MINT SPECIALS