Earlier this month I headed to Kansas City with the Tech Field Day crewe to attend the SHARE conference. SHARE is the oldest enterprise user conference in the world, so it makes sense that attendees are people who manage mainframes. This post is a review of a Tech Field Day presentation from BMC that discussed how to harnessing the fear of change and move on to mainframe modernization.
A Quick Overview of Mainframes, Assembly Language, and COBOL
Mainframes have been the backbone of enterprise computing for decades. One reason is that mainframes provide unparalleled reliability, scalability, and security. Another reason is data gravity. Companies have been storing data in mainframes for longer than most of us have been alive. In fact, companies continue to add data, and that just keeps increasing the data’s gravity.
These powerful systems handle vast amounts of data and transactions, making them indispensable for large organizations. Assembly language, a low-level programming language, allows developers to write instructions that the mainframe’s hardware can execute directly. This language offers precise control over the system’s operations but requires a deep understanding of the hardware. Fun fact, this is the first programming language I learned.
COBOL (Common Business-Oriented Language) is a high-level programming language designed for business applications. It was designed by Dr. Grace Hopper because Assembly language is so hard to learn. COBOL was developed so businesspeople could code their own applications. The code is readable, and lines must end with a period. That makes the code very adaptable, which makes it easier for developers to maintain and update code.
COBOL was developed in 1959. Despite its age, it remains a critical component of many mainframe systems. In fact, a 2022 survey found that 92% of respondents consider their COBOL applications to be strategic. The same survey found that 53% percent plan to modernize their systems and applications. But mainframe modernization means something that really freaks out traditional mainframe people: change.
Addressing the Fear of Change in Mainframe Modernization
Mainframe operators and developers are notorious for being resistant to change. This resistance most likely stems from the fear of disrupting stable systems that are crucial to business operations.
Monolithic programs, which are large and complex, pose significant challenges in mainframe environments. And there is a LOT of code out there – that same survey estimated there are 775-800 BILLION lines of COBOL code in production! These programs are difficult to maintain and often lead to concurrent development issues.
This is a historical problem, going back to the days when there was no source control. Mark Schettenhelm theorizes it was just easier to throw all the code into one program and get it compiled and running. Even from the beginning, mainframe modernization was just too much to handle.
Some of these programs were written in the 70s, making some of them fifty years old! Those developers are at retirement age now. Mainframe modernization is critical if current generations are going take over tending these programs. Going even further, to maintain the programs they need to be refactored to use modern techniques. If the program could be broken up into its sum parts, there could be concurrent development and testing.
If the programs are broken into parts, developers can understand how they work. Once they have that understanding, they can test and make the programs even better.
BMC created a platform to tackle this problem: BMC AMI (Automated Mainframe Intelligence). Their DevX framework aims to give mainframe developers an amazing experience. The first step in doing that is to help them understand what they are working on.
Interpreting the story COBOL tells us
To provide new developers a way to understand the mainframe code they need to work on, BMC AMI DevX has abilities called Code Insights. BMC AMI DevX Code Insights offers several features to help developers navigate and improve mainframe code.
First, developers check out the COBOL code and work in a familiar editor (Eclipse now, VScode coming soon). A structure chart is built to help developers understand how the code they’ve checked out is built. This gives them the overall logic flow and how data flows in and out of the program. In fact, there is a run-time visualizer. It executes the program and charts it instantly. This helps get new developers up-to-speed on how these antique applications work.
Code Insights also performs “code extract.” This breaks that massive COBOL program into separate sub-programs. It can find dead code and then provide a way for developers to comment out those lines. Code Extract also identifies the code’s business logic and creates new subprograms that are callable from the main program. This is another way to slim down monolithic code.
It can also help developers understand the application’s Abend history. This helps new developers understand the “gotchas,” so they don’t repeat old mistakes.
Generative AI enters the chat
There’s no reason for new developers to go through a hazing ritual the way now-seasoned developers had to endure just to understand a huge COBOL program. Now there are tools to help them understand the code. In addition to the DevX features we’ve already discussed; BMC has a new feature in beta called Insights with code Explain. It allows developers to understand what the code does – in plain English. It will even allow them to comment out and comment (IN ALL CAPS of course) so the code is even better for the next developer.
Mainframe modernization is here
It was interesting to hear how BMC is helping the new generation of COBOL developers understand their code better so they can modernize these vital programs. It’s also interesting to think about how technical debt can really stay with us for decades, but the challenges are always pretty much the same.
Are you a COBOL developer or operator? What do you think of these new types of tools?
Here’s the entire presentation, I encourage you to check it out!
One thought on “From Legacy to Leading-Edge: Embracing Mainframe Modernization with BMC”
Comments are closed.