This is NOT a Drill! That COBOL Really Needs To Go!

COBOL needs to goAs we sit at the dawn of the cloud-era, the time has finally come when CIOs must come to grips with mainframe/COBOL dependencies and put a retirement plan into action. Simply put the combined forces of: mainframe skills rapidly retiring; younger employees not interested; unacceptable customer and employee experience (batch cycle downtime, antiquated processes, etc.); traditional competitors acting; and new cloud-native start-ups becoming a growing threat. Together these will create costs and risks that the CIO, CEO and board can no longer ignore.

Most every corporation is on a path to move their datacenters to the cloud, starting with their simplest and least critical apps and working their way up. COBOL code will be the most critical and risky change for most everyone still tied to mainframes (not just banks). CIOs have been talking about the growing risk and cost of “legacy apps” for a couple decades, yet here we are today with most of it still running.  I read recently that over 40% of big bank systems in the USA run COBOL, containing over 200 billion lines of code and over 80 percent of transactions (Reuters).

COBOL will be both the most challenging but also the most rewarding to move to the cloud.  That decades-old COBOL code is an embarrassment! Today’s CIOs are supposed to be transformational leaders. They need to be championing digital-native, agile, cloud-centric, data-driven enterprises. COBOL is the antithesis to all that. It’s like being asked to drive the pace car at the Indy 500 and showing up in a model-T – embarrassing!

So what are your options?

There are no silver bullets here. If it was easy this issue would have been dealt with long ago. I believe there are 3 main choices to consider:

  1. Outsource: Hand the keys to your mainframe to another company who contracts to run it for you long term. This is often accompanied by a “promise” by that company to migrate the functionality to some new platform.
  2. Lift-and-shift: Basically, take all the COBOL physically running in your datacenter as well as all the development and batch processes used today, and move it to someone who will run it in their “cloud” datacenter.
  3. Platform Modernization: Wrap the logic in microservices and externalize the data, allowing you to “strangle” the functionality over time.

If there’s a 4th option, I’d love to hear it. But assuming these 3 are your choices, there is only one good answer and that is platform modernization. Outsourcing is a really, really bad idea because those COBOL apps are strategically core to your business. Remember the outsource vendor’s revenue is your cost, and if they screw up the migration it is you who will suffer most. Lift-and-shift achieves almost nothing and fails to address the skills, processes, and user experience issues that are becoming critical.

Platform Modernization is the best strategy. Fundamentally there are only 2 things in software: logic and data. The problem with the old COBOL code is that it is 30+ years of spaghetti. You need to wrap it in logical services and externalize the data. Yes, that takes work. But it gives immediate benefits to everyone else in the company because the mainframe is no longer a direct dependency so other projects can move faster. Wrapping is the only way you can surgically begin moving the functionality, service-by-service, to cloud-native options. You can consider each process independently, decide which need extensive, moderate, or little redesign, and which priority order to tackle them in. Over time, those millions of lines of COBOL and the huge volume of data locked within will decline to nothing.

At Next Pathway we have practices and acceleration tools to help with modernization. We would love to talk to you about our experience and best practices.

In closing, the days of kicking the mainframe issue down the road are gone and it must be dealt with. Outsourcing or “lift-and-shift” are tempting band-aide options but strategically accomplish little and actually increase enterprise risk. Instead, embrace the cloud and modern development best practices to undertake a platform modernization grounded in microservices to access logic and externalized data.