Three Police Constabularies unifying to single ERP application


Migration of shift patterns from legacy systems to CARM


Design and creation of a complex migration utility enabling the migration of shift patterns from three separate police forces' legacy systems into one new application.


With the introduction of new ERP (Enterprise Resource Planning) applications imminent, three separate Police Forces required data from legacy applications to be migrated from legacy applications to the new ERP applications. The vast majority of data was to be moved from legacy applications via existing data migration routines.

Some of the legacy data, the shift patterns, was not suitable for data-data migration due to a lack of equivalence in this area between the legacy applications and one of the ERP applications, CARM (Computer Aided Resource Management software). Originally this unsuitable data was to be keyed into CARM manually by experienced HR users. This was estimated to require hundreds of hours of effort over an 11 week period.

Testing Performance suggested that there may be a better approach and developed the solution from concept through planning to delivery.


There were estimated to be upwards of 3000 shift patterns with many consisting of five weeks or more. Some rules needed to be implemented depending on the timing and duration of some individual shifts. Extracted shifts originated from two different legacy applications.


Testing Performance were responsible for the planning and implementation of an approach for the migration of staff shift patterns from three legacy systems into CARM.

Early discussion during pre-engagement resulted in agreement to use an automated test tool to develop a bespoke utility to perform the migration. The automated test tool selected was able to interact with the CARM user interface whilst having a scripting language capable of the complex algorithms required to transform and map the legacy data.


Testing Performance designed and created a utility that was capable of analysing shift pattern data exported from the legacy systems. The data was then reformatted, mapped and then automatically entered into CARM UI. An automated test tool was used to perform both the data manipulation and the UI automation.

The migration is performed as and when shift pattern data is made available. Due to this iterative approach, duplicate shift patterns are identified by interrogating the UI at the time of creation. In such an event, the shift pattern is marked as duplicate and reported for manual resolution.

There were four phases for the solution;
  • Discover/ Planning phase where requirements were understood, and the way ahead was agreed
  • Design/ Develop where detail of the deliverables was determined and designed
  • Test where, as far as possible, the accuracy and performance of the utility was tested
  • Delivery/ Deploy where the utility was deployed on-site and executed, a workshop would feedback and demonstrate assets migrated in order to achieve sign-off
  • One senior resource to design and develop the utility off-site
  • One senior resource to ensure the utility’s on-site deployment and perform minor modifications/ updates to accommodate the CARM UI and any tweaks required to the entry workflow, execution on the customer’s first batches of legacy data
  • A junior resource to perform migration of the remaining batches of shift patterns as and when they become available.

Testing Performance reviewed documentation and interviewed key personal to understand requirements. This allowed for the following Design and Build phases to be defined with a high level view of requirements.

Discovery/ Planning

The discovery/planning stage was used to identify the following:

  • Source data format from legacy systems.
  • Field mapping requirements.
  • Basic data entry workflow for data entry into CARM.

The planning stage revealed the following additional requirements:

  • To test the migration algorithms and workflow off site a mock-up application to simulate CARM would be required. The mock-up was to have the basic form required to facilitate testing of shift pattern entry.


Due to the requirement to interact with the CARM UI, development was within the automated test tool based on vb.Net script.

The development activity was divided into the following tasks:

  • Data creation – dummy data was created in the legacy system formats.
  • Data read, format and map.
  • UI mock-up development.
  • UI workflow automation.
  • Duplicate record identification.


Testing was performed during the development cycle at multiple stages.

  • Formatting and mapping.
  • Duplicate identification
  • Full end-to-end was not possible off-site.


Once testing was complete the migration utility was deployed on the customers environment and the UI workflow was updated and finalised against the CARM system. Migration commenced with the initial insertions being validated manually as this was not possible to test fully off-site.  Once the customer was satisfied that the first shift patterns were imported correctly the migration resumed. Minor updates were required as the utility error handling exposed mapping options that were not specified in the original requirements.


Due to the off-site preparations it was possible to update the utility to interact with the CARM UI, enter and validate a selection of shift patterns by the end of first day of the on-site activity.

This example demonstrates;
  • Working with a customer, providing consultancy that genuinely results in a better experience for the customer, saving time and money while at the same time increasing quality.
  • Testing Performance’s ability to take a customer on a journey, taking a concept and working with the customer through to successful implementation of a solution.
  • The ability to supply and deploy appropriately skilled personnel at each stage of the overall delivery process.
  • Flexibility to provide personnel as the project demands.