In the modern world of business, mainframes are the central data repository in an organization’s data processing center, and they support thousands of applications and input/output devices, simultaneously serving thousands of users. Used to host the commercial databases, transaction servers and applications that require higher levels of security and greater availability than is commonly found on smaller-scale machines, mainframes are still utilized today by:
- 71% of Fortune 500 companies.
- 92% of the 25 largest retailers in the U.S.
- 96% of the world’s 100 largest banks.
- 90% of the 10 largest insurance companies around the globe.
Most corporate data still lives on the mainframe, and these systems offer advanced capabilities, flexibility, security, resilience to downtime and support for multiple operating systems. While most computer manufacturers have significantly invested in improving mainframe functionality and capabilities in recent years, organizations that rely on mainframe-dependent applications need to be able to leverage existing mainframe assets while simultaneously integrating new systems and technologies that move their businesses forward.
The Problem with Mainframe Modernization
As organizations across industries continue relying on legacy applications for much of their core functionality, those applications cannot stay static as organizations evolve. Unfortunately, mainframe management and modernization can be costly, fraught with risk and can result in damage to an organization’s reputation that ultimately leads to customer loss.
Most modernization projects rely on the assumption that every line of code in an existing application is correct and that programmers can precisely capture its functionality, however, between dead, inefficient code and the old business rules hidden within the system, mainframe modernization efforts are incredibly complex. While modernization can sound like a simple fix, “replacing existing systems because people perceive them to be old can be a costly mistake,” according to recent Gartner research.
When maintaining and incrementally improving critical mainframe applications, software teams must rely on the expertise of seasoned developers who — through years of real-world experience — have developed an intimate understanding of the system, its changes and the challenges it faces. Unfortunately, many of these programmers are either aging out of the workforce or opting for opportunities in different industries, creating a loss of knowledge about an organization’s mainframe applications.
Recognizing a previous developer’s intent behind an application’s functionality is far from simple when years of changes — however minor — have made the code of the application cumbersome, unnecessarily complicated, and beyond difficult to maintain and modernize. Whether reading the millions of lines of interdependent code in a system or using inadequate static and dynamic analysis tools in an attempt to better understand what the code does, developers waste an obscene amount of time — about 80%, in fact — trying to understand code in complex computing systems.
Complicating the issue, inexperienced developers or those new to software applications typically require several months — even multiple years — of hands-on training to become adequately productive and proficient and avoid putting systems at risk by making reckless changes. But simply knowing how to code in a particular programming language is not going to address this problem. Software developers have to legitimately comprehend what an application actually does and how altering code in one part of an application can literally break the system as a whole. Without that specialized application knowledge, developers new to systems might cut and paste significant chunks of code to change just one behavior, but that approach tends to make the entire system more complex and difficult to maintain. Worse yet, they might make a change that puts the entire system at risk.
To effectively make changes, every developer needs to conceptualize the code to understand the intent of previous developers, which is encoded in the software. After bringing to light the code that needs to be updated, a developer can begin to understand how the mainframe application’s behavior should change. However, the code implementing changed functionality must be located across a dense codebase, analyzed and reanalyzed to make sure that any proposed change will not have unintended negative consequences.
So, how can artificial intelligence help developers improve their productivity on the mainframe?
AI to Augment Human Intelligence
AI tools are already employed to assist with requirement gathering, testing and troubleshooting, and the actual writing of code, but those tools employ a contemporary approach to AI that only nominally enhances developer productivity.
AI is now being leveraged to automate the process of precisely and accurately identifying the code that requires attention — no matter how dispersed throughout the system that code might be. By describing to AI tools the behavior that needs to change, developers don’t have to search through and develop an intimate understanding of the code to reveal the specific lines implementing that behavior. They can now collaborate with an artificially intelligent coworker to augment their own intelligence and be guided exactly to the code that matters.
Modern tools employing an old-school, neoclassical approach to AI are able to reinterpret the code into a representation of computation and convert it into concepts, similar to the way humans think about code. Since those concepts are strictly based on the code process, exactitude to focus in on the specific code that needs to change is inherent in the approach. Bottom line: AI excels at processing significant volumes of data (in this case source code) and can aid developers not only in their search but also to confidently make critical updates without breaking the entire system.
No, mainframes are not going to be replaced anytime soon. A recent study shows that 71% of executives say that mainframe-based applications are central to their business strategy. In fact, we now have endless opportunities to run modern applications on mainframes. Consequently, companies looking to modernize their mainframes need to find solutions that empower them to keep pace with the speed of IT innovation — and that’s where artificial intelligence comes in.
By reimagining code into concepts, modern AI tools can equip developers with the knowledge necessary to comprehend complex and critical mainframe systems and their applications. Leveraging the power of AI to improve developer efficiency, rapidly ameliorate defects, and easily maintain and modernize systems enables organizations across industries to improve mainframe systems and truly excel in an ever-evolving digital future.
By: Steve Brothers, President.
Steve joined Phase Change as the COO in 2018, bringing over 30 years of experience in technology-related organizations with leadership, technical and sales roles in industries such as financial services, healthcare and services. Previously, Steve held positions as CEO at Ajubeo and Executive Vice President and CIO for Urban Lending Solutions. Steve graduated from the University of Colorado at Boulder and holds a B.A. in Philosophy and a B.S. in Information Systems. Steve is a proud father of two boys, is a mentor at Galvanize and resides in Golden, CO.