After working with the XRM platform for a long time (over 10 years now), I have not only seen the evolution of the XRM platform and Microsoft Dynamics but also can provide insights and benefits of XRM for you or your organization.
So what exactly is XRM? XRM is a platform that allows companies to track relationships of literally anything imaginable. The “X” in XRM is referred to as the “anything” within relationship management. Where CRM refers to Customer Relationship Management, HRM would refer to Human Resources Management both of which utilize the XRM framework.
XRM itself came along as a byproduct of CRM, but over time the solution has grown to cover a wide array of scenarios in organizations from Vendor, Partner, Employee, Consumers, Suppliers, and even Event Relationship Management.
How the XRM framework helps businesses
In many businesses, there are specific requirements that you must meet. You may have a business that is in a niche of its own so you have more specific needs that will mean an off the shelf product will need some changes in order to adjust to your specific processes.
Isn’t there just an app for that need?
Many times you cannot run out and purchase a product or a specific solution to solve the issue at hand.
In the past, you had limited options for these very specific problems. The first solution would be to gather your resources (internal or external) and custom build what you need.
As a second option, you would attempt to find a 3rd party that ties into your current line of business applications. Many times even if you found a 3rd party option the solution may not be exactly what you are searching for.
Sound Familiar?
The absolutely fantastic news is that this is where XRM really performs!
XRM allows you to tailor your specific needs exactly to how you work and how you do business.
XRM integrates well with existing applications in your business or outside your business and the entire platform is designed to help businesses tailor their specific processes into it and not the other way around.
Why is XRM considered a Platform?
If you are familiar with Microsoft Dynamics CRM you may already realize that under the covers runs the Microsoft XRM platform.
If you haven’t experienced the CRM product that is ok, but chances are that you have heard of one of the many lines of Dynamics products that have vertical solutions which are all now built on top of the XRM platform.
XRM is considered as a platform because of the large number of services that the product provides and is just so extendable. XRM provides a complete framework that covers multiple aspects of traditional business application development all within a single and stable technology. XRM is built upon one of the most used development language out there Microsoft .NET.
The Dynamics XRM Framework consists of:
- A secure database that stores the organization’s important information
- UI that allows power users to easily create/manage new screens and fields for your business applications
- A full workflow engine that allows users to configure simple or complex workflows to manage business processes
- Reporting engine to report anything out of the product
- Access and security services that allow you to create very granular and specific roles for users to define access to the business application
- Event and Execution pipeline that allows you to run your custom code alongside your business processes.
- Business Rules engine that allows users to create custom logic in a UI environment without needing to learn a programming language.
- Audit engine built-in to track changes to the platform
- Full-stack of APIs (Application Programming Interfaces) so that you can tailor and build onto the platform overtime or extend with integrations to other applications
- Ability to leverage the full .NET Framework – (not stuck in a single proprietary language for building enhancements)
- Dashboarding support and full integration with Power BI for application data analysis
- Mobile app framework so you can publish your changes to devices and tablets
How does XRM save time in adapting to changes in the business?
Seeing the large list of benefits that the Microsoft XRM provides let’s face it may be simply overwhelming. So let’s break that up into a more relatable way. With a walkthrough scenario that could happen in a business.
We will discuss the requirements and then cover what the same use case looks like from a company that has an XRM framework.
This will help you understand the value proposition Dynamics XRM really brings to the table when multiple employee perspectives come into the mix on the problem.
Some new requirements arise in the organization
Your organization has an immediate need to capture some very important information.
For the sake of simplicity, Let’s say the need is a simple form that will capture the location of your employees that are traveling for any business-related travel.
The main goal is transparency and to help understand where team members are in the case of emergencies. Sounds simple right?
So what happens next?
A kickoff meeting to discuss
Yes, in a traditional line of business system, you would gather the developers from your team and then outline the business requirements to solve for your specific needs.
After a few conversations, iterations, some argument about what programming language will be used, and proof of concept later you have the form design created and the data that you should capture.
Great! Now it is time to conquer the world and deploy the application to the organization. But wait! Something doesn’t look right.
Things were generally going fairly well without any major roadblocks so how could this happen? In retrospect, you look at the development team and realize.. this looks great, but now the question arises
“how do I access the form?”
The team has a blank stare for a second and realizes that although you explained a desktop application you really need a web application.
Back on track? Maybe? Maybe Not?
With that issue, all cleared up and after a couple of days, the team regroups to show you the new capture form to review.
After the team review, a salesman stops in to ask… Hey, this is all really looking great so how do I access this on my phone?
Then HR…and don’t forget that HR needs to be the only one to edit any information we want users to only see their submitted entries not everyone else’s. They also want to know if anyone has changed their travel itineraries.
Accounting… and we need a workflow to make sure that we have obtained all the proper signoffs in the process as well make sure to handle that.
Then…a project team stops in to ask … can we integrate this information into the company calendar? They don’t want to manage the information separately, and if there was a simple way to connect like an API that would be even better.
Accounting … again.. how do I get information out of this application to get a list of all travel performed a particular state for a tax nexus filing?
Finance .. I would really like a dashboard to showcase all the metrics of domestic and international travel and current track for budget against actual expenses.
Then the Security / Compliance team stops in… I need to know what users are traveling internationally so we can ensure that the proper security briefings have been covered and the employee is aware at all times of potential security risks in areas of travel.
Then honestly the list can just continue on and on. But for the sake of this example, we are going to stop here.
You can end up spending countless time, effort, and resources on each of these use cases handling and supporting these requests. And just think all this effort from such a simple example.
Although it is a bit exaggerated, it does painfully illustrate the typical process for how traditional business applications are built in house.
XRM as a solution to traditional business app development – How things change with XRM
With XRM the solutions to all of these above are so much easier for the end developers and in many cases, these tasks can be performed by a power user with the XRM platform. This is how the scenario above changes using XRM as the solution to building your line of business applications.
The Requirements and Kickoff meeting with XRM
Yes, it is still a great idea to have a kickoff meeting, but chances are that your XRM developer will have a good understanding of what is needed and potentially even a quick mockup before the meeting is even completed.
XRM is flexibility defined… forgot you needed to add a new field? no problem, oops you needed a drop-down instead of text? got it.
Does XRM support users that work with multiple device formats?
Yes, Dynamics XRM handles support for the web, mobile devices, desktop, and tablets like a boss, in fact, it is completely agnostic and compatible with all these device options.
Allowing your developers to focus in on the requirements at hand, and to stop worrying about the multiple form factors, layouts, browsers and devices that the new app will need to support.
How does XRM solve security and auditing issues in my business applications?
HR needs security, XRM has such great granular security options built-in creating a simple role to handle the specific needs is easy. Authentication is provided by the Azure AD instance or Active Directory no matter if you are running on-premises or in the cloud there are simple authentication options.
The framework even provides a seamless sign-on experience to users of your custom business applications. For any auditing concerns, these are also handled by the framework as it’s own built-in records and auditing engine.
The Auditing engine only requires basic configuration in your custom app to define what changes should be audited.
Does XRM have custom workflow capabilities?
Accounting needed workflow in our example, which is another major component of the XRM platform. A power user can easily craft notifications to everyone involved and ensure that the appropriate sign-offs occur before travel is performed. Simple workflows will power the notifications and ensure that the signoffs are routed to the appropriate individuals.
The Security and Compliance just needed a heads up when travel occurs. This is a quick email workflow providing the team details on who is performing the travel, the countries they are visiting, and when the trip is taking place so they know how to get a briefing and security notification. Another simple task within the platform.
How does XRM give my users the ability to self serve data from my line of business application?
Accounting was also interested in exporting information out of the Dynamics XRM platform. This is super easy as the platform has excel-like filters to drill and dive in the information that is the most important for your app’s users.
You can even now allow users to self-serve and even export information right out your in excel or even a refreshable PivotTable if needed. This again is also a capability that is provided by the XRM Framework.
What do developers think of Microsoft XRM?
A separate project team was interested in how they could integrate with your application. With XRM there is so much support for integration you literally can ask your development team how do they want to consume data from XRM as there are no shortage of options A REST service, a downloadable WSDL, or an OData service.
You can even tell them you can serve up your new application in a Swagger UI format so they can review and test it out. Just wait for their expression as they may die of utter and complete shock when you share this news. They will have to admit that is pretty cool.
After you scrape them off the floor you can explain that the choice of how they integrate into XRM is really up to them, and then you can provide the multitude of options that the platform has.
XRM also does not have any proprietary languages like some of the other platforms out there so most likely the development team will be able to go straight to work with a technology they already know and love.
XRM provides Dashboarding and Reporting with Ease
Finance was looking for the dashboard of travel requests and you can provide that as well through XRM.
You can build graphical or text dashboards easily within the UI, or you even have the ability to build immersive graphical dashboard experiences. For those that need to analyze larger datasets, or populate information from a data warehouse, or if you need to perform some complex analysis you can tap into the Power BI (Business Intelligence) stack.
Summary of overall benefits of Dynamics XRM
As a Full-stack developer, I can tell you that having all of these tools within a single platform, such as Dynamics XRM, allows the ability to easily and rapidly adjust to changes in line of business applications.
If you were trying to accomplish the same level of support it would take multiple frameworks, custom libraries, and external services to accomplish what you can do with XRM our of the box.
I can be a much more effective developer and architect solving business issues instead of worrying about managing the layers of technology that has to be supported just in order to solve particular business problems.
I admit the example provided was a very simple use case that showcases how quickly any need can spiral out of control with traditional development.
The bottom line and the main takeaway here is that XRM will enable your organization to more rapidly adapt to changes, will improve custom app development time, provide self-service tools to end-users and receive the long term benefits of using an XRM framework like Microsoft Dynamics CRM, or the Azure Dynamics CDS (Common Data Store).