Dynamics 365 – Development Platform

Many years ago, in 2003, Microsoft released two versions of their new CRM system (Microsoft Business Solutions Customer Relationship Management). At the time, Microsoft CRM was a simple CRM system with focus on the sales, marketing and services modules with limited customisation and extendibility capabilities.

Between now and then, many things changed and eight main versions of the product were release in fourteen years. Apart from the expected improvements on the conventional customer relationship management modules and features, the application changed and evolved in many other aspects:

  • Microsoft CRM turned Microsoft Dynamics 365;
  • Supports deployments on-premises/cloud-based/hybrid;
  • Extended and improved to integrate with other systems (not exclusively Microsoft products);
  • Cross-browser and cross-platform support;
  • Mobile capabilities;
  • Solutions were added to smooth deployments and share reusable components;
  • Updated and improved user-interface;
  • New API’s to provide faster and more flexible integrations;
  • Seamless integration with Office 365;
  • Wider range of automation features;
  • Better reporting capabilities with Power BI integration Interactive Experience;
  • Auditing, etc.

From xRM to Dynamics 365

Along the way, back in 2008, Microsoft introduced the term “xRM”. The “x” in xRM refers to extended relationship management, which represents the extension of the conventional CRM system far beyond customer relationship management. Microsoft started promoting Dynamics CRM not only as business application but also as a development platform, on which solution builders could build custom applications making use of the customisation, integration and extensibility capabilities.

Development Platform

This is still true and applicable with Dynamics 365, perhaps even more than in previous versions. This means that, when a customer chooses to implement Dynamics 365, they don’t only get a CRM system, but also a flexible, extendible, robust and reliable development platform that can be used to quickly implement custom business solutions. Solutions built on top of the Dynamics 365 (Online) platform are enabled with:

  • A consistent user experience with a user interface ready for international use – Same user-experience across all system modules with multi-language and multi-currency support
  • An extensible data and security model – Create new entities and manage access to data and features by defining security roles, record, field level and hierarchical security
  • An extensible business logic – Business applications built on top of the Dynamics 365 platform can easily implement business logic without involving a developer. Features like Workflows, Business Process Flows, Business Rules, and Dialogs can be used to define, automate and guide business logic rules without writing any code
  • Microsoft Office 365 integration – Microsoft Dynamics 365 (Online) users can:
    • Integrate with Exchange, Outlook and Skype for Business
    • Use Power BI to analyse data
    • Edit data with Excel
    • Manage contextual documents across SharePoint, Office 365 Groups, and OneDrive for Business
    • Create personalised documents as a team with automatic document generation and real-time co-authoring
  • Cross-platform mobile applications – Different mobile apps that use metadata about data model, security configuration, business processes and rules to provide a similar experience between the different supported platforms
  • Up-to-date integration layer – Access through a RESTful web service API built on open standards including OAuth 2.0 and OData v4 to the same end user and administrative capabilities you have in the UI. Because Dynamics 365 embraces web standards, external systems can integrate with your business application built on Dynamics 365 using their platform and languages of choice.

Dynamics 365_Application in the Cloud

Suitable for big or small development projects

Depending on the project requirements, it is possible to deliver business applications without writing a single line of code and, if needed, applications built on Dynamics 365 can always be extended and integrated using the RESTful web service API (Web API) and/or through the Software Development Kit libraries.

This flexibility and extensibility in a development platform that is constantly growing, being perfected and integrated with other products is remarkable and a true advantage when compared to the other competitors. Dynamics 365 is a rapid application development tool that is suitable for big or small development projects, that can quickly deliver self-contained or integrated solutions built by technical or non-technical resources. In summary: “Dynamics 365 provides the agility and flexibility to rapidly adapt to changes and get user acceptance and adoption” (Microsoft).

RAD, agility, flexibility, rapid adaptation, user acceptance and adoption are all terms that we are used to see being associated with Agile software development principles. It is also true that over the last years, we have been seeing more projects where Dynamics 365 is used as a development platform being delivered using Agile software development methods.

Agile Software Development

By saying this, I am not implying that Dynamics 365 solutions should always be developed using Agile software development methods. Agile should be used when solution components and features can be developed and deployed iteratively and incrementally, and Waterfall methodology is still as viable as it was before, with all the good and bad things that come with it. However, it is undeniable that Agile methods (i.e. SCRUM) can be used to reduce risks and dramatically improve the quality of Dynamics 365 implementations.

Based on this, over the next few weeks, we will see how sprint-based iterations impact in the development and release management processes in projects where Dynamics 365 is used as a development platform.

If you have any further advantages or disadvantages, please let us know below or contact me on LinkedIn here : Hugo Goncalves

About Technical Hero: Dimitri 'Reverso Engineero' Chevkov

The Technical Hero of the Dynamics 365 Heroes Team A programming wizard, I was a child prodigy and had hacked into 7 separate government agencies by the time I was 16 years old. Older, wiser, more experienced and seeing the errors of my impetuous youth, I now spends my time helping others to extend their Dynamics platform beyond what was previously thought as the limit. I can rush into developing a solution to a problem which would be better solved using the Dynamics 365 platform capabilities, and am constantly kept in check by Howard.

Leave a Reply