Subscribe
About

Not worth the trouble

Legacy software becomes more bulky with each passing year.

Len Weincier
By Len Weincier, Owner and director, GuruHut.
Johannesburg, 21 Jul 2010

Legacy software becomes more cumbersome as the years wear on, and maintaining and updating it becomes increasingly time-consuming and expensive. Since technology that enables business processes is a competitive advantage, companies are well advised to let their legacy solutions go.

Companies running legacy software have to make the tough decision of how to overhaul their systems to get the best results. Unfortunately, doing business in the digital age is one of continuous development. Even in the life cycle of a new software implementation, changes take place that require a rethinking of the solution. So, expecting old software to maintain the agility to cope with a rapidly changing marketplace is unreasonable. Legacy software should be allowed to gracefully retire.

One of the most important capabilities that modern businesses can have is the ability to innovate. If a legacy system is holding innovation back, then it is imperative that the system be replaced.

There are some very strong reasons why legacy software can't do the job of its younger, more youthful counterparts.

1. Lack of skills
It's sad but true that older programming languages are dying out. Skills are short because no one's learning the old technology anymore. People who choose careers in IT are generally driven by a passion for the new, and as programming languages evolve they get better, simpler and more efficient. So programmers don't dwell in the past, and this is reflected in the skills set available in the marketplace.

There's no point in continuing to drag the last remaining Cobol programmer reluctantly in to update a system that's struggling under the weight of its own complexity. It's time to move on.

2. Times have changed
When software is developed, there are underlying principles governing the business world at the time. Anyone who works anywhere in the business world knows that the governance requirements, legislative issues and market demands change with the seasons. Legacy software seldom has the ability to roll with the changes and be adapted to new frameworks of operation.

3. Change keeps changing
Older software systems are slow animals. The rate of change is growing at an exponential rate. Reprogramming legacy software to cope with a simple new variable can take months - by which time the change that needs to be made is already outdated and competitive edge is lost. It's not just the change itself that needs to be made; it's the ability of the entire system to cope with the change that needs to be overhauled.

4. This is all getting expensive
Rare skills and slow execution mean maintaining an old system or adding new features gets very expensive, very fast. Given the inherent instability of something that's been remodelled to fit new requirements, legacy systems require a lot of maintenance. For all the same reasons, upgrades or changes take time and cost money. It's often not worth the expense of keeping it alive.

What can be done?

Legacy software should be allowed to gracefully retire.

Len Weincier is owner and director of GuruHut.

Once a business has acknowledged that there's no way that their legacy software can do what it needs to in order to keep a company competitive, there are a few approaches to how to remedy the situation.

1. The big bang approach
Accept that change is disruptive and get it over with. Start a new system from scratch based on more flexible tools and architectures. It's a scary step to take, but the end result will mean the business has a system in place that caters to its every need in the fastest, most appropriate and most up-to-date way possible.

2. Baby steps
Implement a new system by building the core pieces one at a time - the incremental approach. This may be less disruptive to day-to-day business operations overall, but it suffers from having to integrate with the legacy system, which again is tricky, time-consuming and expensive.

3. Building on a platform
Businesses can analyse their operational needs and try to identify a platform that does most of what is required, and build the replacement system on top of that. This can take almost as much time as developing a new system from scratch, and often falls short of delivering on all the business requirements.

Share