Legacy software is any software that is still in use because it satisfies a particular business need, even though there are more technologically advanced standards in place. We’ve explored this in-depth, and discussed the importance of making regular updates and upgrades a part of your company’s technology culture. In this article we will explore legacy software maintenance.
What is Legacy Application Software?
Let’s first develop an understanding of the kinds of Legacy Software companies are using and why. Legacy Application Software is a software program that was written more than 5 to 7 years ago and seems to continue to work as intended. An important concept to note is that the software seems to continue to work as intended, which in many cases means it is not creating any problems in the company. This is not the same as modernized software that can solve new, relevant performance, productivity, or security problems. Legacy Software solves the problems of the past – not some of the comlex problems of today and tomorrow.
Why are Legacy Systems Still Used?
Legacy systems are still used because a company believes they work, and that the systems are still solving problems. The perceived expense of upgrading may seem too high, or the burden on IT to roll out company-wide updates might seem like a lower priority than other requirements or initiatives. As users, we become familiar with what we know. The better we know software, the more productive we can be with it. The idea of re-learning updated software can seem daunting.
Examples of Legacy Software
Let’s illustrate this with a 10-year old version of Quickbooks. For a decade it’s been helping a company manage the books. The accountant or bookkeeper is intimately familiar with how it works. Requests for information or reports can be addressed quickly. The advantages of upgrading might not seem compelling enough to outweigh the fear or frustration of learning one’s way around something new. While modernizing the software might allow for new, powerful, time-saving features, it’s more comfortable to stick with the status quo. This is when maintenance of old software becomes a concern.
Maintaining Legacy Systems
For off-the-shelf systems and software (like Quickbooks) it can be difficult to maintain old versions because eventually they stop being supported or available. If for some reason you need to reinstall an old version, downloads of it simply may no longer be available. Hardware and software dependencies add additional complexity. For example some software that works on a MacBook with an Intel chip won’t work on a MacBook with an M1 chip, which means you can eventually be running old, slow machines in order to run old, slow software!
For custom Legacy Software that was specifically developed for you, maintenance can be difficult because the code that is used is old. Old code can be bulky, lengthy, and incompatible with modern systems. An additional consideration is: where did the code come from and where is it now? Maintaining access to the original code is crucial to making future updates. Some developers require you license their code, others may be reluctant to share it with you. If your system is really old you might not know how to reach the developer at all. If the code was written internally, make sure it’s accessible to others who need it. A code repository like GitHub or BitBucket is valuable for storing, accessing, and sharing code.
There can be valid, even strategic considerations for maintaining Legacy Systems rather than updating them. Expense, however, should often be least among them. In the long run it is more expensive and inefficient to maintain Legacy Software than to invest in modern solutions. A software developer and expert can help you understand the best approach for your business with a consultative approach to understand your goals and requirements for maintaining what once worked while preparing you for what will work better today and tomorrow.