Chapter 2. Migration strategy 33
2.4.6 Code preparation
The amount of time you must allocate to coding practices is a significant factor to
consider when evaluating migration complexity. To migrate application code
more easily and more efficiently, we recommend that you refactor the code
before migration. If you apply the refactoring discipline properly, you can handle
code migration more easily because the code will be simple and clean.
Regardless of the development methodology you choose, refactoring improves
the overall code quality. Migration is good time to reexamine and refactor your
code.
To reduce the effort of migration work, remove the code that is not used. If you
have completed the refactoring process before migration, it becomes easier to
exclude the code that is not a part of the migration effort. The practice of
removing what you do not use can also be extended to the runtime environment.
Unused resources such as data sources should be removed as a matter of
practice.
Coding practices can have a direct impact on the complexity of migration. Well
designed and architected coding is generally easier to understand and modify.
Layered architectures are a huge win when change is required.
The new version of Branch Transformation Toolkit also supports more recent
versions of the relevant specifications. In anticipation of an upcoming migration,
you can update the existing code to conform to the most recent version. Branch
Transformation Toolkit 5.1 supports multiple versions of the related standards
such as J2EE and BPEL, but in anticipation of a migration, you may consider
updating your application to comply with the most recent versions of the
specifications that run on Branch Transformation Toolkit V5.1.
2.4.7 The migration plan
The migration plan is what should guide you during the entire migration process.
The various tasks at every stage should be captured and documented in the plan
and we recommend that all migration activities follow the plan.
However, the migration plans should also be flexible. As part of the migration
assessment, you should document the risks and unknowns that can impact your
plan. Assume that uncertain issues will occur during the migration process. For
example, a common mistake is factoring in some time for testing but not enough
time for fixing problems. Be sure to allocate enough time in the plan to fix the
problems encountered.
Scheduling is an important part of the planning process. It helps chain migration
tasks together. Remember that many tasks can be completed in parallel.