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:
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.
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:
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.
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