Thursday, 29 November 2012

Quick, Overall & High-Level Estimations for Enterprise Level Microsoft Dynamics CRM 2011 Implementation

In this blog I will provide a quick high level estimation calculation for any enterprise level Microsoft Dynamics CRM 2011 project.

Currently I am working on a large scale enterprise level Microsoft Dynamics CRM 2011 project. Having a high level estimation on paper is must for the ultimate successful delivery of the project. If you, being a project manager or a team lead, can justify estimations on paper, then it is easier to manage any project. In any project the 3 most important considerations are "tracking daily work", "working to the exact requirements" and "engaging the end user". If you have high level estimations rightly planned and calculated all the above 3 can be carefully achieved.

You can adopt any project methodology for an enterprise level Dynamics CRM 2011 project, but at the end of the day you can deliver the final product only if at the beginning you had your estimations right. You don't have to be 100% accurate. If you have noted down all high level components and the work/time estimations against them, then minor changes during the course of the project becomes easy.

I don't have any estimate template handy, but can give some ideas.

There is a very important factor in Dynamics CRM 2011 project and that is your team members. Your enterprise level A-team will consist of many Business Analysts, Testers, Team leads, Architects, Developers and a Project Manager. Being a project manager and/or a team lead you should be well versed with their capabilities. You will have to define on paper whether a resource is of a senior or junior level in terms of his/her Dynamics CRM capability. Also within their capabilities, you will have to well define what they can do and how well they can do. For example one of your senior developers is very good in custom Dotnet programming. So you can utilise his/her expertise to build plugins and custom workflow activities. On the other hand one of your resources might be least experience in CRM 2011 but a good Business Intelligence expert. You can utilize his/her capability in developing custom SSRS reports for CRM 2011.

In estimations, you will have to breakdown work into broader tasks like requirements gathering, solution design, documentation, entity creation (which includes attributes, form layout, views), JScript (or any web resources), plugins, workflows (including any custom workflow activities), setting up the general navigation (which includes sitemap, icons and ribbon button customizations), SSRS Reports, integration (if there are any integrations with SharePoint, ERP or any third party applications), testing, SIT, UAT and Production Deployment (including data migration). All these will fall under various stages of your software development lifecycle. Your project will start with requirements gathering and solution design. Then the development will begin, followed by testing. This will lead to SIT, UAT and finally deployment to production.

Then under each you will have to breakdown into sub tasks. For example let's say you have 25 JScripts, 30 Plugins, 60 Workflows, 120 Reports, etc. Now each of these sub tasks should be categorized into 3 types: Simple, Medium or Complex. These types define the developer/BA/Tester man hours/days effort. Like a Simple report should take 4 hours, medium report should take 1 day and a complex report should take 2 days. Same way a Simple plugin should take 1 day, medium plugin should take 1.5 days and a complex plugin should take 3 days. It all depends on your requirements and the quality of developers you have.

Apart from development, you have to provide time for Business Analysts for requirements gathering, time for a Solution Architects to design the system, time for Testers to test the whole development and then time for SIT, UAT and Production Deployment. Rule of thumb is 35% of total development time should be added for testing. One of the most important areas in any enterprise level CRM 2011 project will be data migration. There is hardly ever a project without data migration. There should be sufficient time allocated for data migration testing and finally the actual migration.

Once you have no. of days and no. of hours for the above, add all and this is your final estimation. Add 10-20% contingency time on top and you will get final estimation. Once the development starts then you can assign simple, medium and complex tasks to developers based on their skill level and understanding.

All the above is for an enterprise level Microsoft Dynamics CRM 2011 project which will have all the stages and a proper software development lifecycle. For small to medium CRM projects some of the above stages might not exist.
I hope this blog about 'Quick, Overall & High-Level Estimations for Enterprise Level Microsoft Dynamics CRM 2011 Implementation' was informative. Please feel free to leave your comments.


  1. Very Informative, thanks a ton Ashish

  2. I was really looking for any such inputs. Much helpful.. I would like to know more/read more about effort estimations in MS CRM projects.