Many legacy systems were built decades ago using the technologies available at the time and have been operating successfully for many years. But they suffer from being built with components that are becoming obsolete, high licensing costs for COTS components, awkward user interfaces, and business processes that evolved based on expediency rather than optimality. In addition, new software engineers familiar with current technology are unfamiliar with the domain; documentation is scarce and outdated; the business rules are likely to be embedded in code that was written in an obsolete language using obsolete data structures; and the cadre of aging domain experts maintaining them is unfamiliar with newer technologies.
There are a number of optional large-grained approaches to modernization. We propose a rational way of using system architectural concepts to develop architectural options, create a scorecard, apply the scorecard, and present the results with recommendations to decision makers. The approach includes four steps:
- Determine and score the options and make decisions.
- Explore implementation alternatives.
- Build a target architecture.
- Build a roadmap to move over time to the target architecture.
The presentation will describe how this approach was applied to a large-scale IT modernization effort.