Many companies have legacy systems running within their organization. These systems may be an old Enterprise Resource Planning (ERP) or Customer Relationship Management (CRM) package that may even still run on a mainframe. The software package in use today may have suited your organizations needs when it was first developed, but today your organization may have outgrown it. This article covers seven steps that can be taken to improve your legacy system in order to gain the functionality that you require today.
The first way to improve a legacy system is to restructure the system. If the systems does what it should be doing, but runs inefficiently, there are software processes to aide in the restructuring of the system. Some of these software packages use automated restructuring techniques to turn spaghetti code into structured code.
The second way is to re-engineer the system. This method is used when the system is not working the way it should be. In order to do this, you have to extract how the program works, and port it to a new hardware platform. There are two ways to achieve this. You can use backward engineering, or forward engineering. Backward engineering basically means to gain an understanding of the system by breaking the system into pieces in a systematic manner. Forward engineering follows the traditional process of moving from high-level abstractions and logical, implementation-independent designs to the physical implementation of a system
The third way is to refurbish the system. This method is used to enhance the functionality of the system. In today’s market, this method is actually quite common. Many organizations are leaving their old legacy systems in tact, and just adding a web front end to it.
The fourth method is rejuvenating the system. In this method, new functions are added to the system to improve functionality. The first step in this process is to recognize the systems potential. The next step is to clean up the system. The third step is to make the system more efficient by using the re engineering approaches.
The fifth method is ‘re-architect’ the system. This is when a to-be architecture is created for new systems and then using that architecture to upgrade legacy systems.
The sixth way is to replace the legacy system with a package or service. This is when old, in-house systems are replaced with software packages that have been developed by third parties. Commercial packages have become more robust and versatile. Many packages offer selectable features and are able to be tailored to the organization.
The last method is to rewrite the system. This is when the system has become too old, lost all of its functionality, or simply can not be saved. In this method, you are recreating the system from scratch, ensuring that it will meet your current needs and run on current hardware.
Each approach offers pros and cons. With some approaches, new functionality can be added, while with others, only system performance and stability can be gained. In order to chose which method will suit your needs, you first need to identify what the pain points of your legacy system are. Once this has been accomplished, you can implement the correct approach and hopefully give some new life to your legacy Information System.