Salesforce and Microsoft Dynamics CRM are currently the two leading CRM systems on the market. Five to ten years ago, the CRM software market was divided among many different players (ACT!, Goldmine, Sugar, Sage CRM and others) with Salesforce being the dominant and fastest growing. But over the last few years, the enterprise CRM industry has been dominated by only two, Microsoft and Salesforce. Salesforce has had a clear lead in market share over Microsoft CRM, but Microsoft CRM companies added revenue growth in the last two years far surpasses Salesforce, and the market share gap has narrowed considerably.
Because each see the other as primary competition for the CRM market, both companies produce information about how their product is better than “that other product”. With all of this noise, many people spend a lot of time trying to decide which of these two CRM solutions will provide the highest overall value. While MS CRM and Salesforce have a lot of similarities, they also have a number of distinct differences.
Salesforce.com’s development team had to build everything within its application from the ground up, in terms of features, functionality and development tools (database, security, integration tools, development environment etc.). On the other hand, at the time CRM was becoming an application, Microsoft already owned a wide variety of business technologies that could be leveraged within a CRM system. This created distinct differences between the two products, both good and bad, for the end users, the developers and long term costs of ownership of each system.
CRM User Interface and Navigation
Salesforce was designed as a web application from day one. As such, there are many design features that are optimized for a browser experience, rather than for a desktop application experience. A minor example of this is the fact that there’s a Save button on both the top and bottom of Salesforce’s edit screens.
Microsoft originally made the decision to be client/server (to allow for its Outlook application to be completely integrated to CRM) with a browser option.
Browser and Device Support
A design decision that Microsoft made early on was to have the application only support Microsoft’s own browser, Internet Explorer. Since IE does not run on OS X or iOS devices, Microsoft at a later point realized that it needed to add support for non-IE browsers such as Safari.
Salesforce.com, on the other hand, did not have its own browser and therefore based the application’s browser support on customer preferences. For a time, this gave salesforce.com a competitive advantage within mixed-browser environments.
This created a more seamless user experience for salesforce as well as lower cost of ownership for salesforce.
An early product decision made by Microsoft was for the application to pop open a new browser window each time a record was selected within the current browser window. Because new browser windows are modeless, there was nothing to prevent a user from opening a large number of browser windows. This can cause latency (slowness) in web applications.
Salesforce.com, on the other hand, designed its application to replace whatever is in the current with another window, speeding up the user experience.
With the 2011 release, Microsoft reduced the number of new browser windows or tabs that open during navigation. However, whether a new window or tab opens upon record selection remains a difference between the applications. Update: with the release of Microsoft Dynamics CRM 2013, new browser windows no longer open when a user navigates from record to record.
So salesforce and Microsoft are on a level playing field here.
Upgrades and Updates
With its blank slate, salesforce.com took the approach of making upgrades and patches automatic — upgrades occur without customers having to take specific actions. Salesforce.com switched to agile development in 2006. Shortly after this, salesforce.com shifted to three seasonal releases a year (winter, spring, summer). Each seasonal release of salesforce adds a host of new features and functionality. Yet with rare exceptions, new releases do not require any preparation on the part of customers.
Microsoft’s traditional approach with its many desktop products has been to release major new versions every few years. One example is that of Outlook 2003, 2007, 2010 and 2013. Microsoft CRM originally inherited this company-wide approach, with a version progression of 1.0 to 3.0 to 4.0 to 2011. In some cases, customers needed to go through a significant upgrade process to move to the next version.
Within the 2011 release, Microsoft has moved to a more consistent schedule of major releases and update rollups.
This comes down to solution complexity; if you are having integrations and/or customizations to your CRM environment, you may want to control your upgrade timing. But, if your CRM solution is “out of the box”, it is cheaper and faster to allow the upgrades and patches to be automatically done by salesforce on their schedule.
Salesforce.com decided to build an application that was multi-tenant on both the application side and on the database side. As such, it selected the most scalable database available at the time, which was Oracle. However, salesforce.com had to architect the database in a very specific way that would support multi-tenant scalability and security as well as efficient updates.
At the time Microsoft CRM was being written, Microsoft already owned one of the most popular enterprise databases — SQL Server. SQL Server naturally became the back end database for CRM. While SQL Server is scalable for enterprise needs, a SQL instance is not scalable across thousands of enterprises as is a single salesforce.com database instance. Therefore, with CRM 2011 Online, customers have their own SQL Server instance.
The benefit to Microsoft CRM customers is that their database can be moved from online to on premise and back. Customers can also get a full copy of their database if they decide to leave Microsoft CRM. However, tens of thousands of database instances for Microsoft CRM Online customers likely represents more maintenance and upgrade overhead for Microsoft compared to salesforce’s twenty-three current instances. For the customers, this clearly is an advantage to use Microsoft CRM, in terms of data ownership, cost and flexibility.
Microsoft had a pre-developed reporting engine within SQL Server called SQL Server Reporting Services (SSRS). Therefore, the understandable decision was made to use SSRS as the CRM reporting engine rather than create CRM-specific reporting. In turn, Microsoft had to build a level of integration between the CRM application and the reporting engine.
Salesforce, on the other hand, had to build its reporting engine from scratch and then iterate on top of this creation. This has meant that the types of reports that customers were demanding dictated the evolutionary path of the reporting engine.
This has become a huge advantage for Microsoft in terms of cost, usability and integration in the eyes of Dynamics users and developers.
This is another area in which salesforce.com had to develop functionality from the ground up.Microsoft, on the other hand, already had a workflow engine called Windows Workflow Foundation (WWF).
Microsoft, on the other hand, already had a workflow engine called Windows Workflow Foundation (WWF). Workflow that is designed via the user interface in the respective products has fairly similar capabilities. However, custom workflow activities can be written in Microsoft CRM under WWF.Integration/ Customization Tools
Integration/ Customization ToolsExtending Microsoft CRM requires Microsoft CRM’s software development kit, which in turn requires Microsoft Visual Studio 2010 and Microsoft .NET Framework 4 or .NET 4.5. Salesforce created its own extended customization tools — Apex for coding and Visualforce for rendering custom pages and views. Unlike .NET and Java, which allow for designing a wide variety of applications, Apex is purposely limited in scope. Apex is exclusively for building business applications to manage data and processes within the Force.com platform.
Extending Microsoft CRM requires Microsoft CRM’s software development kit, which in turn requires Microsoft Visual Studio 2010 and Microsoft .NET Framework 4 or .NET 4.5. Salesforce created its own extended customization tools — Apex for coding and Visualforce for rendering custom pages and views. Unlike .NET and Java, which allow for designing a wide variety of applications, Apex is purposely limited in scope. Apex is exclusively for building business applications to manage data and processes within the Force.com platform.
This again is a major difference between the two CRMs; again, if you are going for “vanilla” solution salesforce is fine, but if you want to get a more complex solution, Microsoft is the clear winner.
Salesforce has better usability and was designed from the ground up for today’s world, the world of the browser. But, Microsoft has caught up (mostly). So, if you are using just sales force automation and marketing, either is fine. But because Microsoft CRM is built using industry standard security protocols, databases, programming languages and databases, the more complex your CRM solution becomes the more attractive Microsoft Dynamics CRM becomes.
STEVE HAMMETT | Senior Sales Executive
Steve graduated from University of Maryland, Baltimore, with a Bachelor of Science (B.S.), in Economics and a few years later, a Master of Science (M.S.), in Information Technology. He has helped organizations for over fifteen years to solve business problems using technology. He is well informed with all Microsoft Business Solutions and is a Solutions Certified Sales Representative. For fun he looks to the outdoors, whether water, where he is a sailor (Coast Guard certified in Costal Piloting and Navigation), a PADI certified scuba diver, and a certified Red Cross Water Safety Instructor, or land, where he is a skier, hiker and mountain biker.