Dynamics 365FO CICD with DevOps

Dynamics 365 for Financial and Operations (D365FO) is a highly customisable ERP system, it allows us to build bespoke functionalities specific to the organisation’s needs. One way to ensure all the extra functionalities are delivered with high standards and within the customer’s quality and time expectations is to utilise Azure DevOps to provide CI/CD for the system’s implementation. Utilising Azure DevOps will dramatically reduce the development cycle and at the same time shorten the deployment timeframe, hence the organisation can benefit from faster feature rollout or issue resolution.

The project I am working on at the moment is a Dynamics 365 for Finance and Operations implementation project for a large organisation in Christchurch. We have been using Azure DevOps and achieved regular weekly deployment and enabled a rapid release framework with minimal-to-zero impact on the business’ operations. Every week the business benefits from the new features been developed and enjoys agile deliveries with high standards.

What is CI/CD and Benefits

CI/CD stands for Continuous Integration and Continuous Delivery. There is a lot of online resource explaining what they are and how to do it. Here are a couple of links that you can find more about it:
What Is CICD? What’s Important and How to Get It Right
What is CICD — Concepts in Continuous Integration and Deployment

CICD for D365FO means a practice that helps the businesses to release new functionalities to the business in a timely fashion, and its key benefits come down from four areas, namely Work Load Management, Source Code Management, Test Management and Release management.

  1. Work Load Management provides visibility of development progress to the development team, project team, and the business team. It also makes everyone understand what impedances are there which affect the delivery timeframe, hence such impedances can be dealt with as early as they arise. Work Load Management is a great way to communicate amongst the team of development-related activities, and Agile Scrum and Kanban are the two most popular methodologies in the Work Load Management space.
  2. Source Code Management achieves code changes over time so we can revert the faulty changes easily, analyse change impact to understand the potential risk if any, and pinpoint the time of introduction of any issues and provide complete data fix to ensure data integrity.
  3. Test Management is the key to the success of CICD. Comprehensive testing is the foundation to ensure successful solution delivery and business satisfaction. No matter how well the development process is controlled and governed, code regression is unavoidable. It is only through the testing, we can ensure the solution does meet the business’ requirement and provide business values as expected.
  4. Release Management controls the solution delivery to the business. It improves management visibility, control of governance, provides an overview of solution delivery contents. The business can deliver software faster while reducing risk.

Conclusion

D365FO is a flexible RRP system that allows rapid development and customisation to meet customer’s specific needs. Coupled with Azure DevOps we are able to ensure the quality of delivery, achieve high customer satisfaction, and provide continuous improvement to the business with minimal operational impacts. I highly recommend Azure DevOps to all the organisations that choose D365FO as the ERP solution, and it will be a key component to ensure the successful delivery of your solution.