There are only 100 Billion stars in the Milky Way. Compare that to the over 200 Billion lines of COBOL code out there. Yet, there is a critical shortage of developers. Could the Cloud help?
Book a flight, pay your insurance premium, or file your taxes lately? There is a good chance that some or all of your transaction was processed in a software language almost sixty years old. COBOL (COmmon Business Oriented Language) has been with us for a long, long time. Unfortunately, the developers who wrote it or can maintain it are now few and far between.
It’s hard to believe how ubiquitous this code is. According to Gartner, COBOL apps comprise 60% to 80% of all business applications worldwide (and 90% of financial transactions). Originally developed in 1959 and then made a de facto standard by the US Department of Defense it was widely adopted for batch and transaction processing on mainframe computers.
Over the years the language continued to evolve and embed itself deeper into our everyday life. By the year 2000 and the great Y2K scare, there were over 100 Billion lines of COBOL code in use. By 2008, this had mushroomed to over 200 Billion. Today there is an estimated 220 billion lines of code. Its growth has slowed but not stopped. We add about One Billion more lines per year. All that code needs to be maintained which means we need developers to fix bugs, etc.
More importantly, over that time our interface and use of information technology has changed. We have moved from the proverbial “green screens” anchored to our desktops, to the web and mobile smartphones. In order to stay competitive with new features and functions organizations need to have these new devices use and update the information sitting in the COBOL based systems. Just think of banking over your smartphone. COBOL does not natively do that – so you need to bridge the two.
Unfortunately, there are not a lot of developers left. When COBOL was hot there were millions of developers but as the web and mobile exploded into our lives other languages like Java and “C” became the mainstays of what developers learned and companies hired for. The result is that COBOL developers are becoming far fewer as they age out.
What do we do?
There is the “Do Nothing” or “If it’s not broken, don’t fix it” approach. Keep it on the mainframe and carry on. In one way this is the low-risk path. Many IT shops are taking this approach and hanging on to the few developers left, hoping the coming crunch occurs on someone else’s watch. Few folks realize it, with the entire buzz about new technologies, but mainframes and their ancillary devices and services are still a great business, accounting for perhaps half of IBM’s profits. Of course, this is not really a long-term solution; so some vendors like Compuware are trying to make COBOL behave and be programmable like Java so current developers can “work” on it.
Unfortunately, those mainframes are really expensive compared to today’s servers and in the end, we will run out of COBOL programmers. You could solve the mainframe expense issue by moving the COBOL code off the big iron and onto another platform. Vendors like Micro Focus have come up with tools that enable moving the code onto a Microsoft platform. Many view this as an acceptable intermediate step. However, it still does not address the skills shortage issue.
Why not just buy and install a whole new software package to replace the original COBOL program? This is definitely a costly route. While COBOL is often criticized for not being as agile as more modern languages, its verbosity often means that many business logic relationships are embedded in the code itself. Those processes need to be tailored into the new package, which usually means significant systems integration expenditure. Significant here means 10x or more the price of the software package! That probably is not going to fly with the CFO or CEO.
Surely, there has got to be a way to both convert the code so we address the skills shortage and move it off the mainframe so we reduce the expense issue. What if we could move it to a new platform like the cloud? There is a lot to argue in favor of using the cloud. It’s flexible, highly automated and much, much less expensive than the old mainframe. However, to get at the skill shortfall means converting the program to a more modern language like Java while still maintaining all the business logic.
This is quite a challenge. You can’t do it by hand since it would take too long and be way to costly. You definitely need some automated tools and the expertise to run them. One company, InfinIAM, claims they have both and can do it successfully. Perhaps it’s just good luck that at this time the capabilities of the cloud have matured and conversion tools have emerged because very shortly all those billions and billions of lines of COBOL code are going to go from being an asset to a boat anchor.