Archive

Microsoft Dynamics CRM 2011 comes with a brand new concept of solutions. Solutions are how customizers and developers author, package, and maintain units of software that extend Microsoft Dynamics CRM 2011. In this post I will be focusing on development of enterprise CRM implementations and utilization of solutions.

In enterprise CRM implementations, many processes/iterations are running in parallel which result in many product releases in parallel. So development, testing and rollout of all releases in parallel with no interference with work in progress are massive challenges.

For example, your CRM implementation is comprised of N release as shown below and you want to utilize Microsoft Dynamics CRM 2011 solution concept to fulfil following goals:

Development of releases in parallel

Multiple teams working on multiple releases

Testing of releases in parallel to development

Release based rollout to production

Install or uninstall releases from test or production

Post production support (Patch/hotfix)

I am expecting that you are familiar with managed/unmanaged solution concepts. So in order to implement above scenario, you need to design your organization and solution structure for CRM 2011 accordingly as given below:

Create another organization for each release with one unmanaged solution per release

Install base solution as managed in this org i.e. very similar to solution library concept.

Add all release 1 specific components to release 1 unmanaged solution

Similarly, for all other release, use rest of all released as managed solution (reference).

Now, if something is changed in release 1 or base solution, you can use managed solution update feature. Just export new version of base/release 1 solution as managed and install it to release 2 organization by using overwrite or merge option.