Mainstream support for Microsoft Dynamics CRM 4 will end on April 9th 2013 (source). That’s not too far away! If you have a large and complex XRM solution it’s about time to really get geared up and promote and plan the upgrade.

In this article I’ll outline a few of the many tasks involved when upgrading a complex XRM-application from CRM 4 to CRM 2011.

What does “end of mainstream support” really mean?

There is a comprehensive description of the Microsoft Support Lifecycle Policy here, but the short version is:

  • No more “non-security” hotfixes will be provided
  • No more free-of-charge support
  • No more warranty claims
  • No more design changes and feature requests

Any customer putting their Microsoft Dynamics CRM 4 solution to serious use as a business critical application (which most XRM-applications typically are), should very much consider an upgrade. Not only because of new features, but because of the lack of support from Microsoft.

Why upgrade?

Apart from the above, there is a load of new functionality – and it’s growing all the time. The scope of this article is not to describe what’s new in Dynamics CRM 2011 or the road ahead, there’s plenty of articles about that around. Generally speaking it’s on CRM 2011 where all the Dynamics CRM development efforts are being focused, and on such major areas such as:

  • Charting and the interactive processes (Dialogs)
  • Social CRM (with additions such as the activity feed)
  • Cross-browser and cross-device
  • Windows 8 and Office 2013 development
  • Performance, not only due to core changes such as WCF, but also through continuous improvements in roll-ups
  • Updated UI with process/flow oriented modeling

It’s also important to keep in mind that consultants and the community have been moving to CRM 2011 for the last 18 months. Competence and innovation based on CRM 4 is hard to find today.

But really, what it comes done to is: Can you afford to stay on an old platform for a mission/business critical application?

How to plan for an upgrade?

For a large, complex, XRM-application you would not normally suffice with the basic “next-next-next” upgrade-wizard approach. What I typically would suggest is:

1. Perform a detailed analysis of your existing CRM4-application

  • What JavaScript customization do you have and how well will they upgrade? Use both the JavaScript Upgrade Tool (se further down) and Microsoft Custom Code Validation Tool.
  • What navigational (ISV.Config) customization do you have and how will these be implemented using the Ribbon, sitemap or form navigation customizations in CRM 2011?
  • How well will your reports upgrade? Especially if you are considering an upgrade to CRM Online where SQL-based reports need to be upgraded to FetchXML-based reports.
  • How will your forms render in CRM 2011 where tabs are no more? Should you consider updating the forms? Should you consider developing role based forms per entity? Specifically remember to consider the preview pane in Outlook since it will always render all fields, all tabs and all sections without executing any JavaScript. Or turn it off.
  • Have you developed any functionality that is redundant in CRM 2011? One example could be the audit function in CRM 2011 that there were plenty of custom developed implementations of in CRM 4.
  • Have you used any third party products in CRM 4 that are redundant in CRM 2011? Perhaps Stunnware Filtered Lookup which was highly popular in CRM 4 but now implemented in the core product for 2011?
  • Have you developed any custom ASPX pages? They might work, but you should consider alternative solutions for use in CRM 2011. Read more.
  • What about your plugins? A CRM 4 plugin that is upgraded will be placed in a wrapper and probably work. But in order to be able to continue to work with the code, to fix bugs and to add new functionality you should perform a code-upgrade and re-register your plugins.
  • Are you working with Queues in CRM 4? I would suggest that you specifically address this and consider what approach would be the best since queues work differently in CRM 2011.
  • Do you have any workflows? Are you using custom workflow activities and looking at CRM Online? You’ll have to wait for Rollup 12 (Q4/December 2012). If you are targeting an On-prem deployment conversion will happen in much the same way as for plugins.

2. Plan your development and deployment

  • Consider your managed vs. unmanaged solution approach. My thoughts on this subject are here.
  • Perhaps you need to consider upgrading existing third party add-ons, or adding new ones.
  • Is this going to be an On-prem or Online solution? Or should you prepare for both?
  • Cross-browser? Mobile? CRM 2011 is developing fast and when performing an upgrade you should consider the added platform functionality in your upgrade. Make sure your code is cross-browser safe!
  • What about the client? Web? Outlook? Both? Prepare to upgrade the clients! CRM 2011 will work on CRM 4 clients but you will miss a lot of the added client functionality.

3. Additional functionality, information and training

  • It’s my experience that you’ll want to add some new functionality, based on “what’s new in CRM 2011”, in order to get a high user acceptance or a business case for the upgrade. Most logically this would be charts and dashboards, so make sure to spend time to iron out the requirements in this area so that you can include this in the upgrade.
  • Also, depending on your requirements, it might be a good idea to make use of role based forms. Many customizations in CRM 4 have been focused on enabling/disabling fields or showing/hiding sections of the form depending on the users role, this might no longer be necessary so don’t upgrade unnecessary code.
  • Prepare your user group – well in advance - for the upgrade by providing information on new features, the new navigation concept and remember to upgrade all your documentation.

4. Perform a test upgrade

In my experience it is very useful to perform a test “in-place” upgrade. Make sure to back up your CRM 4 solution and then set up a new CRM 2011 system where you perform the upgrade. The upgrade will give you a picture of how well your CRM 4 application will work “out-of-the-box” in CRM 2011 and the scope of manual work to be performed in your upgrade.

Tools

There are a few essential tools available to help.

Conclusion

My bottom line is; don’t underestimate the complexity or the benefits of performing a real upgrade project. Don’t just rush through the upgrade wizard to “make it work”. Ensure that you make use of the new functionality in Microsoft Dynamics CRM 2011 and remember that the pace of development and innovation is very high at the moment, with new UI’s, Windows 8, cross-browser etc. Make sure you upgrade is ready to handle all that’s coming next!