Refactoring: Preparing the Way for Digital Transformation
In the world of mainframe modernization, we often talk about “the five R’s”, – retiring applications, retaining them, replatforming, refactoring, or rewriting. Organizations like Gartner, AWS and Microsoft have all written about the five R’s, – sometimes using some different “R-word” variants, – but the concepts are more or less the same.
Most mainframe modernization projects employ some mix of these five strategies. Two of the more common approaches are replatforming (also known as “lift and shift”) and refactoring. In this article we will focus on refactoring. We’ll discuss where it fits into the larger picture of mainframe modernization and why you might choose refactoring over some of the other options.
Assessing the Situation
One of the benefits of working with Astadia is that we can address all of the five R’s with equal proficiency. We have a holistic view of mainframe modernization, so we can apply the right approach to the right situation, without a preconceived bias toward any one of them.
Our projects begin with a discovery process, focusing initially on the most important and critical applications in your organization, and moving towards a complete inventory of applications and databases. We work with our clients to assess each application, evaluate potential modernization approaches for each of them, and map dependencies.
Further analysis looks at cost, risk, and timeline for each approach. For smaller applications with few dependencies, a complete rewrite may be feasible, whereas for larger more complex programs, that approach would likely introduce higher costs and substantial risk to a project.
Ultimately, each of the five R’s involves tradeoffs of cost and risk versus the flexibility of the resulting environment. In many respects, refactoring falls in the middle of the spectrum. It can provide the foundation for a modern, microservices architecture, while at the same time avoiding the disruptive effects of a wholesale rewrite.
Why Choose Refactoring?
Most mainframe modernization projects are driven by a desire to reduce costs, address the shortage of skilled mainframe workers, and fulfill a need for greater integration and interoperability with new technologies. Let’s look at how refactoring addresses each of these primary concerns.
COST: Refactoring is a popular choice for many applications simply because it provides the biggest bang for your buck. While it’s not the lowest-cost option, refactoring moves an organization’s mainframe assets further down the field toward a cloud-enabled, integration-ready state than a pure lift and shift strategy would.
While refactoring is a bit more disruptive than lift and shift, it’s considerably less risky than a complete rewrite. In fact, an excessively aggressive “rewrite” approach has resulted in numerous high-profile project failures run by some of the largest IT consulting companies in the world.
Refactoring strikes a nice balance, containing both cost and risk while achieving the key business objectives associated with modernization.
THE SKILLS SHORTAGE: Many of the software engineers who have maintained mainframe applications and mainframes over the years have recently retired, and more retirements are on the way. The coronavirus pandemic has exacerbated the situation, as many of the baby boomer generation who feel uncomfortable returning to work have chosen to leave.
Where will the next generation of mainframe programmers come from? The short answer is that there probably won’t be a next generation of mainframe programmers. Today’s college graduates have little interest in decades old technology. If a new wave of software developers won’t come to the mainframe, then the mainframe will need to come to them.
There are vastly more people available to write Java, C#, or Python code then there are to write COBOL or Fortran. That’s reason #2 for refactoring.
DIGITAL TRANSFORMATION: The third driving factor (and arguably the most compelling) is the desire to enable better, faster, easier integration with a broad spectrum of new technologies. First and foremost, that means moving to a relational DBMS. Ideally, it also means componentizing and restructuring programs so that they more closely fit into modern concepts of software architecture.
Digital transformation is built on open standards, cloud technologies, and integration. The connectivity, scalability, and security of modern cloud platforms matches or exceeds that of any mainframe system in existence. It’s becoming less and less acceptable to house critical applications and data in digital silos where it can’t interact with the modern world.
Refactoring in Mainframe Modernization Projects
Fortunately, Astadia is able to bring world-class automation tools to each of our mainframe modernization projects. That includes automated refactoring tools that can transform COBOL, Fortran, JCL, or a number of other legacy programming languages into modern, object-oriented languages like Java or C#.
Refactoring provides the flexibility to design and deploy a new user interface, if desired. In many cases, clients prefer to retain the look and feel of their old green screen UI because it provides a seamless transition for users. In other words, no new training for end-users is required. However, if a more modern UI is preferred, then the look and feel can be changed without further disruption to the application code.
When programs have been refactored to the target language and environment, a series of software testing processes gets under way. This begins with Unit Testing, Functional Testing, UI Testing, System Testing and Performance Testing.
After the QA process is completed, documentation is finalized and user training takes place before migrated applications are ready to be deployed to a production environment. In this full production phase, a final performance and tuning process ensures that the system is operating at optimal levels.
Starting Your Mainframe Modernization Journey
Modernization projects take time, and for many organizations, the clock is ticking. The convergence of enterprise-ready cloud computing, the COBOL skills shortage, and a rapidly changing regulatory environment are driving increased pressure to modernize. Digital transformation is moving from being a popular buzz phrase to a business imperative.
At Astadia, we have successfully completed hundreds of mainframe modernization projects. We have a proven track record built on an established body of best practices and a suite of tools to ensure accuracy and efficiency. Contact us today to learn how Astadia can help your organization.