Skip to main content

Designing Maintainable Workflows in Microsoft Dynamics CRM, Part 1

by Sander Bockting
CRM Consultant, Avanade Netherlands,

The powerful and user-friendly workflow solution in Microsoft Dynamics CRM can be leveraged to easily build relatively straightforward business processes. However, when business processes become more complex, the effort required to translate them into a maintainable workflow increases disproportionately. This two-part article provides practical guidelines for translating complex business processes into maintainable, easily testable workflows.

Helping the business get their complex workflows

While working on a large enterprise Dynamics CRM solution, we were handed seven PowerPoint slides containing nearly one hundred human tasks. The tasks were part of two key business processes. Many of the tasks were to be executed in parallel, some were to be executed conditionally, and others functioned as approval tasks - only to be executed once the preceding tasks were canceled or completed. The processes even contained multiple recursions. Of course, each task had it is unique details, such as the owner to whom it should be assigned and due dates that were dependent on fields in CRM.

It quickly became apparent that simply building a large workflow would not result in a maintainable solution, should it even be possible at all. A more structured approach was required that would be resilient to change and where the workflow execution state could be understood at a glance.

In an attempt to make effective use of our computer science background, we decided to take a more academic approach to formalize complex business processes - written by domain experts - into a model decomposition where each model could be implemented using a CRM workflow.  Here we share our methodology and experiences.

Reduced maintainability of larger workflows

Dynamics CRM workflows provide great flexibility and extensibility for automation of system-driven business processes. Conditional checks, waits and branches provide ...

FREE Membership Required to View Full Content:

Joining MSDynamicsWorld.com gives you free, unlimited access to news, analysis, white papers, case studies, product brochures, and more. You can also receive periodic email newsletters with the latest relevant articles and content updates.
Learn more about us here

About Sander Bockting

Sander Bockting is a CRM Consultant at Avanade Netherlands. He obtained his masters degree in Computer Science at the University of Twente with multiple scientific publications, mainly on information retrieval. With years of experience in the field of enterprise scale Dynamics CRM implementations, Sander was technical editor of the "Microsoft Dynamics CRM 2011 Administration Bible" and frequently speaks on CRM events. He is also a passionate photographer.

Avanade is a multinational consulting company founded as a joint venture between Accenture and Microsoft. Avanade delivers Microsoft Dynamics® CRM, ERP, cloud, business intelligence, application development, collaboration and outsourcing solutions to companies across the globe. For more information on our CRM ServiceLine click http://www.avanade.com/crm.