Guideline: Migration Plan
After an IT architecture is defined and analyzed (to some level) it is used to develop a Migration Plan. This guideline explains how to develop the plan.
Relationships
Main Description

A Migration Plan is a complex document since it defines how the enterprise should migrate from the current situation, the current state, to a future state as defined by the IT architecture. It is complex since there are typically many dependencies between system components, and one cannot shut down the system or enterprise during the migration!

There are usually two aspects to a migration plan: operational and technical. Architects must work in conjunction with business analysts to devise a feasible and manageable migration approach. For example, there may be technical advantages to migrating clients over to a new system over an extended period of time, but it may not be achievable due to operational and business rule constraints. Many details have to be sorted out as part of migration planning: when to convert existing data holdings from various sources, when to train staff, which staff will transition to which new roles, staffing levels required, interim operational procedures required during the transition, how and when to transition clients, new installs required and how they will be delivered—the release planning and project planning part of migration.

To start the definition of the migration plan you must first identify the system components that change or are somehow affected while moving to the future state. This step is essentially a Target vs. Existing Gap Analysis where changes needed to system components are identified.

Now the difficult portion begins, the definition of the migration plan based upon, in part, the following factors:

  • Cost and benefits of migrating each specific component;
  • Required sequencing of implementations (e.g. New database needed prior to a process automation);
  • Business priorities, usually driven by a large benefit, but no necessarily;
  • Technical priorities (e.g. the failure or imminent failure of hardware or software);
  • Resource considerations;
  • Complexity defined by the number of dependencies or the technology.

Choosing an evolutionary path for adapting the business to a new architecture having new processes and technologies can be a major challenge, especially for large complex operations. Always look for the changes that can deliver the biggest gains for the dollars spent first. From then on, it becomes a question not only of priorities but of feasibility. The path to the end state must be achievable in a cost effective way and be operationally viable. Make Architectural Decisions that will fit into the bigger picture but carefully assess investments for which benefits might not be gained for quite some time into the future. Make architectural decisions that can adapt and prepare for change based on the need for change in the business domain. Know where you are going, ensure you can always get there, architect for change, and manage premature investments based on the need for future change.

There is value in having a mathematical representation of the business so that cost effectiveness of evolutionary options can be examined. The mathematical model should represent demand (input volumes), throughput, staffing, and processing times. Keep in mind that mathematical models and simulation models are only as good as the data analysis underlying their assumptions (i.e., GIGO: Garbage-In, Garbage-Out). Also mathematical models, and especially simulation models, are expensive to build and should only be considered for larger more complex operations. Some of the techniques for obtaining valid measurements include:

  • Gathering and plotting historical input volumetrics to understand trends for future projections.
  • Analyzing future input volume through client research and interviews.
  • Gathering historical data on the time it takes to perform certain tasks.
  • Conducting timing studies to obtain data on the time it takes to perform new tasks or existing tasks that are altered in some way. If task steps are timed individually and only certain steps are being eliminated then the analyst can determine the projected time to perform the altered task. However, if the step time is too minute then the revised task must be represented in some way to obtain an accurate measurement.
  • Prototypes can be an effective way of obtaining timing data. However, if the task is completely new, do not underestimate the effect of user practice. A fully trained and experienced user will be able to perform a task significantly faster than someone who has never done the task before.
  • Input data quality can also have an effect on processing times and this should be examined also where applicable.
  • Analyzing arrival patterns to better understand the peak loads that can affect system sizing and staffing.

Often the mathematical models themselves and the process of devising them can help to identify potential improvements to the business processes. All knowledge gained about the business can assist in making better evolutionary and Architectural Decisions. Intuition can be deceiving. When the numbers are worked out, what you thought could deliver great gains might not.

The architecture models, particularly those at the Business level and Logical level, are also excellent tools for assessing the impact and feasibility of evolutionary options and can highlight the throwaway or transitional requirements—typically these are tasks or steps within a task.

These are only a few of the aspects to consider when defining a migration plan ... whole books have been written on this subject, and should be consulted!

More Information
Checklists