CTO Point of View

Software Crisis in Business Applications

Software Crisis in Business Applications
5:07

What Software Crisis?

I am continually surprised at the lack of discussion of the current crisis in software development. As an industry, we are so distracted by the latest technology and trends, that we fail to take a step back and look at where we are in terms of building effective software in areas which are truly reaching a breaking point.

The area at risk is business software. This is distinct from the consumer software that we use every day in our personal lives, such as shopping and travel software, entertainment, social media, etc.If you work in business, you will notice an enormous difference between using personal software and software that runs a business. This type of business software is for accounting, logistics, insurance, banking, manufacturing, etc. Much of this software feels like it comes from the ‘90s, and often this is literally true. Some are even older than that. When you look at the technology used in large and well-known companies, you will be shocked at the lack of modern software. Many departments still use spreadsheets emailed around to run critical business processes.

I was involved in a project for one of the largest oil companies in the world, that was taking a homegrown spreadsheet built up over the last 20 years and finally converting it to a web application. How is it possible that a multi-billion-dollar company runs a critical, complex process involving forecasting, procurement, and project execution on a spreadsheet application that only one person understands?

We see these examples and many others that indicate something is fundamentally wrong with our ability to build effective software solutions for many critical processes used by major enterprises. Here is another example:

COBOL is still used as the programming language for a majority of the software running in the largest companies in banking, insurance and finance. These systems have been around for 50+ years

If you told a programmer working in COBOL in the 70s that their program would still be running in the year 2025, they would think you had lost your mind.

And yet, here we are.

If you were in the software industry in the 90s, you would have been well aware of the Y2K crisis with the old COBOL programs still in use at the time. The problem, which is hard to grasp given today’s technology, is that many of these old systems were built when computer memory was at a premium, and programmers were very concerned with memory usage of their programs. So much so that they only used 2 digits to represent a year. Obviously, using two digits would break come the year 2000.

the difficulty of modernizing software is well represented by Y2K Challenges

There was widespread panic that come January 1, 2000, many systems that run our world would stop working and cause all sorts of havoc with the economy. The fear was so pervasive, that many people thought everything in our lives involving software would fail. I was in an elevator with another programmer around this time, and he was convinced that even elevators would stop working on 1/1/2000, as the software running them would break. I couldn’t see why an elevator would care what year it was. Fortunately, elevators didn’t care and continued to work in the new century. But it speaks to the mood of the times.

There were in fact many programs that would be affected, not just COBOL. In the late 90s, COBOL was not a popular language, and most young programmers had moved on to C, C++, Java, etc. COBOL consultants were making big bucks as the demand was high, and the skill set in short supply.

I was not close to any of these projects, but we all survived. The banks did not fall; the market did not crash. But this effort consumed all resources for these older technologies, so there were scant resources left to reimplement these systems in more modern languages. There just wasn’t enough time.

When these older developers were criticized for making such a short-sighted decision of using 2 digits to represent years, their response was “we never imagined in any universe, that these programs would be running in the year 2000.”

If you lived in the 60s and 70s, the year 2000 seemed very far away, and we thought technology would be light years ahead of where we were then, and these programs would be long replaced.

But they weren’t. And here we are, 25 years later, and they are STILL running! How is this possible?

Efforts have been made to rewrite these old systems, but there are so many of them. The business logic built up over 50 years would require a tremendous amount of time and money to recreate. It makes more business sense to just keep these old systems running.

 

FAILURE #1:

We have failed at being able to cost effectively replace old legacy systems

 

Next chapter “Logistics Software – another legacy problem”

Next chapter “Newer Technologies – a Little Better, a Little Worse”

Similar posts

Get notified on new marketing insights

Be the first to know about new B2B SaaS Marketing insights to build or refine your marketing function with the tools and knowledge of today’s industry.