What is CRM ?

I’ve read so many blogs when I started learning Microsoft Dynamics CRM.There are so many blogs you can’t even remember which blog has what kind of in-depth solution. So i thought it would be best if i keep posting my thoughts and knowledge here, which will reduce the bookmarks number in my browser seriously and I hope yours too.

all my post are a study notes from here and there saved in One Note or deep inside some old folders. so before I began thanks to all bloggers out there sharing knowledge.

Now going back to the topic….

 What is CRM ?

CRM stands for Customer Relationship Management, a term first coined in the 1990’s

The literal and original meaning of the expression “Customer Relationship Management” was, simply, managing the relationship with your customer. Today it is used to describe IT systems and software designed to help you manage this relationship.


Like many buzzwords, the term CRM has been adopted by IT system vendors to fit their product. CRM might be used to describe a cloud CRM systems for sales people (Sales Force Automation, Opportunity Management), for marketing people (Marketing Automation, Campaign Management), for helpdesk (Customer Service and Support), email and voice logging, and so on.


From the pages of Wikipedia

Customer relationship management (CRM) is an approach to managing a company’s interaction with current and future customers. It often involves using technology to organize, automate, and synchronize sales, marketing, customer service, and technical support.


Why Microsoft Dynamics CRM?


From the pages of Wikipedia, Dynamics CRM:

“Microsoft Dynamics CRM is a customer relationship management software package developed by Microsoft. Out of the box, the product focuses mainly on Sales, Marketing, and Service (help desk) sectors, but Microsoft has been marketing Dynamics CRM as an XRM platform and has been encouraging partners to use its proprietary (.NET based) framework to customize it.”

So with Dynamics CRM, you have a powerful, fully functioning, ready to use Sales, Marketing and Services  solution for small, mid, and enterprise customers.  Users can manage Accounts, Contacts, Opportunities, and Leads, track customer communication, and manage Marketing Campaigns, provide services for their customers all within the same solution.  With the new data about customers and contacts so-called “Customer 360”, users can view helpful dashboards and run periodic reports to keep on top of their business.

Now that’s something for a sales person ,for developers, if following question’s answers are yes for you are looking at the right place


Are you familiar with C#?

Are you familiar with .Net framework?

Are you familiar with web services?

Are you familiar with visual studio?

Are you familiar with HTML?

Are you familiar with JavaScript’s?

Are you familiar with SQL?

Are you familiar with……. well you get the idea


Dynamics CRM has been a fully managed code solution, built on the .NET framework since its first release.  The latest release supports the version 4.5+ of the .NET Framework.  Dynamics CRM is, at its core, a database solution with Microsoft SQL Server running under the hood. The current release of CRM 2015 supports Microsoft SQL Server 2012 and its related services, such as Reporting Services or Analysis Services.

Since Dynamics CRM is the Microsoft product developer get well know compatibility with any Microsoft product Office, SharePoint, Windows, just name it

Dynamics CRM is available either hosted by Microsoft via Dynamics CRM online, hosted on premise by the customer, or hosted in a hybrid approach –  all depending on the customer needs.  Users can access the system via the browser, mobile devices, or through Microsoft’s Outlook integration, all meeting the needs and preferences of the end users.

Any Organization, Any Industry Anything (XRM)
Commercial Real Estate Buildings, Tenants, Leases, Commissions
Christmas tree Brokers Farms, Trees, Retail Locations, Permits
Wealth Management Legal Instruments, Portfolio Accounts, Families
Cattle company Animals, Lifecycle, Pairings, Retirement
Insurance Agency Policies, Carriers, Rates, Commissions
Technology Service Provider RFP, Projects, Tasks, Milestones, Equipment
Entertainment Broadcasting Scripts, Production Schedules, Distributors, Ads
Education Services Classes, Class Topics, Teachers, Students
Healthcare Patients, Medications, Insurance Coverage, Medical History
Food Manufacturer Samples, Distributors, Recipes, Ingredients Inventory



What is xRM?


So that’s all well and good, but what is xRM?  The previous intro sounds great for an off-the-shelf product if I am in the Sales and Marketing department of my organization. But xRM allows cther members of your organization can leverage the Dynamics CRM platform for Line of Business Applications as well.  I like to use this description found in the whitepaper Microsoft Dynamics CRM as a Business Application Platform:

“Take the ‘C’ out of ‘CRM’ and you’re left with Microsoft Dynamics Relationship Management—and that’s the right way to think about this product.  Microsoft Dynamics CRM is not just about sales and marketing. It’s a platform for developing line of business applications—applications that manage and track information and processes around real world objects.”

Translation: xRM means “Anything” Relationship Management.  Dynamics CRM was originally designed to be a development platform, and to demonstrate what the platform could do, the early team built out a fully functional CRM application.  This is the Dynamics CRM system that Microsoft eventually pushed to market.

So xRM has been at the heart of Dynamics CRM since its inception.  Dynamics CRM provides the powerful and extensible business framework for solution configuration and customization. Typically, configuration means the system can be updated without relying on developer tools or skillsets while customization usually requires some development level time and skills.


Where CRM (C = Customer) is focused on managing relationships with customers, XRM (X = anything) is the platform where you define and manage the relationships between anything important for your organization to manage information around.


XRM is the development platform the Microsoft Dynamics CRM application was built on. In addition to Microsoft Dynamics CRM’s rich “out of the box” CRM functionality, XRM is the platform that gives you the foundation to mold Microsoft Dynamics CRM into line-of-business (LOB) solutions – a true application platform where you define the “things” and relationships unique for your end-to-end business operations.

XRM is the same platform that underlies Microsoft Dynamics CRM today.

Let’s compare CRM xRM side by side


Definition C = Customer:
Manage customers through the automation of marketing, sales, and service processes
X = Any Business Entity:
Manage any business relationship through the automation of relevant business unit processes
Used by Marketing, sales, and customer service teams Any team
To Manage Customer relationships Any relationship
Automates Marketing, sales, and service processes Any business process
Tracks Interactions, activities, tasks, and 360-degree history of the customer Interactions, activities, tasks, and 360-degree history of “X”
Provides Customer-centric analytics “X”-centric analytics



Evolution of CRM

CRM software has become a necessity for many organizations, enabling them to more effectively manage their customer relationships.

As CRM matured, companies came to realize that an effective CRM solution must:

  • Be highly flexible to meet the needs of the business.
  • Allow them to manage a wide range of entities, not just customers, leads, prospects, contacts, and support cases; but any “thing” important for a business to capture and manage information around.
  • Allow them to define the “things” (people, products, services, money) important to their business and manage the interactions between these relationships.
  • Automate business processes across these relationships to create a true line-of-business (LOB) platform that streamlines operations across the organization.

The result was a new generation of CRM that is highly flexible, automated, and customizable; in effect, a platform for CRM. With XRM you do not have to make important trade-offs between buying packaged or building specialized line-of-business applications, because XRM offers an end-to-end, line-of-business application development platform that combines the best of both worlds. XRM enables organizations to build any number of end-to-end line-of-business applications rapidly and cost-effectively.

Sample XRM Solutions

Companies can mold Microsoft Dynamics CRM to manage “anything” they define within the XRM platform. Visibility into the relationships and interactions between these “things” streamline operations across the organization – any organization.


Configuration and Customization can be outlined as follows:



  • Metadata – configure and extend the underlying data model
    • Entities – An entity is a container for data, each containing a set of attributes
    • Attributes – An attribute is a container for a piece of data in an entity
    • Relationship – A relationship defines an association between two entities
  • Entity Forms and Business Rules – forms designer for entity specific data entry
  • Security – add application users and apply authorization rules through the built-in security management tools
  • Workflows – workflow designer for hooking into the entity event model
  • Business Process flows – designer for guided business processes
  • Reports – built-in report designer for SSRS hosted reports

No option listed above requires development time, skill, or tools



  • Forms JavaScript – extend entity forms via JavaScript web resources
  • Web Resources – extend forms and dialogs via custom HTML pages
  • Plugins – hook into the platform execution pipeline
  • Workflows – extend workflow capabilities with custom workflow assemblies
  • Custom Reports – download and customize SSRS reports
  • Services – access to schema and solution data via REST or WCF web services
  • Custom Portals – provide custom user interface for CRM data and services

Each option above requires some level of development effort and skill to implement

Leveraging these Dynamics CRM platform capabilities, customers can:

  • Treat CRM as a flexible, adaptable platform for any LOB applications
  • Rely on one business application platform to support many applications
  • Share resources and familiar platform features for cross application users

Custom Development vs. the Dynamics CRM Platform

Though Dynamics CRM has been in the field for over a decade, the argument still continues over custom development vs. extending an off the shelf platform.  This is a continuing debate for both business and technical folks and is not exclusive to Dynamics CRM.  The discussion has a lot of different angles with many valid points on all sides, such as limitations to functionality (“Why doesn’t it give me CMS capabilities!?”) or platform dependencies (“Why can’t I deploy it to Oracle!?”).  Sometimes it’s simply a matter of approach. Developers, accustomed to building from scratch, often do not like giving up control, while business management doesn’t like licensing fees and relying on external vendors.  Recent releases of Dynamics CRM starting with CRM 2011 through 2016 have included many new capabilities that chip away at the arguments and make a great case for Dynamics CRM.  Some of the pros and cons that we have seen over the years:


  • Powerful rapid development platform – quickly model and demonstrate
  • Increased developer productivity, less time investment for both short and long-term
  • Supported by Microsoft, a full SDK, and active developer and user communities
  • Many supported add-on solutions by vendors
  • Consolidated IT infrastructure and improved IT staff efficiency through a known, supported platform


  • Learning curve for developers, another platform to master
  • Licensing cost, typically for smaller organizations
  • Developer shifting their approach to development
  • ack of some functionality, either through configuration or platform limitations
  • Some limits to extensibility


The bottom line comes down to where a team wants to spend their resources in application development.  Do they want to spend a large portion on plumbing or on functionality that users will really get to see?  With the rollout of services-based architecture over the last 10 years, new solutions are being released every day that reuse not just data but functionality.  For example, there is the long list of online applications relying on third-party authentication, such as Microsoft Live Id, Google, Facebook, etc.  This is a known model that works pretty well, offering a familiar experience to their end users.  Using a platform such as Dynamics CRM as an xRM platform follows the same mind-set, but on an even larger scale.

An xRM Example

Using Dynamics CRM does not mean that you are starting with Sales, Finance or Marketing. The idea of xRM development can be applied to any Line of Business Application. For example, what if I were building a Patient Health Records system for a hospital or medical office?  If I were going to build this from scratch, I would need to build out the following:

  • Users – data model and business rules around users accessing the system. This includes authenticating users and authorizing their access, once granted.
  • Patients – data model and business rules around how patients are managed within the system. This includes capturing all relevant patient data, how they are activated and deactivated in the system, and who can see and manage the patients.
  • Patient related data – data model and business rules around tracking all relevant patient data that will be supported by the system. This could include medical notes, drug orders, allergies, lab data, prescription history, previous hospital stays, etc.
  • Patient access – assuming that the patients will access their own data but will not be users of the system, we would need to build out some method for the patient to access their data. This can occur via a portal or some reporting tool.
  • Communications – all communication between system users and the patients when something occurs around their patient records, such as the records have been requested or will require updates or changes.
  • Reports – periodic reports will most likely be mandatory for HIPAA and FDA compliance (and probably a few other acronyms, too!)

This is just a short list since as we know, a real Health Record system is much more complicated.  But building even this functionality from scratch can take an enormous amount of time.  Authentication and Authorization in any system are critical for data security, and even more so when we are talking about patient medical information.  We could easily spend a large portion of our time on just making sure users can login to the system and they see what they are allowed to see.  And everything we build from scratch will have to be tested and maintained in addition to the actual business functionality.

What if we used took the xRM model with Dynamics CRM?  In the patient medical record example, we could quickly build out the following using Dynamics CRM:

  • Users – this is an existing entity within Dynamics CRM. Done!
  • Authentication – by default, on premise CRM relies on Active Directory. If this is an online implementation, we would rely on the CRM Online methods for user authentication.  Other methods of authentication are available, as well, but these seem to be the most common.  The bottom line here is we do not have to build our authentication system.
  • Authorization –Dynamics CRM offers a powerful authorization model through the built-in Security Roles and Business Units. We can configure access from an organization level down to a field level for an entity.
  • Patients – leverage the existing Contact entity that already contains a large amount of profile information. We can add custom fields that relate to the patient based on the business requirements.
  • Patient data – we could create custom entities within Dynamics CRM that meet all of the needs of the system. For example, we can create entities that track a patient’s laboratory data: tracking the lab type, date taken from office, results, etc.
  • Notifications – we could design custom workflows that email the patients in certain scenarios about their medical records using Dynamics CRM built-in Activities and Workflow designer
  • Reports – we could design some baseline reports using the built-in Report designer offered by Dynamics CRM. If the report is simple enough, we could simply provide a custom view to the user that they can then save to Excel or Word, an out of the box capability of Dynamics CRM.
  • Data entry and user interface – With each custom entity and updated system entity, we are building the relations to the patient, the users, the record, etc. We also configure the data entry forms for each.  Once our custom entities are in place, we then apply our security roles, either restricting or granting access to the correct users, teams, and scope, as required

This is a pretty quick rundown of some of the things we can do within xRM and Dynamics CRM.  And the example provided is MUCH more complex than  covered in the short list above.  The point  about the list above is that all that  mentioned could be accomplished in Dynamics CRM with configuration alone.  A business analyst who knows the details of the proposed solution, but is not a developer, can still step in and build out business entities and relationships, the security roles, and the data entry forms before the development team ever needs to get involved.  That is an enormously powerful benefit of the platform and will allow development teams to focus on the tasks that require their skills and allow the business analyst to present a very functional model to all of the project stakeholders.

While this effort is under way, the development team can begin working on the parts of the system that require developer skills and tools.  The area from the patient medical record example is the patient-facing portal.  Once the entity model is in place, the development team can start building out a custom web portal that relies on the Dynamics CRM service model as its business and data layer.  All data can be retrieved from the Dynamics CRM system just as if the development team built out custom web services for the patient data and presented it to the patient in any method they see fit.


Summing up…

While Dynamics CRM offers a powerful set of Sales and Marketing tools to any organization, it also offers a very powerful, rapid development platform for any number of different scenarios.  It provides a solid platform that can provide savings in development time, ongoing maintenance costs, and sharing of infrastructure.  We are also seeing the success of the platform as its adoption grows within different business areas, such as state and federal government or across financial institutions.  Microsoft has made a large investment in the platform over the last few releases that heavily favor developers and making the platform extensible, so you can also be sure that Dynamics CRM will be around for quite a while!

Next will be Basics of Microsoft  Dynamics CRM.




Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s