As businesses grow, their need for more sophisticated computer systems increases, and it may be necessary to move valuable data holdings into a new software application. Key factors in this process start with reviewing the existing data to verify that it is correctly defined and that data quality issues (missing or misspelled values, etc.) are documented and addressed. It is also necessary to map the existing data fields into those provided with the new software; are existing fields matched, are there fields in the new software to be populated from scratch, and how will fields missing from the new software be provided for?
If migration tools are provided with the new software they can and should be used, with provision for any data which they cannot migrate. This may entail modifying the new software to define equivalent variables in the old system (are they really necessary? can they be mapped into other variables?) and building manual export and import processes from the old to the new systems; however, modifications to the new software should be kept to a minimum to avoid support and compatibility problems in future versions.
It is also essential to define the dependencies between data files so that “foundation” data is loaded before files which rely on them. For instance, the customer file should be loaded before the order history file (which will contain customer identification numbers).
A test environment should be established for rigorous validation of the processes and converted data. Above all, a full backup of all the data to be converted should be taken. It may be necessary for legal reasons to hold this for several years, so thought should be given to how the backed-up and converted data may be extracted if necessary.