A common decision that software owners are faced with is what to do with legacy systems and databases once they become outdated.
Why invest in a legacy application?
Leaving a legacy application untended will only turn it into a liability that no longer fully suits growing business requirements. This is because an application goes through a definite lifecycle, with an initial maintenance phase where bugs are fixed and functionality added. After this phase, the business needs to invest in the application with both resources and time in order to enhance its performance, value and capabilities. If left neglected at this stage, all of the initial investment will be lost. The steps to maintain the productivity of a legacy application could involve legacy integration, legacy application migration or enterprise application integration.
There are generally four options on how to proceed with a legacy system: Rewrite, Replace, Re-engineer and Re-use.
A study on software projects concluded that 27% of rewrite projects are cancelled or rescheduled, 20% are seriously behind schedule, 50% exceed budget and the majority of projects that do manage to reach completion, have only less than half of the planned features. One needs to seriously question if a rewrite is warranted.
The second option is replacing your legacy application with a new package. This again entails finding a package that fits in with the requirements of your business. The chances of finding an exact fit are very low, and as a result, you will need to either customize the package in order to fit your business, or actually make changes to your business in order to properly utilize the package.
The third option is Re-engineering. This entails changing the entire business as well as the software application in order to make way for your re-engineered software. The flip side of this option is that there already are existing systems, procedures and methods in place, with technicians trained to work with them. Re-optimizing all these systems is both expensive and hugely time consuming.
The final option is reusing your existing legacy systems. This is by far the most sensible, cost effective and time effective option, primarily because your staff is already accustomed to your system and will need minimal re-training. It is even very possible to web enable your legacy systems, graphical user interfaces and mobile computing. The changes made will be incremental, which means much lower costs and time involved in re-training your workforce. The smaller the steps, the easier they are to retrace and start over in the case of a mistake, which means that the risks are also minimized.
Logan Registration Service had legacy systems running on DOS and Novell that provided California DMV driving and vehicle records to their end customers via a proprietary dial-up system. PPC Professional Services was engaged to build a web-based front end to replace the legacy client application distributed to customers yet still leveraging the significant code base that serves to communicate with DMV and parse received response data. The new web UI was designed from scratch and built to interface with legacy systems, and in less that 4 months was operational.