Tuesday, February 26, 2013

Estimating the Cost of Dynamics CRM Implementations: Part 7 -- Support

This week we examine alternatives and costs for supporting your Dynamics CRM (xRM) implementation. In the long run, it is not unusual for the support to end up costing more than the implementation itself, but cutting corners on support can put user satisfaction and adoption at risk.

The first step is to determine what support arrangement you have with Microsoft?   Who is authorized to create Microsoft support incidents?   Does your organization have assigned Microsoft technical support managers? Microsoft can help with product questions and issues that arise from software updates.   In most cases, they will not be familiar with your specific implementation. 

Next, do you have a help desk or do you need to hire an outside company to provide help desk services?   Do you need coverage during business hours or 24 hours x 7 days a week?  Will your users call your help desk to report their initial issue?

How will you handle enhancements to your solution? Do you intend to publish new versions on a periodic basis?   At what interval (weekly, monthly, quarterly or other)?  If so, how large a team is required for these iterations?   Will the team that did your implementation be available?

For how long a period do you want to budget?  You can expect the level of enhancements to drop after the first year unless new business requirements are introduced.

See our Dynamics CRM implementation cost calculator


Saturday, February 23, 2013

Estimating the Cost of Dynamics CRM Implementations: Part 6 -- 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 and xRM 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:
  1. 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.
  2. Standard CRM classroom training.  Microsoft authorizes training centers around the world to deliver the standard approved training for its products. 
  3. 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.
  4. Commercial training materials.  Microsoft and third parties publish training materials such as books and videos which are a great way to learn Dynamics CRM.
  5. 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.
  6. Hybrid training.  A combination of these training approaches may be best for your organization.
  7. 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.

Generic product training is most appropriate for IT staff.   End users are usually better off with training geared toward their particular implementation, including forms, reports, and workflows that are unique to their organization.

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 a good item to include in your budget.   It can help renew enthusiasm for the system and improve user satisfaction. 

See our Dynamics CRM implementation cost calculator

Wednesday, February 13, 2013

Three Letters that Cost Government Millions

Federal, state and local governments waste millions or perhaps billions of dollars by making requests for proposals too vague, and hedging their bets with language which forces contractors to pad their estimates in order to reduce the risk of misunderstanding requirements and scope creep.

Just three letters -- "etc" -- account for significant waste.  We often see "etc." added to the end of a long list of requirements as if to protect the writer of the solicitation from an inadvertent omission. Other phrases are sometimes used in place of "etc." such as "including but not limited to."

Bidders have two options in handling ambiguous requests.   One is to bid low, hoping either that the unknown requirements will not be large and sink their project or planning to use change orders to cover the revelation of the unknown with additional funding.  The other option is to bid high, conservatively adding time and dollars to a bid to cover even what has not been revealed.

Neither approach is in the interest of the government customer.   A simple search for "etc" in a solicitation before it is published could save millions in tax dollars.

Monday, February 11, 2013

Estimating the Cost of Dynamics CRM Implementations: Part 5 -- Installation

How much time should you budget for installing and configuring Dynamics CRM?  

If you choose a cloud or hosted deployment, the installation will be done for you.     The only thing you will need to do that resembles installation is to install your customizations and set up your users.

For on premise installation, the cost can vary significantly.    We have spent from one day to two weeks or more, depending on the number of environments to be installed and the state of network and SQL Server infrastructure. One of the factors that causes delays is when many people are involved in managing different servers and networks. In a large enterprise, you can end up bouncing among people who have various permissions, trying to find the right person to do the right installation task.

If you are in a virtualized environment, you can save time by using standard server images and copying them for multiple Dynamics CRM environments. 

We have employed a technique which radically decreases the time for installation. You assemble all the people who have access permissions and knowledge of your networks and servers which are involved in the Dynamics CRM implementation in a conference room, along with food and drinks to sustain them through the installation. Next, you perform the installation, knowing that you can call on the right person who has the power to finish a task.  This approach cut the installation down from days to a couple of hours for us. 

See our Dynamics CRM implementation cost calculator

Friday, February 8, 2013

Estimating the Cost of Dynamics CRM Implementations: Part 4 -- Integration

If you have been following this series, part four takes us from the relatively clear formulae of software licensing and the function-driven, gap analysis of customization, into the wilds of software integration.   The cost of integration cannot be derived from the number of users or even the complexity of the xRM solution.  It can only be determined with a thorough understanding of the systems to be integrated and the nature of the integration that is required.

We often encounter implementation solicitations that include integration requirements.  Usually, there is a line in the long list of requirements that says something like "integrate with our accounting, timesheets, federal systems, etc." We always say that the price of an unspecified feature cannot be specified.  In order words, without a detailed definition of how two systems will be integrated, an estimate of scope is useless. That little et cetera often found in requirements is of course the worst three letters you could include in a fixed price RFP.

When forced to bid on integration without specifications, conservative companies will bid high to cover the risk inherent in the ambiguity.   More aggressive companies will bid low and place a bet on a combination of optimism and use of change orders once the deal is done.

Here are some of the details that can help derive a better estimate for integration:

  1. Provide documentation for the systems to be integrated, including the data models and options for integration such as web services.
  2. 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.
  3. Choose the direction of the integration (one-way or two-way).   Which is the authoritative system in the event of a conflict?
  4. Spell out any tools that you would prefer for data integration.   Do you own middleware or enterprise application integration software that would help.

If you are starting from scratch with an xRM application, you may want to hold off on including the integration requirements if they are subject to change based on how the xRM solution itself is developed.    You may even save money by having one vendor implement the solution and another perform the integration.

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.

See our Dynamics CRM implementation cost calculator

Thursday, February 7, 2013

Estimating the Cost of a Dynamics CRM Implementation: Part 3 -- Customizations

In the last installment of our saga, we looked at the Microsoft licensing cost for a Dynamics CRM solution.    Now let's take a look at the cost of customizations and software development.  This is significantly more complex than deriving the licensing costs, and is derived based on functional requirements for the specific solution.

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.

The most expensive xRM solutions are those that do not match the out-of-the-box entities, forms and reports, and which require integration with other systems.   At the extreme end of customization, the cost will approach that of pure custom development.

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

1. 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.

2. 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.

3.  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.

4.  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. 

5. 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.

See our Dynamics CRM implementation cost calculator

Tuesday, February 5, 2013

Estimating the Cost of a Microsoft Dynamics CRM Implementation -- Part 2: Software Licensing

The cost of a Microsoft Dynamics CRM implementation includes software licensing, internal costs of the time of your staff, and sometimes hardware and professional services from Dynamics CRM specialists. 

To determine the cost of the software licensing, you must determine the deployment mode and choose which type of licenses you will need. You can start here: http://www.microsoft.com/en-us/dynamics/crm-purchase-support.aspx  The comprehensive source is here: http://crmpublish.blob.core.windows.net/docs/Pricing_Licensing_Guide.pdf   Keep on reading if you would like a briefer introduction to your options.  

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.  

Counting Your Users and Servers

Dynamics CRM is licensed based on named users, 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.

Will external users need to access information from your CRM implementation?   An external connector is available for on-premise deployments to cover these licenses.

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.

Microsoft offers two server licenses.   The standard server license is called Microsoft Dynamics CRM Server.    If you have five or fewer users, you can pay less for a server version called Microsoft Dynamics CRM Workgroup Server. If your needs grow, the workgroup server may be upgraded to accommodate more than five users.

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 cloud, or at a hosting facility.     Your choice of deployment options will affect the licensing cost.

Dynamics CRM Online

Cloud-hosted Dynamics CRM is the easiest deployment model to price.     For most customers, Microsoft CRM Online costs $65/user/month.  This fee covers both the 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.  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.

For Dynamics CRM Online, you don't need to worry about servers, so the licensing and hosting cost will be driven by the number of users. 

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. 

In addition to the full user CAL, Microsoft offers two special CALs with limited functionality.   First is the Employee Self-Service CAL, with a limited API and limited read/write access using an interface other than the standard Dynamics CRM interface such as a form on a web page. The second is the Limited CAL, with full read access and limited write access using the Dynamics CRM interface.  There are additive CALs which allow you to step up from a limited to a less limited CAL. 

Summary

Here is a summary of the calculations to determine your licensing cost. 

Dynamics CRM Online cost = ($44/user/mo. x number of users) + ($9.99/gig/additional storage  x storage needed) x number of months

Hosted CRM licensing cost = monthly hosting x number of users x number of months

On Premise licensing cost = (servers x server license) + (users x CAL price for each CAL type needed) + optional external connector

Extras

You may also need licenses for related products such as Windows Server, SQL Server, and Microsoft Office. 

See our Dynamics CRM implementation cost calculator







Monday, February 4, 2013

Estimating the Cost of a Dynamics CRM Implementation -- Part 1

One of the questions I am asked most frequently by clients is to estimate the cost of a software implementation project.   My most common answer, "it depends," is not satisfying for them or for me, so I am going to explore this topic in depth and offer an approach for estimating implementations of Dynamics CRM, especially the xRM approach which involves using CRM as a development platform for a line of business solution.

There are several approaches to project estimation which can produce results with a high degree of accuracy.  In all these approaches, the traditional trade-off triangle among time, cost, and features still applies.    If you want more features, the cost will increase. 

You can start with the easier items to estimate, the hardware and software.  For hardware, many organizations use standard server configurations, so costs are easy to determine.     Don't forget to include all the environments that will be needed.   Enterprise solutions usually call for development, test, and production environments (and sometimes a staging environment).  Software licensing is driven by the number of server and user licenses which are required for your solution.   Microsoft offers external connector licenses for users outside your domain in lieu of user licenses.

If you choose cloud or hosted as your deployment model, the hardware and software licensing is usually included in your monthly hosting fees.    

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 the key areas we look at for estimating services costs. Note that hourly rates differ depending on the role and qualifications of team members.

  1. Requirements Analysis.  How many people need to be interviewed?   How much time will creating functional requirements take?
  2. Design.  What design documents need to be created?  Do you need graphic design for a web site or will you using an existing style?
  3. Implementation.  The level of effort for building out the solution cannot be estimated before requirements have been compiled. 
  4. Testing. Who will test the system?    What types of testing will be performed?
  5. Project Management.   Who will manage the project?   How often will status meetings be held?
  6. 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?  
  7. 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.    Hourly rates of all the team members make an obvious difference, but other factors can be just as important.    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?

These are some of the considerations that determine the cost of an xRM implementation. By spelling out as many of these factors as possible in a solicitation, more accurate estimates are possible.

See our Dynamics CRM implementation cost calculator