Wednesday, October 14, 2015

Microsoft Dynamics CRM 2016 Deployment: Estimating Costs

One of the questions I am asked most frequently by clients is to estimate the cost of a CRM project. This blog post offers an approach for estimating implementations of Dynamics CRM. If you are in a big hurry, go straight to the InfoStrat CRM cost calculator.

Choosing the Deployment Model
One of the advantages of Dynamics CRM is that you may deploy your solution on premise at your office, in the Microsoft cloud, or at a hosting facility. Your choice of deployment options will affect the licensing or subscription cost.

You can start here: http://www.microsoft.com/en-us/dynamics/crm-purchase-support.aspx The comprehensive source is here:https://technet.microsoft.com/en-us/library/hh699677.aspx

Dynamics CRM Online
Cloud-hosted Dynamics CRM is the easiest deployment model to deploy and to price.

You can choose from the following plans:

Essential. Provides access to custom applications built on the Microsoft Dynamics CRM platform without using the Dynamics CRM user interface.
Basic. Provides access to core entities: accounts, contacts, leads, and cases. The Basic plan also provides access to reports, dashboards, visualizations and custom applications. This may be appropriate for occasional users.
Professional. Provides access to the full range of Microsoft Dynamics CRM capabilities, including sales, marketing and customer service. Most users such as sales, marketing and customer support need the Professional plan.
Enterprise. Provides access to the full range of Microsoft Dynamics CRM capabilities, including sales, marketing and customer service. It also provides full access to Microsoft Social Engagement, 
Unified Service Desk, and Microsoft Dynamics Marketing. A smaller number of users typically would use Enterprise rather than Professional. 

You can mix subscription types within your organization. Subscriptions cover both hosting and the associated software licenses. This deployment model is rapid -- Microsoft manages the infrastructure and you don't need to install anything on your servers. It is flexible and quite scalable, so you can add (or subtract) users as your needs change. In the short run it is also the least expensive option because it doesn't require any hardware acquisition or server licenses. If you deploy with Dynamics CRM Online, you will automatically receive all software updates which will be installed by Microsoft.

You can purchase additional storage for Dynamics CRM Online, so you should estimate the storage you will need to get an accurate cost estimate.

Microsoft offers a U.S. government version of their cloud. Government agencies and government contractors are eligible for the government cloud.

Bundles
Microsoft offers promotional pricing on Dynamics CRM from time to time and also cost savings on bundles with services such as Office 365. For instance, you can add Dynamics CRM Professional to Office 365 for $50/user/month.

Hosted Deployment
The second option is hosted deployment. Many companies will host your solution for you on their server facilities. Hosting may be shared (with other organizations) or dedicated (you have the server to yourself). Microsoft offers Service Provider (SPLA) licensing for its products which allows the license to be bundled into your monthly hosting bill. If you choose dedicated hosting, you may use your own licenses purchased in the same way as for on premise deployment.

On Premise Deployment
The third and most common option is on premise deployment --the most complicated licensing scenario. This means that you will install the software at your own facility on hardware that you provide. Microsoft offers software maintenance under a program called Software Assurance that includes updates to the products you purchase. Your organization must manage the servers and is responsible for backups and installing updates.

Dynamics CRM is licensed based on named users or device licenses, so the first step in calculating costs is to count your users. First, count internal users that are within your organization. The most common licensing approach is based on named users. For instance, if your department has 500 people and all of them will be using Dynamics CRM, you would buy 500 client access licenses (CALs). Microsoft also offers device CALs, so two or more people who are non-concurrently sharing a workstation could use just one CAL. This makes sense if you have shift workers or call centers that operate around the clock.

Next, count how many Dynamics CRM servers you will need. How many servers are needed to support the size of your solution? How many environments will you need, such as development, test, staging and production? Three or four environments are typical for enterprise solutions.

Your reseller is best source for software pricing, and can create a quote based on your volume license agreement. If your organization has an enterprise agreement for Microsoft products, it will offer the best prices.

Extras
For on premise deployment, you may also need licenses for related products such as Windows Server, SQL Server, and Microsoft Office.

After you nail down the hardware and software, the more challenging part is estimating the cost of professional services.

Approach One: Find a Similar Project
If a similar solution has already been implemented, this can be the shortest path to an estimate. For instance, my company InfoStrat implemented a Dynamics CRM solution called Stimulus360 for about 19 clients, so by the time the third or fourth client approached us, we had a pretty solid idea of the cost elements and the variables in order to estimate the project. The question to ask is whether your requirements will be different from other clients. Ideally, you could examine the features of the solution and map them to your requirements, highlighting gaps where new features would be needed.

Approach Two: Function Point Analysis A second approach, and perhaps the most classical approach for custom application development, is function point analysis. Detailed requirements are written down, and software developers group them by complexity and ascribe a level of effort for each function. The rub is that these requirements need to be quite detailed indeed. A requirement such as "can integrate with other systems" or "must be user friendly" had no place in function point analysis. At a minimum, you would need to define every data element to be tracked, every form definition, every report, every workflow, and every business rule. Most clients are not willing to provide functional requirements in such detail.

Approach Three: Define the Time and Team Another approach is to nail down the schedule and define the cost, with the only variable being the functionality to be delivered. For instance, if you have a firm ship date and a team of a project manager, and analyst, two developers and a tester, you can easily calculate the cost. Then the functionality will be determined during the course of the project through prioritization. One or more iterations may be created in order to seek feedback on the design and solidify the requirements.

Approach Four: A la Carte If you cannot specify the requirements and are not willing to define the schedule and budget, you can tackle an estimate by defining each of the cost areas, with greater or lesser confidence depending on the area and the assumptions.

Here are key areas we look at for estimating services costs. Note that hourly rates differ depending on the team members needed.
Requirements Analysis. How many people need to be interviewed? How much time will creating functional requirements take?
Design. What design documents need to be created? Do you need graphic design for a web site or will you using an existing style?
Implementation. The level of effort for building out the solution cannot be estimated before requirements have been compiled.
Testing. Who will test the system? What types of testing will be performed?
Project Management. Who will manage the project? How often will status meetings be held?
Training. What approach will be taken for training? Train-the-trainer? Classroom training? Training videos? How many sessions will be held? Will training be conducted in-person or online? Do system administrators need training?
Support. Who will handle post-implementation issues? Will there be a help desk? What hours of business will be included?
Within these broad approaches to estimating, there are many variables which affect the cost of a project. How much support do your users need to be successful? Is onsite support needed? How will the solution evolve after it goes into production? Will enhancements be needed? What will the release schedule for new versions be?

What about CRM customizations? The least expensive solutions usually are for the most common CRM scenarios, such as sales force automation, customer service, and marketing (or outreach). These scenarios match the out-of-the-box functionality of Dynamics CRM well to begin with. You are likely to require some additional data elements and reports, and nearly certain to need some workflows to match your business processes, but will not need too many new fields or entities.

Here are some of the key items to count and characterize:

Identify all the data elements you need to track, and map them to the Dynamics CRM data model. This exercise will show which attributes you need to add to existing entities and which new custom entities you will need to create.

Examine the user interface and determine whether you need customizations to the look and feel. If you want distinct forms for each user role, for instance, the cost of the implementation (and subsequent maintenance) will increase.

Enumerate and specify all the reports you will need. Try to categorize them by complexity to simplify estimation. We usually break them into simple (lists), moderate (some aggregation) and complex (multi-entity and more complicated calculations). Every Dynamics CRM implementation we have done requires some custom reports. Be sure to take a look at Advanced Find to see if it can satisfy any of your reporting requirements.

Determine which dashboards you will need. Dashboards combine business graphs with views into records. Dynamics CRM comes with standard dashboards for sales, marketing and customer service, but these may not make sense for xRM solutions.

Specify the workflows that will be created. Again, categorize them into groups based on the complexity of the workflows. If your workflow has a large number of exceptions you may want to reconsider whether it should be automated at all.

Armed with these lists and specifications, you can approach a Dynamics CRM expert and get a realistic idea of the cost. If you are familiar with Dynamics CRM yourself, you can use these metrics to create your own estimate. For instance, you may want to plan four hours for a simple report and twenty hours to create a complex report.

Integration
The cost of integration can only be determined with a thorough understanding of the systems to be integrated and the nature of the integration that is required.

Here are some of the details that can help derive a better estimate for integration:
Provide documentation for the systems to be integrated, including the data models and options for integration such as web services. 

Define functional requirements for the integration. Spell out how the scenario would work, where the data would be entered, how it is processed in each system, and where it ends up. 

Choose the direction of the integration (one-way or two-way). Which is the authoritative system in the event of a conflict? 

Spell out any tools that you would prefer for data integration. Do you own middleware or enterprise application integration software that would help.

Dynamics CRM provides a modern, web services interface to allow integration. You may want to assign the integration task to developers who are proficient in the other system with which you are integrating, especially if it uses a less open and modern architecture.

Training
No software implementation is successful without adoption, and most enterprise solutions require training in order to be adopted. Training is often shortchanged in Dynamics CRM implementations.

You should include training in your project plan, and start work on training materials as soon as use cases are created for the solution. Analysis, development, testing, and training all should be tightly connected so you end up training to the requirements and usage scenarios you have identified.

Several options are available for training on CRM, including:

Custom hands-on classroom training in a lab environment, tailored to your specific implementation. This is the most intensive and expensive option, but is appropriate in many cases, especially for critical and complex solutions.

Standard CRM classroom training. Microsoft authorizes training centers around the world to deliver the standard approved training for its products.

Video training. The content may be similar to classroom training and even allow exercises and interaction. One advantage is that it can be done at any time, and the cost does not increase based on the number of users or times that the training is used.

Commercial training materials. Microsoft and third parties publish training materials such as books and videos which are a great way to learn Dynamics CRM.

Train-the-trainer. If you hire a professional services firm to develop your solution, you may want to have them train your training and support staff. Many organizations have professional trainers on a fulltime or part-time basis.

Hybrid training. A combination of these training approaches may be best for your organization.

Free training videos. Microsoft and its partners have published hundreds of free training videos on Dynamics CRM that are available on YouTube and microsoft.com. These are great for getting a quick response to a specific "how do I" question.

In terms of cost, classroom training at a training center is several hundred dollars per person per day (often about $500). In person custom training is sometimes charged based on the number of students or at a flat rate of $2,000-3,000 per day including materials. Online training materials and training subscriptions are often less than $100 per person. Remember that the generic training materials are less expensive, but not tailored to your solution or implementation. In general, these materials are good for IT professional rather than end users.

A good place to start for online resources is http://crm.dynamics.com/en-us/support-overview

You need to understand your users in order to choose the correct training approach. Is traditional classroom training effective? How much time can users spend in training with their other job responsibilities? Will they be overloaded with information in a multi-day training session?

In addition to end user training, you will want to provide training for system administrators and other IT professionals. You may also want to train developers for maintenance tasks and enhancements to the system. You may need to customize some materials so they related to your particular implementation, but advanced admin training materials are readily available.

Don't wait until the end of your implementation to begin training. User acceptance testing is a great time for initial training of a subset of users. An incremental rollout or a pilot is also a great chance to refine your training approach before it is too late. Refresher training is also a good item to include in your budget. It can help renew enthusiasm for the system and improve user satisfaction.


No comments: