What are the critical success factors
for a successful system migration?
- Migration of the code to give equivalence on the target
"We make sure that the
migrated programs will produce output functionally equivalent to that produced by the
- Migration of the data to ensure that the same results will be
produced by the interaction of the data with the programs.
"Testing in a migration is
required to ensure that, given the same input, the programs and applications will produce
the same output as their pre-migrated counterparts. This does not necessarily mean that
the output is correct, only that it is the same. The principle is that if there are bugs
in the program prior to the migration, the same bugs will be there after the migration.
Any attempt to stray from this, will result in adding time and expense to the migration
- Testing of the migrated code to the extent that the systems
can be said to "work".
- The setting up of target hardware that will allow for
performance at least as good as the performance on the source system.
- The creation or use of existing utilities that match those of
the source system.
- The ability of users to continue to use the system even though
the system now runs on new hardware.
- The ability of developers to maintain the system even though
it has been migrated.
What data analysis work would need to
be undertaken? Please give the reasons why the work is required and the potential impact
of data on the system migration.
|It will be necessary to check the likelihood of
dirty data being an impediment to good running of the migrated system. This job is to
ensure that the new system works. This will be part of the standard Conversion Migration
Extract, Transform and Load routines.
"Migration software fails (at best) or produces
erroneous results (at worst) when encountering unexpected data. Data analysis and
profiling is the only sound way to ensure that the migration code is specified to deal
with all eventualities and is also a key driver to building the detailed Data Cleansing
"Data Analysis and Profiling
must start as early as possible."
- Reasons for carrying out this work include ensuring that dates
are real dates. (if the new data type is date)
- Programs migration will take advantage of target database
modelling validation before the start of translation essentially.
- Target database validation focuses on:
- Existing dates validation.
- Unsuspected "date fields" to be converted as new
dates fields. (with min and max values like dates)
- Field size to be exactly adjusted according min and max values
for numeric fields or min and max value length for character fields.
- Unsupported special but functional values like low-value
x'00', high-value 'x'FF', dates to '99999999' to be transformed into supported values and
restored for programs views.
- Indexed files or source tables reorganization into more than
What integration issues do you
envisage with the system migration?
|Different source systems into one integrated
target system. This is mitigated by the use of a unique tool like Conversion Migration during
study phase which will help to define a coherent target system.
- Unique target object names (programs, jcl, panels, reports,
tables, columns, ...),
- Unique source applications and target applications
- Standardised naming conventions
and once code is translating; normalization (does this program contains the mandatory
sections, do variable names respect standard,.?)
What are the key lessons learnt from
your experience in undertaking system migration / application code conversion?
- No two migrations are exactly alike.
- Conversion Migration
is an invaluable tool in ensuring that all sources are captured. Conversion Migration will
keep a complete inventory of all sources, data files and databases to be migrated. This
will ensure that all is known and that all of these objects are migrated.
- The senior management of the client must show that they view
the migration project as vital to the company to ensure that the project stays on track.
- Testing of the migrated code and adequate code coverage are
vital for keeping costs down.
execution is measured during preparation or, as required, after translation. Even if the
output files match, the program may still be inadequately tested if the test data exercise
only a fraction of the program code."
What are the key dependencies for a
successful system migration? What are the key implementation risks and how would you
propose to mitigate the risks?
- Timely responses from Client.
- A team of Client working with the migrations team.
- Timely creation of test data.
- Target hardware provided on time.
Migration Risks are:
- Failure to deliver the inventory
Strict project control with frequent meetings will ensure that the inventory is delivered
on time. The fact that much of the system is automated means that there is less likelihood
- Failure to follow change
If this were to happen on the client's site, Conversion Migration will pick up the differences and will
migrate and test the extra code.
- Failure to provide the target
environment on schedule.
Strict project management, having the hardware supplier own the problem, ensuring that the
client is kept informed of progress or lack thereof in the supplying of the hardware will
help to mitigate the risk.
If the risk becomes an issue Conversion Migration will work with the client to source the hardware from
- Changes in project scope.
Given our experience over many years, we are extremely loathe to allow project creep of
any type. All changes will be logged in the same database as the risks and issues. Each
change request will be evaluated to see if it will affect the project adversely. Any
adverse effect will cause an issue to be generated and this will be raised either with
Client project leader or at the next project meeting (depending upon the severity of the
effect). Any decision will be taken jointly (having been escalated as required) and the
result entered into the issues database.
- Lack of understanding of all of
the issues and requirements.
This will not happen as communication is one of the strengths of the Conversion Migration team plus the Conversion Migration tool
will take in all the systems.
- Attempting application or
database improvements during the course of the project.
Experience has shown them that improvements are best done before or after migration. The
goal of any migration project is to give back to the client an exact functional equivalent
to what the client initially had. "Although there
is often a desire to improve functionality or to fix bugs during a migration project, it
is often a recipe for disaster."
- Failure on the part of the client to
assign dedicated personnel during the project.
- Other client business issues taking
priority over the migration project.
Please describe any business
readiness activity that will be necessary ahead of the system migration.
- Collect all sources.
- Collect all documentation.
- Create a list of issues and risks that can be seen by the
client migration team.
- Ensure that the staff know what is expected of them.
- Ensure that the staff expect to provide answers during the
- Ensure that all staff are prepared to meet when necessary.