Tuesday, April 21, 2015

Microsoft SharePoint and Dynamics CRM -- Better Together: Part 4

Dynamics CRM Strengths

This post focuses on the strengths of Dynamics CRM -- the next in the series on the strengths of SharePoint. This blog is an excerpt from an InfoStrat white paper

Relational Data

While SharePoint’s strength is unstructured content such as documents and web pages, Dynamics CRM is often better for structured, relational data.  SharePoint provides some features to get you closer to relational behavior, such as lookup columns in lists and site columns, but other key relational features are missing.

Several years ago my company embraced SharePoint for generating customer proposals.   It was great to store drafts, collaborate on documents, and track calendars.  We added metadata to the document library to show the type of proposal, name of customer, and other pertinent information. 

We ran into problems, however, when we want to run more sophisticated reports on sales activity, to match security permissions to account territories, and other features that are common in a CRM system.  Consequently, we implemented Dynamics CRM in order to track sales and marketing activities, but kept SharePoint as the repository for proposal documents which require document management features such as alerts and version control which are not available in Dynamics CRM. 

Dynamics CRM 2013 and 2015 versions added better support for aggregation on forms, a feature that reduces the need for reports in some instances.
Centralization and Standardization
Dynamics CRM excels at promoting consistency and shared standards that are centrally administered.  Unlike SharePoint, Dynamics CRM applications have a centralized data model so that the attributes are the same for an entity for all users. The security model and the user interface of Dynamics CRM are better suited to central administration than list objects in SharePoint which are under the control of site owners. 

Data Import and Export
Dynamics CRM comes out ahead of SharePoint in this category with its import utility and the ability to export from custom views, despite some SharePoint import and export features relating to Excel and Access.  Dynamics CRM provides a wizard interface to map data fields on import, and batches imports so unsuccessful imports can be undone.  Dynamics CRM is supported by mature third party import tools for importing and synchronization with other data sources as well. 

Contact Management
As contact management is at the core of Dynamics CRM, this one is not really a fair fight.  Straight out of the box, Dynamics CRM is a powerful contact management solution, while the SharePoint contact management template is crude by comparison, and lacks the most fundamental features (duplicate checking, field formatting, field validation, multiple addresses, links between contacts and organizations, mail merge) you would seek in contact management.

SharePoint offers a site template for contact management which implies that SharePoint provides a viable contact management system.  Unfortunately, in this case, SharePoint does not deliver.  The SharePoint contact management site template contains merely a handful of fields, and lacks the ability to track contact activities such as phone calls, meetings, or letters.  The SharePoint contact management template contains no reports.  You would be better off to track your contacts in an Outlook public folder than in the SharePoint contact management template. 
Case Management
Like contact management, case management is at the core of Dynamics CRM, and a large number of features are included out of the box such as case intake, escalation, a knowledge base, queues, and case management reports. Government agencies use case management for delivering services to constituents in areas such as health care, social services, and many more. SharePoint offers no analogous capabilities out of the box, but third party add-ins are available for some case management scenarios.

Marketing and Outreach
Dynamics CRM contains powerful features to contact people by generating emails, perform mail merges, and generate phone call lists.  Dynamics CRM helps you manage marketing campaigns and track expenses as well as responses to the campaign. Since contact management is the core of Dynamics CRM, these features are mature and rich.

To match even one of these functions in SharePoint would require significant custom development.   The only feature that comes close is the ability to send an email to members of a SharePoint site. 
Security Model
Dynamics CRM has a fundamentally different security model than SharePoint, as shown in Table 2.  It embodies the concept of an organizational hierarchy which segments data horizontally and vertically.  Dynamics CRM also relies on the concept of record ownership and assignment.  For instance, a sales manager can see all the opportunities that belong to the sales reps who report to her, but the sales reps cannot see one another’s records.  When a new opportunity is received, it may be assigned to the appropriate sales representative with the built-in Dynamics CRM feature Assign. 

Architectural Element
Dynamics CRM
Organization hierarchy
Does not exist, only site hierarchy
Represented in CRM administration
Row level security
Supported by exception in list objects
Supported by default and mapped to CRM user roles
Field level security
Requires workaround
Role Based
Page/Form Security
Role Based Forms
Permission inheritance
By default by may be broken
By default, user may reassign record ownership
Security administration
Difficult to view across SharePoint farm

Table 2. SharePoint and Dynamics Security Models

Dynamics CRM has a security model that includes the idea of an organizational hierarchy as well as individual record ownership.  For instance, you can have two divisions of a company that use the same data model and functionality but do not share data with one another.  Sales accounts may be divided into territories, and managers assigned to a group of account executives.  This means that all records associated with an account, such as contacts and activities will be visible to people with rights to that account. 

SharePoint has a security model that resembles Windows file system permissions, but with a twist.  A document library (or another list object) has permissions that flow down from the parent site.  Items in the list object inherit permissions as well.  Only if inheritance of permissions is broken can individual item permissions be set. 

SharePoint has a security model which offers its own richness and complexity, but in some ways is better suited to content management and web sites than to line of business applications. For instance, security permissions and roles may be inherited from a parent site or the inheritance may be broken to allow custom permissions.  SharePoint has no paradigm comparable to Dynamics CRM for modeling an organization, nor does it support the concept of record ownership as defined in Dynamics CRM.

While Dynamics CRM 2015 has field level security, SharePoint requires custom development to achieve this feature.  

Dynamics CRM allows you to easily view permissions by entity for each user role. The permissions for each entity are quite granular, and are enforced in conjunction with record ownership.  

Saturday, April 18, 2015

Microsoft SharePoint and Dynamics CRM -- Better Together: Part 3

SharePoint is a content management system with a portal framework, a search engine and document management. It is a general purpose collaboration tool and may be applied to intranets, extranets and public websites.  SharePoint is based on the concept of lists, which are comparable to database tables. Lists are used for a large number of SharePoint features such as calendars, document libraries, content lists, news items and more.   Lists may be easily created by end users within their sites, and they do not have to be centrally managed so that these lists may differ from one site to another in a SharePoint implementation.

Dynamics CRM is a database application for tracking a number of entities relating to sales, marketing, customer service and contracts along with related activities and workflow.  Dynamics CRM exposes the data model to administrators as entities and attributes (tables and columns).  They can easily view all entities and attributes, as well as all locations such as forms where the attributes are used.  The data model of Dynamics CRM in inherently centralized compared to SharePoint’s model where centralization is optional.

The following figure shows how SharePoint and Dynamics CRM map to features commonly required in line of business solutions.   It shows which features are available out of the box and which require custom development.

Figure. 1. Product Features and Application Complexity

Friday, April 17, 2015

Microsoft SharePoint and Dynamics CRM -- Better Together: Part 2

This blog is an excerpt from an InfoStrat white paper

SharePoint and Dynamics CRM are based on different paradigms, and some but not all of their concepts map to one another.

Dynamics CRM
Entities (relational data)
Content types (pages, lists, etc.)
Column / field
User Interface
Not applicable
Web parts
Data entry
Web pages
Knowledge Base
Knowledge Base
Reports, views
Views, content query web part
Web sites
Not applicable
Sites and sub-sites
Web site templates
Not applicable
Site templates
Web page templates
Not applicable
Page templates
Dashboards, web components, charts
Web part pages, Business Data Catalog
Multipage form (tabs, one-to-many)
Single page form
My Work
My Site
Duplicate checking
Duplicate checking
Document names
Report designer
Report Center; Excel Services
Advanced Reports
Report Builder (SQL Reporting)
Report Builder (SQL Reporting)
Offline (requires Outlook)
Offline (requires Groove)

Table 1. SharePoint and Dynamics CRM Key Elements

Both SharePoint and Dynamics CRM are integrated into Microsoft Office in several ways.  For instance, SharePoint allows saving documents from Office into SharePoint document libraries, as well as linking to Outlook Calendars.  Outlook meeting requests can link to SharePoint workspaces.  Office programs include SharePoint functions in the ribbon interface.
Dynamics CRM (with the Outlook add-in) allows Outlook contacts, email messages, and appointments to be quickly added to Dynamics CRM.  Dynamics CRM records can even be taken offline in Outlook or viewed in mobile apps, a great feature for field workers.

Thursday, April 16, 2015

Blog Posts on Dynamics CRM v SharePoint

For years, there has been a lively debate in the Microsoft developer community about which scenarios call for SharePoint, Dynamics CRM and custom development.  Microsoft has added features in each version which create more overlap, and bloggers have approached the topic from different perspectives.

In addition to my blog posts here and the InfoStrat white paper.  I would like to highlight some of the posts from others in the community.

Robert R. Freeman, in his blog post CRM and xRM vs SharePoint: Business Solution Architecture, offers characterizations of both Dynamics CRM and SharePoint, and leans toward SharePoint for general purpose office solutions but CRM when CRM-specific functionality such as email outreach or contact management are required.

The SharePoint Blog post Compare Microsoft CRM vs Microsoft SharePoint written by Scott Mangelson similarly calls out SharePoint for portals and unstructured data and CRM for front office business processes based on structured data.  This post is repeated nearly verbatim on the CRM Software Blog as Microsoft CRM vs. SharePoint: Why One Over the Other?.

Another post on the CRM Software Blog Microsoft Dynamics CRM and SharePoint focuses on the benefits of integrating SharePoint with Dynamics CRM.  An older post on integrating SharePoint and Dynamics CRM appeared on CRM Solution Comparison with the title Microsoft Dynamics CRM vs SharePoint. It includes this video which speaks to choosing between SharePoint and Dynamics CRM. 

To read more, see the InfoStrat white paper

Wednesday, April 15, 2015

You May Not Need as Many CRM Reports as You Think

Reporting can be a costly and time consuming task for a customer relationship management  (CRM) implementation. If you separately ask each user for all the reports they would like, you often end up with a list of dozens of reports.

If you look more closely, you may find that you need fewer reports than you might think.  The built-in dashboards and graphs that come with Dynamics CRM obviate the need for some reports.  Other requirements for reports are better met by views and Advanced Find. In some cases, users benefit more from an export to a static or linked Excel file than from a traditional report.

You can save time and money by asking these questions:
  1. Which are the most important reports which will serve as the basis for management attention.  Lavish attention on these reports and be sure to get them right.
  2. Can reports be combined?  If two reports differ only by some fields being included on one and not the other, why not combine them? 
  3. Can a report format be reused so you can save some development time?
  4. Can you wait for this report?  After using the system for a few weeks you may find that you don't need it after all. 
  5. Which reports are used most often?  Track the reports to find out which are frequently used.
You Dynamics CRM implementation should be revisited from time to time to optimize the data you are tracking, and you always have the opportunity to add new reports.

Tuesday, April 14, 2015

Microsoft SharePoint and Dynamics CRM -- Better Together: Part 1

This blog is an excerpt from an InfoStrat white paper

We often are asked which tool is best for a particular application: SharePoint or Dynamics CRM? 

I will devote a series of blog posts to this topic. 

The short answer is that it depends on what problem you are trying to solve.
SharePoint and Dynamics CRM were developed independently, with different features and functions in mind.  SharePoint began as a document management and collaboration environment, combined with a search engine.   It was not originally designed to provide line of business applications which rely on relational data as many line of business solutions require.  SharePoint has over the last few versions increased its capabilities to handle structured and external data.   

Dynamics CRM began as a line of business solution for sales force automation and customer relationship management. At the heart of its paradigm is a shared, relational database with an integrated front end, reporting tools, a sophisticated security model, and data integrity features. It does not provide a web search engine, document management, portals, and collaboration capabilities that are inherent in SharePoint.

SharePoint and Dynamics CRM have many architectural features in common, such as:
·         Web-based, with broad browser support
·         Use SQL Server to store data and metadata
·         Integration with Outlook and other Office products
·         Allow single sign-on with Active Directory
·         Rely on Windows Server
·         Built on Internet Information Server (IIS)
·         Allow documents to be stored
·         Use Windows Workflow for automating workflows
·         Use Visual Studio as development environment
·         Support security groups

Much of the user interface and some of the administrative functions are similar for the products, as one might expect from their integration with Microsoft Office.

Monday, April 13, 2015

Sooner or Later You Must Talk to the Users

No customer relationship management (CRM) implementation can succeed without user acceptance, and the best way to gain acceptance is to talk to users and take their suggestions into account from the beginning.

If this is the first CRM implementation at your organization, some managers will avoid or delay talking to users because they think that they cannot contribute useful input without prior CRM experience.  This is a mistake because it deprives the implementation of critical information on how business processes work without a CRM, and misses the opportunity to prepare users for embracing the system when it is rolled out.

In the end, users will be talking about the CRM system, and by talking to them throughout the process you can make sure that their comments are favorable.

For more information, see my post Getting Users on Board with Dynamics CRM. http://blogs.infostrat.com/2015/02/getting-users-on-board-with-dynamics.html