Our Methodology - How We Approach Data Migrations and Migrate Data


When it comes to migrating data or records, or converting files or images, or ingesting data or any other Professional Service that we offer, our methodology is based on the following core principles and framework that we've developed:

  1. Understanding the problem / goal
  2. Analysis
  3. Requirements
  4. Development
  5. Testing
  6. Feedback Loop
  7. Deployment/Execution
  8. Support

methodology chart

#1 Understanding the business goal

We believe a fundamental beginning to any project, whether its migrating data, upgrading a system, converting files, developing software or any other professional service that we offer, is to first and foremost, understand the business objective. In order for any service provider to develop something useful, they must first understand - what is the client's problem? What is the goal? What exactly is it that we are trying to achieve? If there isn't a problem that needs to be solved, then any development in that area is a bit dubious. In order for our company to provide value, we must first and foremost, be solving some problem (your problem).

#2 Analysis

Our founder has worked with and for a number of companies prior to starting iDataMigration.com, and he was surprised to see how often this critical step of analysis is simply disregarded, or not afforded enough time. When it comes to migrating data, or files or records, or any similar service, most service providers omit this step from their methodology. Specific to data migrations, we encourage you to look up the standard process for solving any data migration problem, and you'll almost always find that the solution is ETL. ETL is the acronym for Extract, Transform and Load and is currently the industry standard for migrating data. However, ETL is missing the critical Analysis step, and the end result for data in the target system will be far less accurate than if this critical Analysis step was performed up front. Feel free to check out our page on Misunderstanding ETL to learn more.

Our Analysis step involves ingesting all of the data into database tables and running queries and reports against the data. We then use this analysis as a lead into the next step, which is gathering requirements.

#3 Requirements

When a service provider is not armed with the results of an analysis, the typical requirements gathering session involves the client telling the service provider what they need. But - it's a bit difficult for the Service Provider to ask meaningful questions if they don't have a good grasp and understanding of the data. This is just one of the many reasons we always ingest and analyze the data first. The analysis becomes input into the requirements gathering sessions, and allows us to ask many meaningful questions about how certain data, files or constructs should be handled. We work with our clients subject matter experts (SMEs) and/or users of the data to better understand the source data, and the goals for the target system that the data is being migrated into.

#4 Development

Now that we have performed an initial analysis of the data, and we've gathered requirements, our next step in our methodology is to begin development. We use a variety of technologies for development, including but not limited to: PHP, Java, JavaScript, HTML5, MySQL, Oracle, Access, XML, XSL etc. We use a 'best tool for the job' approach, and we are not fixated nor rigid in our approaches. For example, we have generally found that writing custom code to migrate XML from one format into another XML format or schema is far more useful and flexible than trying to do the XML to XML conversion using XSL, which is very limited (and generally only useful for basic, or simple, migrations). Thus, while most service providers would recommend and be rigid in their use of XSL for XML migrations, we are willing to write custom and graceful code to handle complex and intricate enterprise XML migrations or integrations.

#5 Testing

Once development is complete, we begin the testing phase.

#6 Feedback Loop

After we've quality assured (QA'd) the solution internally, we then show the results to you and walk you through the solution. We expect that there may need to be changes at this point, and as such we are flexible and welcome your feedback. This step in our methodology loops back to step #4 (Development), as once we've gathered your feedback and any changes to the solution that you've requested, we go back to step #4 to improve on our development. Steps 4, 5 and 6 will continue to loop until the the product is accurate and solves the objective that we set out to solve in step #1.

#7 Deployment/Execution

Now that the solution is complete, we work with your team to ensure deployment and/or execution is scheduled at an agreeable time. Our lead solutions architect oversees all deployments and executions to ensure accuracy and that the correct process is followed.

#8 Support

Once the solution is deployed, you will enter the support phase where our team monitors your account for any incoming emails, phone calls, or support tickets related to your specific solution. We find that if there any major issues that were not discovered during the testing and feedback loop periods, that they're found within the first 5 days of your own internal testing. If your users find issues or require assistance, we are here to help. Simply let us know what you're seeing, and we'll work to resolve it!