Technology Strategy | Migration Feasibility Analysis
Software migration involves incrementally reengineering existing software into an improved architecture. In some cases, migration can offer a much lower cost alternative to developing a completely new software system from scratch. Frequently the risks are much lower and the schedule is much shorter for a migration project. However, not all existing legacy software can be migrated. A software migration assessment is the process for determining whether migration is possible.
The migration assessment typically consists of the following steps:
- Analyze the existing software to determine migration suitability. The analysis helps you gain an understanding of the design of the existing software, recovering its architecture, and determining how well the existing software will support anticipated enhancements (thus confirming that migration is a valuable thing to do).
- Design the new target software architecture. To determine migration feasibility, it is necessary to understand the target of the migration. The full architecture definition typically does not need to be completed; it is usually sufficient to formulate the architecture strategy, develop the high level architectural concepts (including identification of logical components/services, identification of key software technologies and the most critical architectural mechanisms), and evaluate the architecture.
- Determine alternative plans for incrementally doing the migration. Typically the plans will involve developing the new architectural infrastructure and then incrementally migrating small groups of software components. It may be useful to perform some proof-of-concept prototyping to help produce rough effort estimates for the alternative approaches.
- Choose the migration plan based on ROI analysis and short-term business drivers. The investment is the cost for the migration. The financial return typically comes from improved engineering efficiency (higher productivity and quality) and increased sales (due to short time-to-market and lower costs for enhancements).



