Media outlets all over the World were buzzing in June about U.S. Congressional Hearings which revealed that the US Department of Defense was still relying on an old Mainframe that used 8-inch floppy disks. The Panel inquired about old hardware and software, and asked whether COBOL was obsolete.
Stephane Croce responding to the queries explains that COBOL is still one of the best Business-oriented languages and shared advice on the use of the DevOps discipline of “constant modernization” which produces significant cost savings while reducing risks.
Dear Mr. Chaffetz,
My name is Stephane Croce, and I am the CEO of COBOL-IT, an international company headquartered in Paris, France that is dedicated to Legacy Modernization, and to the continued modernization of the COBOL programing language. I decided to write to you after watching the Congressional Hearings on the topic of Federal Agencies’ Reliance on Unsupported and Outdated Information Technology on May 25, 2016.
I am writing both to thank you for a very important discussion, and to share with you some of the lessons we have learned working in the field of Legacy Application Modernization over the last 8 years with customers all over the world, including Public organizations in the USA.
1 – Federal Agencies’ Reliance on Unsupported and Outdated Information Technology is due to the entire culture of maintenance.
It was disturbing to hear a focus on the use of programming languages such as COBOL. In fact, when the Federal Agencies have made the recommended adjustments and no longer rely on unsupported and outdated information technology, I am confident that there will still be a prominent place for the COBOL programming language in the development of in-house applications. COBOL is still the best programming language for managing business transactions. The longevity of COBOL is a testimony to the brilliance of its inventor, the highly decorated Admiral Grace Hopper of the US Navy!
2 – A machine can be outdated. The COBOL programming language is alive and well-adapted to the rapidly changing IT landscape.
It is important to recognize the difference between the notion of “outdated” when applied to a decades-old Mainframe, and when applied to the COBOL programming language.
The key difference here is that barring upgrades, the Mainframe purchased decades ago is just a machine and likely possesses the same capabilities it did when it was purchased. Given the evolution of mainframes over the period of its lifetime, it is indeed an outdated machine.
However, the COBOL programming language has undergone a very rigorous evolution over that same time period, always ensuring that it would remain relevant, and capable of executing mission-critical applications on the very latest platforms. At present, the COBOL programming language is fully interoperable with all of the industry-leading enterprise application solution stacks, including databases, transaction monitors, application servers, Cloud Computing and more. In fact, as a testimony to the adaptability of the COBOL programming language to the modern IT solution stack, it is true, as was testified by Ms Killoran of Health and Human Services, that over 70% of business transactions today are processed by COBOL.
The reason is that COBOL, which is an acronym for Common Business-Oriented Language, remains the very best business-oriented programming language, and continues to be the runaway favorite in this regard. Far from being obsolete, COBOL is the most widely deployed programming language in the world today, with over 200 billion lines of code in production, and over 5 billion new lines of code per year. Replacing this phenomenal legacy is virtually impossible and the risks associated with such an undertaking would be incalculable.
In this context, your observation that the Federal Government revealed 155 million lines of code written in COBOL- excluding the Department of Defense- is not a liability. On the contrary, you are fortunate that these applications were written in COBOL. COBOL is the most easily readable and easily maintainable programming language ever created. The strengths of the COBOL programing language were tested in the year 2000, as the “Y2K” bug was recognized and managed in programs all over the globe.
It is true that software programs must evolve, but the COBOL programming language is entirely capable of embracing modern system architectures. There are tried and true methods for isolating key COBOL functionality and retaining it using Web Services, while adopting web-based front ends for applications, and employing Transaction Monitors and Application Servers in the middleware tier. The observation made early in the hearings that “We have a long way to go from COBOL to the Cloud.” is not true. COBOL is operating in the Cloud, performing the same vital functions it did 40 years ago.
3 – Maintenance of Legacy Applications is an ongoing discipline, not a one-time fix.
It was interesting to hear the Modernization efforts required by the Federal Government described as a series of expensive, one-time tasks. Upgrading a decades-old mainframe to a modern system is just the first step. It is critical to understand that the only way to avoid ending up in the same situation 5-10 years from now is to adopt a discipline of “constant modernization”. This requires regular hardware upgrades, regular software upgrades, and a constant modernization plan that embraces new technologies. Maintenance must be recognized as a core discipline, with built-in schedules that are impervious to the regular change of the CIO. There is a place for off-the-shelf software, but that does not diminish the importance of the software you have developed and maintain in-house. In-house applications store the rules by which you operate. These applications will change according to new laws and appropriations. They cannot be easily replaced.
4 – Legacy Application Modernization does produce significant cost savings.
Legacy Application Modernization is not only critical for purposes of security, it is a wise investment. Our clients tend to be very interested in the time it will take to capture their Return-On-Investment (ROI). This important measure can be calculated as the amount of time it takes for the savings incurred by the Modernization to offset the cost of the Modernization itself. You are correct that replacement plans must have clear milestones, and be implemented with aggressive governance. These are critical principles in all large modernization projects.
The teams you interviewed rightly identified the main opportunities for cost savings in leasing hardware, consolidating data centers, re-hosting in Windows/Linux/ UNIX environments and using the Cloud to leverage virtualization and reduce capital expenditures and maintenance costs by automatically provisioning and de-provisioning assets.
Another important area can be at the level of the Programming language providers. Java and COBOL provide excellent opportunities for cost savings.
5 – Legacy Application Modernization requires a thorough understanding of the application.
There are several levels of complexity in any migration. At COBOL-IT, as experts in modernization, we spend a significant amount of time playing the role of the archaeologist, so that we can understand the different layers of an application, and how it works. As we undertake a migration, we tend to think of the task as a process, taken in steps. We have an analogy to the task of Urbanization. A Legacy Application is like a City. It must be maintained and updated constantly, and destroying it and rebuilding it entirely from scratch is not what anybody wants. As we move systems, we understand what the future requirements are, and help our Customers develop a roadmap for maintaining, and enhancing their applications incrementally. We find that this allows us to complete the first phase of the migration more quickly. The shorter time-to-market ensures that the time to recoup the return on investment will be shorter as well.
6 – Modernizing a Legacy Application and addressing Security concerns are related, but largely separate projects.
When performing a Legacy Application Modernization, requirements tend to be that the application provide the same functionality, with equal or better performance. Moving your application to modern systems provides significant cost savings, and provides you with the ability to leverage the rapid advances in hardware and software to your advantage. Different solutions exist for meeting your security requirements on different systems, but these security solutions are modern, effective, and operate independently of your legacy system.
7 – Mission-critical functionality does not favor one programming language over another.
In the hearings, we heard testimony about some of the mission critical functions that were being performed, which included processing tax return, coordinating operational functions for nuclear forces, determining Social Security eligibility and amounts, maintaining information on hazardous materials, and supporting key communications hubs for the nation’s weather warnings.
All of these functions are supported by modernized applications that include significant COBOL application portfolios.
8 – Recognizing the need is the first step to solving the problem.
I am sure that you have seen, as I have, that the headlines emerging from these hearings were that the Department of Defense was still using old mainframes with 8-inch floppy disks. This provides shock value, and underscores the critical need for the Legacy Application Modernization projects. It also points to a larger issue, which is that large Federal Agencies such as the Department of Defense must always make difficult choices, and it is next to impossible for a tertiary system to acquire the level of prioritization that results in getting the job done.
These challenges involved in managing the evolution of legacy systems are greatbut it is heartening to see that there are efforts underway to address the situation. Americans have the ability to emerge with capabilities far beyond the capacity of other countries in many areas. It is humbling to reveal that there is also a side that lags behind the rest of the world. But I can assure you- these are problems for which solutions exist, and those solutions do come with many advantages- not the least of which is considerable cost savings.
9 – Past failures will inform future successes.
The failures that some of your agencies have reported over the past few years, and which may be a source of frustration for the Congressional Committee, can also be a source of optimism, as the lessons learned in the past will surely be applied to the project roadmaps of the future.
Thank you for your time reading and considering these remarks. I understand that your oversight responsibilities go beyond assessing the value and feasibility of Legacy Application Modernization projects, and that you are obligated to consider the full range of revenue allocations made to different departments. My remarks are only in the area of Legacy Application Modernization as that is my area of expertise. I would be happy to continue corresponding and to testify with your Committee on these topics.
Sincerely, Stephane Croce CEO, COBOL-IT