Sunday, August 25, 2013

Which CRM is the Most ‘Enterprise’?

I came across this infographic from Capterra a little while ago and tweeted it. To be honest, the idea of using social with equal weighting to customers and users does not sit too well with me but what occurred to me was, using the ratio of users to customers, we could use this to estimate which product the big end of town use i.e. which is the most ‘enterprise’ CRM.

Clicking through to the Capterra website gives us their raw data. I have filtered the list here to those CRMs which appear on the latest Gartner Magic Quadrant.


Obviously there are other CRM systems on the Magic Quadrant but they do not appear in the Capterra infographic (SAP, for example). If you have numbers for those that are missing, feel free to add them to the comments. Here is the quadrant for reference.


Checking the Numbers

Regular readers will know I keep track on subscription numbers for Microsoft and Salesforce, although Salesforce have not released user numbers for about two years. The last accurate numbers were in January 2011 when there were 3,000,000 users and 92,300 customers, giving us a ratio of around 33. For Microsoft, the ratio around the same time was 63 (1,700,000 users and 27,000 customers). Microsoft has edged this up to 77 in their latest numbers which came out in March this year (3,000,000 users and 39,000 customers).

For Oracle, the PDF source used by Capterra quotes 4,600,000 users and 4,000 enterprises, giving a huge ratio of 1,150. Given Siebel is the traditional enterprise CRM, this is probably right.

For Zoho, I struggle to believe the numbers are accurate. Zoho is a great little SFA solution, but it is limited, as highlighted in the Gartner Magic Quadrant. I assume they are counting the people who have signed up for the ‘free for the first three users’ version, and then counting the number of organisations who have signed up for a paid subscription. I signed up for the free subscription a few years ago but I do not consider myself a user of Zoho, even though the subscription is probably in the count.

The SugarCRM source checks out. While Capterra offer no source for their Sage numbers, this one claims 3,100,000 users for ‘Sage CRM solutions’ and 10,000 organisations for ‘Sage CRM’, giving us a ratio of 310, which is much larger than the one using the Capterra numbers. I assume it is accurate but I wonder whether this also includes the user numbers for Sage SalesLogix and Sage ACT!, explaining the disparity.

Therefore in modified numbers, we have:

  • Oracle: about 1,000
  • Sage CRM: 310 (or possibly 51, depending if Sage are spinning their numbers or not)
  • Zoho: 220 (although I do not believe it)
  • SugarCRM: 143
  • Dynamics CRM: 77
  • Salesforce: 33

Therefore, the big end of town appear to be using Siebel and, surprisingly, SugarCRM (possibly boosted by IBM switching to it from Siebel). If you believe the numbers, Sage CRM and Zoho are also up there but my spidey sense tingles on these ones. Next we have Dynamics CRM with Salesforce in last place.


Large organisations appear to be on Siebel over competitive offerings and so it maintains the title of the most enterprise CRM. Given the strong growth of Dynamics CRM and Salesforce I am wondering if they are taking market share from Oracle, which will boost their numbers in the long term. At the other end of the spectrum is Salesforce whose average customer has 33 users but may be increasing if they are taking market share from the larger players. In the middle are the others (Dynamics CRM, SugarCRM, Zoho and Sage CRM) whose customer size ranges from 50-300 users in size.

Sunday, August 18, 2013

Dynamics CRM Licensing for DEV, UAT and PROD

There is much confusion about what licenses are required for which environments when it comes to Dynamics CRM. Common wisdom suggests a production setup should have three environments: a place to develop new additions (DEV), a place for users to test the additional (UAT) and the ‘real’ environment where business happens (PROD). There is also an argument for a fourth training environment and a support environment but these are not seen as often in my experience.

So do we need a full production license for each environment? Is the situation different between online and on-premise? Are there non-production licenses I can use?

Licensing for CRM Online

Online is, arguably, the simplest licensing model. Basically, under the same Office 365 account, you can spin up additional CRM instances and all users can use these environments without hindrance. The downside is the cost as it is upwards of $500/month per new instance. Therefore, as well as your primary production CRM Online environment, you can have a development (DEV) and user acceptance testing (UAT) environment for $1,000/month.

This is probably quite expensive for the smaller end of town which is why many opt for trial instances when the need arises. However, my understanding is that this is not a valid use of a 30-day trial in that it violates the end-user license agreement (EULA) so be careful, especially if asking for extensions to the 30 days; there is no guarantee you will get an extension and your Microsoft contact may give you a finger-wave and encourage you to use the additional Office 365 instances instead.

Licensing for On-Premise

Licensing for On-Premise is slightly more complicated but, thankfully, less expensive in the long term. Our friend in this case is the Microsoft Developer Network (MSDN) subscription. The MSDN license is made so you can create an environment to develop and test solutions without paying for a full PROD environment. For the full terms and conditions, here is the link.

Essentially, an MSDN license is to “design, develop, test or demonstrate” as well as allowing “end users to access the software to perform acceptance tests”. For Dynamics CRM licenses, you need the premium subscription, which costs around $6,000 in the USA and just shy of $10,000 in Australia. Strange, given the US$ and the A$ exchange rate is about one to one but there it is. For the details of what you get, go here.

You need an MSDN license for each developer but, after that, you are set. This covers DEV and UAT. All you need are the servers to run it on. If you do not have servers, there is Azure, Microsoft’s IaaS offering. You can spin up a server for a few dollars a month and then you only spend for when it is turned on. With a premium subscription you also get $100 monthly credit for Azure (the same in the USA and Australia so they got the exchange rate right on this one).

It used to be the case that it was not permitted to run MSDN licenses on Azure but this was relaxed in June this year, along with a string of other improvements. In fact, you could also run your CRM PROD environment on Azure although, Microsoft have not come out saying they support this (but I cannot see why it would not be valid).

So what about licensing for PROD? Well, for this you still need full licenses; MSDN cannot help you here.

What About Support and Training?

There is nothing in the MSDN terms and conditions about the licenses being used for support or training environments. If we can make an argument that training is a part of ‘acceptance testing’ then they could be used. However, my thinking is to use the production licenses, backup a clean version of production, conduct training and then restore back to the clean version. Using production licenses means no rule jockeying needed.

Support is more problematic. While the MSDN licenses are for testing, the intention in the short description is that this is for testing before releasing to production, not after. Even in the full PDF terms and conditions for MSDN, there is no mention of support that I could find. If this is internal support, then this is not a big deal as an organisation can spin up as many instances as they like on premise with the same Dynamics CRM licenses (you will need additional Server licenses etc. of course). However, for companies providing support to others, the rules are not clear. MSDN does not state is can be used for this which only leaves a full production license. The way I see it, the safest course is for the owner of the production system to spin up a clone of production for support and license the support provider to access it and diagnose the issue. This is probably not an ideal solution but it seems the safest from a licensing perspective.


If you are using CRM Online, your license options for additional instances beyond production are limited and, arguably, quite expensive. For on-premise implementations of Dynamics CRM, you have MSDN for DEV and UAT environments and full licenses for production. For training, you could run a pre-production version of production but for external support, licensing is not clear.

Ultimately, if you are not sure how you can use your software and what licensing you need, read the license agreements, ask for VAR partner or ask Microsoft directly. You may not get the answer you want but you will be on the right side of the law.

Sunday, August 11, 2013

Using Dialogs When a Contact Moves Employers

A common scenario when maintaining Contacts in a CRM system is moving them between employers when they change jobs. For Dynamics CRM, and many other CRM systems, this poses a problem: what happens with their Activity history?

If we simply click on the Parent Customer lookup and change the Account, all the Activity history moves with them to the new Account. This may be appropriate for B2C companies, where the history needs to stay with the individual but for B2B this means if I look at the Related ‘Regarding’ Activity summary on the former employer, all the Activities of my Contact has disappeared (now appearing on the rollup of their new employer).

The Solution

The solution often employed is to create a copy of the Contact under the new Account and deactivate the old Contact. This way, while the old Contact will be hidden on the old Account, all their Activity history will still be visible on the Account’s ‘Associated’ Activity. New Activity will be logged against the new version of the Contact and will appear under the Related ‘Regarding’ view of the new Account.

The Problem

The problem is the process for moving the Contact becomes a bit of a chore because we must:

  • Create a ‘clone’ of the old Contact copying across the values of the key fields on the old Contact form
  • (optional) Link the clone Contact with the old Account to state it was a former employer
  • Deactivate the old Contact

It is easy for a user to mistype information when creating a copy of the Contact or to forget to deactivate the old Contact.

The Solution to the Problem: Dialogs

Dialogs provide a way to automate the steps which a user could forget or get wrong and only get from them the information needed.

Here it is:


Step One: Ask for the new Account

The only piece of information we need from the user is the new Account the Contact is moving to. Everything else we can determine from the Contact we start the dialog from.

Here is the Prompt and Response:


The trick here is in setting up the Reference Entity and Reference Field correctly. Thanks to Richard Knudson for his excellent article walking through this. Richard also has a book devoted to CRM Processes so if Processes are a big part of your administration of CRM, it may be worth picking up.

Essentially, the way to set up the Reference Entity and Reference Field is to use a lookup which already exists somewhere in CRM. In this case I have told it to use the Parent Customer lookup on the Contact form. This means, when the dialog runs, I will be able to use this lookup to select an Account as if I was selecting an Account for a Contact on the Contact form.

Step Two: Clone the Contact

This is another handy use of workflows or dialogs: to make a copy of a record. Using the Create Record step, we simply populate the desired fields in a new Contact record.


The only real trick here is using the value we got from our Page and Response to populate the Parent Customer field.

Step Three: Create a Connection back to the old Account (optional)

In this case we link the new clone to the old Account and use the out of the box Former Employer/Employee roles.


In the above picture you can see that to populate the Name field with the right Contact reference, you drop down the Look For in the Form Assistant and find the Page and Response description reference.

Step Four: Deactivate the old Contact

The final step is to deactivate the old Contact which we do with a Change Status step (if you try to use an Update Record step, it will fail).

The End Result

The end result is a dialog we can trigger from any Contact which prompts us for an Account and then takes care of the rest.



Again, Dialogs prove to be more than just a call scripting engine.In this case we take a process which a user could easily make a mistake with and automate it, taking from them only the information required and automating the rest.

If you have processes in your CRM system which have multiple steps and are prone to errors, a Dialog to guide the user through the steps and automating it as much as possible is worth the consideration.

Sunday, August 4, 2013

Freebie Product Plug: Bulk Workflow Extension Tool

There are a few tools Dynamics CRM consultants have in their toolbox. Things like Tanguy’s Iconator, Metadata Document Generator and the SiteMap Editor are great examples. This is another tool which I am sure is going to become a standard in my collection, Zero2Ten’s Bulk Workflow Extension Tool.

The Problem: Running Lots of Workflows At Once

Literally last week I came across this problem. I had tried to run the bulk reassign tool off of a user and my browser crashed on me midway through. The result was I had about 20,000 records reassigned and the rest (about 80,000) sitting on the original user. I wanted to reverse what had been done but that meant, somehow, assigning 20,000 records back to the original owner.

The best you can do with CRM, without coding a fix or doing unsupported SQL updates (which I never recommend for ownership reassignment) is highlighting 250 records at a time via a view and hitting the Assign button (or creating an on-demand workflow to do the same).

So this is exactly what I did. I spent a few hours highlighting 250 records at a time and clicking the Assign button (I actually got two running at the same time, so I managed to make it 500 at a time but it was still a tedious process).

The Solution: Zero2Ten’s Bulk Workflow Extension Tool

Then, a couple of days later, Gus Gonzalez (CRM MVP, Jujitsu master and all-round top bloke) announced Zero2Ten had released the ‘Bulk Workflow Extension Tool’. Here is the video of what it does:

In short, you run the program, connect to CRM, find a list of records you want to run a workflow on and then select the On Demand Workflow of choice. You then set it running and it takes care of the rest. If this is of interest, you can download it here. It is free and they do not even ask for names and email addresses (nice work Zero2Ten). Thank you Andy Popkin for making this happen. If we ever meet, I owe you a Mac and Jack’s or two (I am sure Gus will collect them on your behalf at Summit).


CRM workflows are a key element in the new version of CRM (previously Orion, now Dynamics CRM 2013) and will replace many functions typically performed by plugins (I will likely write a blog on these changes in the near future). Therefore a tool like this (with the extensions suggested by Andy such as a workflow scheduler) will become increasingly important. A free tool which helps manage workflows can only be a good thing and, in my case, will literally save me hours of work.