Known as Legacy System Modernization or Software Modernization, the process refers to the conversion, rewriting or porting of a legacy system to modern computer programming languages, software libraries, protocols, and hardware platforms. The aim of modernization is to retain and extend the value of the legacy investment through the migration process. Legacy system modernization is often a large, multi-year project. Because these legacy systems are often critical in the operations of most enterprises, deploying the modernized system all at once introduces an unacceptable level of operational risk. Therefore, legacy systems are typically modernized incrementally. Initially, the system consists completely of legacy code. As each increment is completed, the percentage of legacy code decreases. Eventually, the system is completely modernized. A migration strategy must ensure that the system remains fully functional during the modernization effort.
Designing for Reusability, Extensibility and Forward Compatibility
When working on legacy modernization projects, the Elicere team deploys a layered architectural model with significant commonality, with all layers designed and coded to accommodate tiered, physically separated architecture in future versions. Common components are evaluated by diverse teams to optimize reuse. Some system diversification requires a level of refactoring. In these cases, our collaborative team produces an exceptional level of high reusability with minimal adverse architectural impacts.
The central theme is to provide for change and to engineer the architecture in such a manner as to allow both forward compatibility and extensibility while reducing impact to existing system functions. Our Elicere architects are leaders in the communication forums, both informal and formal, to ensure compatibility, extensibility and high levels of reuse.
Elicere Case Study - Software Modernization: US Department of Homeland Security/USCIS