When it comes to computer languages for business, it’s hard to get more fundamental than COBOL.
COBOL, which is an acronym for “common business-orientated language”, has been around since 1959. Over the last 61 years, developers have written over 220 billion lines of it. Most institutions across the banking, insurance, and manufacturing industries use COBOL or one of its derivatives in their core applications.
But fewer and fewer programmers are learning the language today, and this is creating a worrying ultimatum for firms. Soon, there simply won’t be enough developers to maintain all the COBOL code out there, which will have dire consequences for many organisations.
In this blog post, I will explore why it’s crucial to address the issue of COBOL’s impending obsolescence and delve into all the current solutions out there to avoid this impending cliff edge.
COBOL runs the world
As I mentioned, COBOL is integral to the running of our global industry, especially on the transactions front. According to Garner, more than 80% of business transactions that occur around the world – around $3 trillion in commerce daily – are facilitated through COBOL.
Being as established as it has been for so long, it’s deeply embedded in countless firms. It was often the first language these firms used, so it’s also a key source of their product differentiation.
Companies may have tweaked it or bolted on new code to their frontend over the years, but for many, it still makes up most of the core programs which run their business.
And while COBOL is objectively a good language, it has long lost favour with most programmers. Young coders today prefer newer languages better suited to the current technological landscape, such as Python, JavaScript, Ruby, C# or Java.
COBOL developers are now retiring faster than COBOL is. A Computerworld survey of more than 350 IT professionals found that just under half of them had already noticed a shortage – and that was back in 2014.
I predict we have less than five years before there simply aren’t enough developers left to maintain all the COBOL code out there. According to IBM, the average age of a COBOL programmer is 58 and around 10% of them retire every year. This translates to an estimated 84,000 unfilled mainframe positions by the end of this year.
And when that happens, businesses that haven’t adapted are going to have a big problem.
What can you do?
Removing COBOL code from your core applications is not only risky but can be a lot more complicated than you may expect.
For one, COBOL-based business applications are very large, making alternating them a mammoth task. It took the Commonwealth Bank of Australia five years and $749.9 million to replace its core COBOL platform back in 2012.
As much as 75% of COBOL rewrite projects fail because of the lack of internal expertise, so the first and most important lesson is that you should never attempt to replace your COBOL code internally – employ the help of a trusted partner.
But before you can do that, you then need to decide what your approach is going to be.
Common options are customisable-off-the-shelf (COTS) packages, a Software as a Service (SaaS) solution. This solves the immediate problem of getting your enterprise off COBOL, but you lose the differentiation your original application gave you. Plus, any time you alter the core applications of your enterprise, you take a risk.
It also ends up being more expensive as you end up paying additional license fees, which defeats the purpose of developing source code in the first place.
Another option is to migrate the COBOL code on your mainframe onto another platform such as Windows or Linux. While there are many companies that specialise in this, it’s still all going to be in COBOL, so you won’t really have solved the problem.
This leaves the last option which is to modernise those COBOL applications into a different language. For example, automated tools such as Fujitsu’s PROGRESSION platform takes your legacy COBOL applications and translates it into C# or Java (Java option available from summer 2020).
This helps prevent runtime payments and allows you to maintain ownership over your source code so you’re not paying to run your own applications. And by migrating your COBOL code into a more modern language, you can open the door to an agile/DevOps style of working. Further re-architecting the code and extending it using Multi-experience/ Low-Code development platforms to drive new business value then becomes an option.
As opposed to COBOL which can take six months of development and testing for each release, modern development approaches allow you to make incremental improvements through regular updates, with the potential to push improvements every day or even every hour.
This means you can experiment, fail fast, and become agile enough to handle the continued disruption industry 4.0 promises us all and really leverage your investments into your critical code base.
Time is running out
Despite the magnitude of the problem, the reality is very few business leaders are aware of this bourgeoning problem, so most are doing nothing about it.
For example, I recently had a C-level customer contact me through a social media platform to ask for our help. They urgently needed assistance migrating their COBOL code because only two people in the entire company understood it, one of whom was retiring soon. Someone realised that their 2,500 sites were all run through COBOL programs, which totalled a whopping 20 million lines worth of code.
As exceptional as that might sound, you can expect these kinds of stories to become more commonplace over the next few years, as the number of COBOL developers continues to dwindle.
So, if you don’t want to deal with this problem once it has become a crisis, do the diligent thing and start looking for a trusted partner today.