As IT systems continue to grow and evolve, so too do the number of legacy conversion projects. Advances in software and hardware technology along with newly developed standards make it important for businesses to keep their systems updated. Converting the code to a new language can be tricky, but often the biggest challenge is to successfully migrate legacy data into the new environment. This is because all of the data needs to be transferred to the new environment in its entirety and without alteration in its essence. Hence, the migration of the legacy data must be planned with great care.
The first priority of any legacy conversion project must be to extract the existing data.
Rarely is the extraction simply a case of migrating data from the source to the destination without having to perform data corrections or transformations. Conversions to a new system generally require mapping old data elements to new elements in a new data structure. It is extremely likely that the table structures that existed in the legacy system will no longer be viable in the new system. Therefore, mappings and transformations may be required in order to load existing legacy data into a new data structure.
Legacy Data Extraction
All the data from the legacy system must be extracted in its raw state to a delimited flat file format. This serves two purposes. Firstly, a delimited flat file enables every technology to access the data via an import program. Secondly, if the destination data structure is not known, writing to a flat file enables progress on the data extraction side of the project while the data structure for the new system is being decided. Once the new system's data structure has been chosen, it can easily be loaded from the data files and does not involve writing code against the legacy system to extract data. A process to get the legacy data was completed when the extraction to the flat file format was developed. Second, every field from the legacy system should be extracted regardless of whether it is deemed a useful business element. By extracting all known data elements up front, there is no need to rewrite the extraction code to include any additional fields that were initially overlooked. This saves time in both coding of the extraction code and processing the legacy system to now extract new fields.
Extraction of the data in its raw form will make it easier to audit. The raw form is simply the way the data appears in the legacy system. For example, the legacy system stores gender as 1, 2 and 0. The new system stores gender as M, F and NA. If any data conversions were applied during the extraction to the flat files it would make auditing of the legacy data more difficult. In order to determine where a data problem exists, you would have to go back to the legacy system as the source to verify any audits. However, when the flat files are used as the data source for the new system, they contain the data as it looks in the legacy system. Audits can be performed on the flat file data as the source instead of the legacy system.
Reporting
Often overlooked in a legacy conversion project is the area of reporting. An analysis of what reports and elements are being created from the legacy system must be performed along with an analysis of how the business wants to report on the data in the new system. For example, a report that is generated in the legacy system may not be able to be reproduced in its entirety in the new system. One reason for this is the new data structure and data migration. An old way of tracking history in the legacy system may no longer exist in the new system. Therefore, the business must document how they need to see the data from a reporting standpoint of the new system.
The process of removing a legacy system from a production environment is a complex task. In order to ensure a smooth transition from a legacy system to the new system, detailed planning must take place. Having a plan and understanding where legacy data is going is just the beginning. A period of parallel testing is essential before final rollout.