Artificial intelligence can empower federal program managers with the technology necessary to simplify critical systems maintenance.
When the onslaught of unemployment claims filed early in the COVID-19 pandemic forced many of the decades-old government computer systems responsible for processing those claims to crash, calls to replace those “outdated” systems grew to a crescendo.
The outcries escalated when political leaders went public, begging for COBOL developers to step forward. Finding developers with the language skills to maintain a legacy system became a nationally recognized issue: More COBOL programmers are in retirement than in IT departments right, according to a recent NPR article.
Legacy Isn’t the Problem
Despite the attention-grabbing headlines, though, the root cause of the pandemic-prompted problems was much more complicated than simply blaming an old programming language and recommending that the old systems should be modernized.
Modernization seemed like an easy solution amid the crisis. But as Gartner senior analyst Thomas Klinect and vice president Mike Chuba wrote in a 2019 report, “Replacing existing systems because people perceive them to be old can be a costly mistake” and replacing them is not easy.
Recent analysis pointed out that even unemployment systems that migrated to new technology crashed under the volume of claims. Furthermore, even if the system could support the load, many agencies struggled to keep up with changing laws and regulations.
Change Is a Constant
Many leaders in government and the public did not understand that while the cause of the change was extraordinary, the need to change is a fact of life. Whether labeled legacy or modern, systems must adapt to stay relevant in a constantly evolving environment. In 2016, The Software Improvement Group reported that, on average, 15% of a codebase of a certain size is changed each year.
With an estimated 75% of the total cost of ownership of custom software categorized as maintenance, understanding how to improve this part of the lifecycle can have significant benefits in ordinary and extraordinary times.
While many agencies with COBOL-based systems have a maintenance strategy in place, they focus entirely too much on the challenges of finding developers with language skills but do not have efficient solutions for the more pressing issue—the loss of knowledge about the system. Whether employing ineffective "knowledge transfer" approaches by collaborating with subject-matter experts or using tools to supply documentation about those systems, becoming productive and proficient on these systems typically requires 18 to 36 months of on-the-job training.
Making code changes requires different cognitive processes than initially authoring the code. The developer is given information that describes how the behavior of the system should change (e.g., extend unemployment benefits to gig workers). The code implementing individual behaviors, such as determining the type of worker, must be found across a codebase that might contain hundreds of modules, analyzed and then reanalyzed to ensure the proposed change is not going to have unintended consequences.
Change isn’t going away. Consequently, we need a technology that can make finding the code as efficient and accurate as possible.
Using AI to Help
Artificial intelligence tools are increasingly deployed to bridge the productivity gap in maintaining software. AI excels at processing large amounts of data and can aid developers in their search. By conceptualizing what the computation represents and leveraging machine speed, AI tools can eliminate code that is unrelated to the specific behavior sought and present to the developer only the relevant code. The developer can then be confident that they are analyzing and changing only and all of the right code with a fraction of the effort.
Once the developer has made the change, AI tools can automate the forward simulation of impact verification. Again, the developer is not left to parse through large amounts of irrelevant code to perform the specific task but can rely on the power of the machine.
The key to maintaining or modernizing a system is precisely identifying behavior written in the lines of code spread throughout the system. Leveraging the power of AI to improve developer efficiency, fix defects in minutes and ultimately maintain with ease enables government organizations to better position themselves for our increasingly digital future.
Steve Brothers is president of Phase Change.
NEXT STORY: People Don't Realize They're Data Breach Victims