Assessing the Cost Drivers of Custom Code Refactoring in ERP Upgrades
A practical guide for CIOs and IT leaders to identify, quantify, and manage the hidden costs of refactoring custom code during ERP version upgrades and migrations.
Connected business operations. Flexible deployment.
A practical guide for CIOs and IT leaders on planning parallel ERP operations, managing data synchronization, defining go/no-go criteria, and ensuring a safe cutover from legacy to new systems.
Planning for parallel running of legacy and new ERP systems involves operating both platforms simultaneously for a defined period to validate data integrity, process accuracy, and system stability before fully decommissioning the legacy environment. This approach is critical for mitigating the risks of data loss, operational disruption, and financial reporting errors during a major ERP migration or upgrade. The primary objective is to ensure that the new system can handle real-world transactional loads and produce accurate results that match the legacy system's output. Key risks to control include data synchronization conflicts, user confusion due to dual interfaces, increased infrastructure costs, and the complexity of reconciling discrepancies between the two systems. A successful parallel run requires a clear strategy for data flow, strict go/no-go criteria, and a well-defined rollback plan in case the new system fails to meet performance or accuracy standards.
Before initiating parallel operations, organizations must clearly define the scope of the parallel run. This includes identifying which business processes, modules, and data entities will be tested simultaneously. Not all processes need to run in parallel; often, a phased approach is more effective. For example, finance and inventory modules might run in parallel first, followed by human resources and procurement. The objectives should be measurable, such as achieving 99.9% data accuracy in financial reports or processing 10,000 transactions per hour without latency. Defining the duration of the parallel run is also essential. This period should be long enough to cover at least one full business cycle, including month-end or year-end closing processes, to validate complex reporting scenarios. Stakeholders from IT, finance, operations, and legal must align on these objectives to ensure that the parallel run addresses all critical business requirements.
Data synchronization is the technical backbone of parallel running. The strategy must determine whether data will be replicated from the legacy system to the new system, from the new system to the legacy, or bidirectionally. In most cases, the legacy system remains the source of truth for master data during the initial phase, while transactional data may be entered into both systems or replicated automatically. Middleware or integration platforms are often used to facilitate this data flow. It is crucial to establish clear data mapping rules to ensure that fields in the legacy system correspond correctly to fields in the new system. Discrepancies in data formats, such as date formats or currency codes, must be resolved before parallel running begins. Additionally, organizations must implement conflict resolution mechanisms to handle cases where data is updated in both systems simultaneously. Regular reconciliation jobs should be scheduled to compare data between the two systems and flag any mismatches for manual review.
Master data, such as customer, vendor, and product information, requires a different synchronization approach than transactional data. Master data is typically static or changes infrequently, so it can be synchronized in batches at regular intervals, such as nightly. Transactional data, including sales orders, purchase orders, and invoices, is dynamic and requires near-real-time synchronization to maintain operational continuity. The choice between batch and real-time synchronization depends on the business's tolerance for data latency and the technical capabilities of the integration platform. Organizations should document the synchronization frequency for each data type and monitor the performance of these jobs to ensure they complete within the defined windows.
When data is updated in both systems, conflicts can arise. For example, a customer's address might be changed in the legacy system while a new order is created in the new system. The integration strategy must define which system takes precedence in such cases. Typically, the system where the change originated is given priority, but this must be clearly documented and communicated to users. Error handling procedures are also critical. If a data synchronization job fails, the system should alert the IT team and provide detailed logs for troubleshooting. Failed transactions should be queued for retry or manually processed to prevent data loss. Regular audits of the error logs help identify recurring issues that need to be addressed before the cutover.
Running two ERP systems simultaneously places additional load on the IT infrastructure. Organizations must assess the capacity of their servers, databases, and network to handle the increased workload. This includes evaluating CPU, memory, and storage requirements for both systems. Performance testing should be conducted in a staging environment that mirrors the production setup to identify potential bottlenecks. If the new system is cloud-based, organizations must consider the impact of data transfer between on-premises legacy systems and cloud-based new systems. Network bandwidth and latency can significantly affect the performance of real-time data synchronization. Load balancing and failover mechanisms should be implemented to ensure high availability. Additionally, security measures must be reviewed to ensure that data in transit between the two systems is encrypted and that access controls are properly configured to prevent unauthorized access.
Parallel running can be confusing for users who are accustomed to the legacy system. Clear communication and comprehensive training are essential to ensure that users understand which system to use for specific tasks. Training materials should highlight the differences between the two systems, including new features, changed workflows, and updated data entry requirements. Users should be encouraged to report any issues or discrepancies they encounter during the parallel run. Change management initiatives should address user resistance and provide support to help users adapt to the new system. Regular feedback sessions with key users can help identify areas where the new system does not meet user expectations and allow for adjustments before the cutover. It is also important to define the roles and responsibilities of users during the parallel run, such as who is responsible for entering data in each system and who is responsible for reconciling discrepancies.
Validation is the core of the parallel run. Organizations must establish rigorous reconciliation processes to compare the outputs of the legacy and new systems. This includes comparing financial reports, inventory balances, and transaction logs. Discrepancies should be investigated and resolved promptly to ensure that the new system is producing accurate results. Automated reconciliation tools can help streamline this process by flagging differences that exceed predefined thresholds. Manual reviews are still necessary for complex discrepancies that require business context to resolve. The validation process should cover all critical business processes, including month-end closing, inventory valuation, and customer billing. The results of the validation should be documented and reported to stakeholders to provide visibility into the progress of the parallel run and the readiness of the new system for cutover.
Financial reporting is often the most critical aspect of ERP validation. Organizations must ensure that the new system produces financial statements that match the legacy system's output. This includes balance sheets, income statements, and cash flow statements. Discrepancies in financial reporting can have significant legal and regulatory implications, so they must be addressed with the highest priority. The validation process should include a detailed comparison of account balances, journal entries, and tax calculations. Any differences should be traced back to their source and resolved. It is also important to validate the new system's ability to generate reports in the formats required by regulatory bodies and internal stakeholders.
A practical guide for CIOs and IT leaders to identify, quantify, and manage the hidden costs of refactoring custom code during ERP version upgrades and migrations.
Learn how to design a distribution ERP that provides real-time inventory visibility, standardized order-to-cash processes, and robust financial controls across multiple warehouses and entities.
Transform your manufacturing ERP from a passive database into an active workflow orchestration platform. Learn how to align quality, inventory, and finance processes to reduce manual work and improve operational control.
Discuss your workflows, modules and deployment options with our team.
Back to resources