I am currently working on a CRM 3.0 to CRM 2011 upgrade. Here are some thoughts on the process that have surfaced as we enter the planning phase…
- An upgrade to CRM 2011 requires, in addition to the CRM software upgrade, a platform upgrade. You should expect to be procuring new hardware to run the 64 bit Windows and SQL 2008 platforms.
- The upgrade process requires you to upgrade ‘through’ CRM 4.0. You don’t have to use CRM 4.0 but you will need to run the CRM 3.0 to CRM 4.0 upgrade and then upgrade to CRM 2011.
- You will need to install CRM 4.0 over your CRM 3.0 instance to upgrade it, that is the only upgrade approach available between those versions. If ‘losing’ your 3.0 environments is unacceptable then you will need additional environments.
- Your upgrade platform needs to support both 3.0 and 4.0. Windows 2003 SP2 and SQL 2005 SP3 is the level you need to be at.
- CRM 2011 will be installed fresh on the new hardware platform. The CRM database, once upgrade to 4.0, can be imported into the CRM 2011 instance to upgrade it to 2011.
- Because of the ‘in-place upgrade’ approach required to upgrade from 3.0 to 4.0 it is worth considering whether you can image or snapshot the server prior to the upgrade so that the process is more easily repeatable.
- You must utilise at least 1 (preferably 2 or more) non-production environments to work through the upgrade process.
- You are upgrading both the data and the customisations to the system. The upgrade ‘wizard’ provided by Microsoft takes care of the data but the customisations require refactoring and a bunch of testing.
- Once you have completed the upgrade process a couple of times you should be confident with the process for upgrading the data. You can now focus on the customisations.
- Customisation changes back in the production 3.0 system must be put on strict hold for the duration of the project. You don’t want to be upgrading in parallel with on going production changes. And once you start doing an in-place upgrade in your dev and test environments you lose access to those environments for testing on going production changes.
- Customisations should be re-factored and re-tested in your dev/test/uat environments.
The CRM 2011 production environment can be built in advance. Once your refactored customisations are production ready and you are confident in the upgrade process you can execute the production deployment process:
- Refresh the production database to a test environment (you will need a clean CRM 3.0 environment ready for this)
- Run the in-place upgrade over that database on the test environment (we are deliberately avoiding changes to the production server so we can roll back to it if things go pear shaped)
- Take the upgraded 4.0 version of your production database and import it into the new CRM 2011 production platform.
- Deploy your re-factored customisations
- Resume production access
Note: I’m avoiding steps here regarding the Outlook Client and Email Router etc. as they are not relevant on my project.
That’s my plan at this stage. I will come back and edit this blog as the project progresses. If you have any experiences to share please post comments.