Migrating large corporate SharePoint intranets

This is a multi-page blog-posts about my experiences with SharePoint migrations. You can navigate between the four different pages by clicking on the hyperlinks above. In this series I will describe the migration-strategy I used and hopefully it will give you a guideline to use in your own SharePoint migrations.


I have found that a migration project has many of the same aspects found in an ordinary IT development project. The following points apply.

  • Use iterations instead of a waterfall approach. During the actual migration there will almost certain be unexpected problems that you will run into. There will always be a fair amount of uncertainty. The key to this is how you discover and handle these unexpected situations. Adapting and improving your migration implementation has to be part of your daily work. For large migrations it is best to split the migrations up into multiple batches. This way there is room to correct and improve for the next batch.
  • Know what you are dealing with. Every migration is different when you look at the details but your migration strategy is something that stays the same.
  • Automate as much as possible. Migrating these large volumes of data can be a repetitive task, so automation is key to success. Having the right set of PowerShell-scripts in combination with the right migration-tools will eliminate faults made by human error. Manual tasks take up a lot of time, are costly and inconsistent.

The high-level migration strategy I use consist of the following phases:

  • 1. Analyse: Get to know the data you are migrating and create an initial migration plan on how to migrate. Know where the similarities are and know where the differences are. Know what type of data you are dealing with and the volumes of data. More on this in a analysis post. Secondly know which users will be affected by the migration.
  • 2. Migrate: Use the right tools to do the job and try to automate as much as possible. Migrating these large volumes of data can be a repetitive task, so automation is key to success. See more on this in my migration post.
  • 3. Validate: Check if the migration went as expected. Once again, not manual, but automate your validation. Tooling is needed for this task. See more on this in my validation post.
  • 4. Improve: Make your migration implementation better. Adapt to the situation, correct the faults discovered and re-run the same migration for this iteration.
Continue reading this series here