David Brown is worried. As managing director of the IT transformation group at Bank of New York Mellon, he is responsible for the health and welfare of 112,500 Cobol programs -- 343 million lines of code -- that run core banking and other operations. But many of the people who built that code base, some of which dates back to Cobol's early days in the 1960s, will be retiring over the next several years.
"We have people we will be losing who have a lot of business knowledge. That scares me," Brown says. He's concerned about finding new Cobol programmers, who are expected to be in short supply in the next five to 10 years. But what really keeps him up at night is the thought that he may not be able to transfer the deep understanding of the business logic embedded within the bank's programs before it walks out the door with employees who retire.
More than 50 years after Cobol came on the scene, the language is alive and well in the world's largest corporations, where it excels at executing large-scale batch and transaction processing operations on mainframes. The language is known for its scalability, performance and mathematical accuracy. But as the boomer generation prepares to check out of the workforce, IT executives are taking a fresh look at their options.
In a recent Computerworld survey of 357 IT professionals, 46% of the respondents said they are already noticing a Cobol programmer shortage, while 50% said the average age of their Cobol staff is 45 or older and 22% said the age is 55 or older.
"Organizations are trying not to get backed into a corner because of the skills issue," says Paul Vallely, mainframe sales director at software vendor Compuware. "I haven't seen companies move off mainframes due to the Cobol skills shortage yet, but it's looming."
For Bank of New York Mellon, which bought its first mainframe in 1955, keeping the core Cobol applications that run the business on the mainframe makes sense. Modernization efforts have made BNY Mellon's Cobol-based programs more accessible through the use of Web services and up-to-date user interfaces.
But for some noncore applications, and for smaller workloads, organizations have been gradually migrating off of mainframes -- and away from Cobol. In several cases, Cobol programs are simply rehosted on Linux or Windows servers; in other cases, they're rewritten in object-oriented languages; and some programs are being replaced with packaged software.
"Over the past five years, there has been an acceleration of [some] businesses moving off host platforms," says Adam Burden, global application modernization lead at Accenture. That often means leaving Cobol behind by either rewriting it for J2EE or .Net or moving to packaged software.
Closing the talent gap
Where do you find Cobol programmers these days? College graduates with Cobol training are in short supply. In Michigan, for example, state schools that offer Cobol programming education have cancelled classes because of a lack of interest. "They can't get anyone to enroll," says Jonathan Miller, director of information systems and services for the government of Michigan's Saginaw County. But some colleges are still providing Cobol training -- with help from IBM. The mainframe vendor has developed curricula in association with more than 80 colleges and universities ranging from Brigham Young to Texas A&M.
"We donate hardware and software, help with the curriculum, and they graduate hundreds of people every year," says Kevin Stoodley, an IBM fellow and CTO.
Guardian Life Insurance has recruited Cobol programmers from Workforce Opportunity Services, a nonprofit that collaborates with business clients and local colleges to train economically disadvantaged students to work in less popular technology disciplines such as Cobol programming. "They take kids from disadvantaged neighborhoods and provide them as consultants," says former Guardian CIO Frank Wander, who now has his own consultancy, IT Excellence Institute.
"It's sort of a work-study program. We have over 200 consultants today in five states, and we're expanding," says Workforce founder Art Langer.
BNY Mellon and many other organizations also increasingly rely on outsourcers to pick up maintenance and support duties. But for many users, an offshore locale is not the place to keep the institutional knowledge of the business rules behind the code. David Brown, managing director of BNY Mellon's IT transformation group, says the bank wants those skills in-house. Fortunately, it's not all that difficult to cross-train programmers in Cobol. "Right now, it's pretty easy to hire programmers. And if they understand Java, I can bring them back to procedural languages like Cobol," Brown says. The trick is to develop a curriculum that teaches not just Cobol, but the business rules behind the code that runs the company, he says, adding, "We need to make sure we can roll that forward."
— Robert L. Mitchell
Gartner estimates that the world has seen a decline of about 5% in total Cobol code over the past few years. Much of that involved migrations by small and midsize mainframe shops that move off what they see as a legacy language when they retire the hardware, says analyst Dale Vecchio. They're using other building blocks to develop their systems. "Cobol is no longer needed," Vecchio says. "There are alternatives."
Rehosting can get code off the mainframe quickly. One vendor that caters to users considering that option is Rockville, Md.-based Micro Focus, whose offerings include a system that will support Cobol programs on a Microsoft Azure cloud.
But rehosting is often seen as just an intermediate step on the way to completely modernizing and transforming Cobol systems.
Cobol's Image Problem
A procedural language, Cobol is not perceived to be as agile as object-oriented languages for modern programming needs such as mobile apps and the Web. And despite the availability of state-of-the-art Cobol development environments -- including IBM's Enterprise Cobol on the mainframe and Micro Focus's Visual Cobol, which integrates well with Microsoft's Visual Studio development suite for .Net -- Cobol is widely viewed as a legacy language.
Nearly half (49%) of the Computerworld survey respondents whose organizations don't use Cobol said the reason is that the language is simply outdated.
Not everyone agrees, of course. "Cobol has had lasting value, and it's not broken," says Kevin Stoodley, an IBM fellow and CTO of enterprise modernization tools, compilers and security at IBM.
In the more recent survey, over 50% of respondents said Cobol represents more than half of all internal business application code.
"There has been no renaissance for Cobol," says Accenture's Burden. "There's not a whole lot of new development going on. But our clients are enhancing their core applications and continue to maintain them." Indeed, 53% of the survey respondents said they're still building at least some new business applications in Cobol. The vast majority of that code is still being written for mainframes.
But the fact is that many IT organizations don't have much choice but to continue using Cobol. Migrating large-scale systems built in Cobol is costly and risky. "They might want something more flexible, but they just can't do it. They're captive to Cobol," Burden says.
The down economy has helped put off the inevitable, says Compuware's Vallely. "Economic issues provided everyone with a hall pass because not as many folks were looking to retire," he says. But as the economy improves, retirement plans may pick up too. "Organizations are trying to be more proactive," he adds.
"No other language has seen as big an impact from changes in the demographics of the workforce as has Cobol," Vecchio says. Going forward, it will become more difficult to maintain a Cobol portfolio. "The inflection point will come when enough Cobol programmers have retired that an organization can no longer tolerate the risk," he says. At that point, most of those programs will migrate -- but not all.
For BNY Mellon, those Cobol batch and transaction processing programs on the mainframe represent an enormous investment. And while Gartner says it's technically possible to move individual mainframe workloads of up to 3,000 MIPS, the bank's aggregate workload, which relies heavily on Cobol, uses a total of 52,000 MIPS of horsepower, spans nine mainframes and is growing at a rate of 10% each year.
"The business wants us to make investments in programming that buys them new revenue. Rewriting an application doesn't buy them any value-add," Brown says.
Instead, the strategy is to "rightsize" some noncore applications off the mainframe where there's a business benefit, try to keep mainframe MIPS growth under 5%, and stay the course with the bank's core Cobol applications by passing on the business knowledge to younger programmers the bank will need to recruit and train (see "Closing the Talent Gap").
Other functions, such as general ledger and reporting, are moving to distributed computing platforms, where they are either replaced by packaged software or re-engineered into Java or .Net applications.
But Brown still needs Cobol programmers to replace those expected to retire, and the learning curve can last for a year or more. That means adding staff and having a period of overlap as Cobol's secrets get passed on to the next generation. "I'm trying to get those people on board and do the knowledge transfer sooner rather than later," Brown says.
But that kind of proactive approach, and the extra costs it incurs, can be a hard sell. "We haven't gotten to the point of feeling the pain yet. When we do, it will happen," he says.
Brown wouldn't specify the number of people he's hoping to hire, but he says the "real heavy need" will happen in the next five to 10 years, when the original mainframe programmers are expected to retire en force. BNY Mellon currently employs "a few hundred" Cobol programmers, he says.
Brown's concerns are well placed, says David Garza, president and CEO of Trinity Millennium Group, a software engineering firm that has handled code transformations for large businesses and government organizations. "Almost every job we get has Cobol in it," he says, and most of the calls come from organizations that have already lost their collective knowledge of the business logic. At that point, he says, a migration is "a big risk."
The Cost of Waiting
Trinity Millennium Group and similar vendors have established processes for analyzing and extracting the business rules embedded between the lines of Cobol code. "The solutions have come a long way in terms of the ability to extract logic and rules," says Burden.
But the process is time-consuming and costly. One Millennium client recently spent $1 million to have its Cobol programs analyzed and business logic reconstructed as part of a migration off of a mainframe. "If they had the legacy programmers there and we had done the exercise with them, it would have cost $200,000 and taken one-tenth of the time," Garza says. If you wait until that institutional knowledge is gone, he warns, the costs can be as much as 10 times higher than they would have been beforehand.
Compounding the loss of skills and business knowledge is the fact that, for some organizations, decades of changes have created a convoluted mess of spaghetti code that even the most experienced programmers can't figure out. "Some systems are snarled so badly that programmers aren't allowed to change the code at all," Garza says. "It's simply too risky to change it. They're frozen solid."
Jim Gwinn, CIO for the U.S. Department of Agriculture's Farm Service Agency, faced that type of situation. The USDA's System/36 and AS/400 systems run Cobol programs that process $25 billion in farm loans and programs. "We have millions of lines of Cobol, and there's a long history of it being rewritten," he says. "It has become increasingly difficult to change the code because of the complexity and the attrition of the knowledge base that wrote it." That's a big problem because laws that govern farm programs change every year, driving a need to update the code to reflect those changes.
Gwinn hired consultants from IBM, who concluded that rewriting the programs in a different language or rehosting them on a distributed computing platform would be complicated and costly. But the System/36 hardware had to go, so Gwinn decided to bite the bullet: The FSA will move off of its end-of-life mainframe systems by rewriting some of the code in Java and replacing the rest with packaged software from SAP.
But Gwinn says he'll miss Cobol. "It has been very stable and consistent, with little breakage due to code changes, which you see with Java-based changes," he says. "And in a distributed environment, you have to balance your workloads a little more carefully."
Going for a Rewrite