DevOps and Dynamics CRM in the External Application Support Process

Author by Nathan Lasnoski

Are DevOps and Dynamics CRM best friends?  I recently worked with a customer who was very interested in reducing the inefficiencies in their support process and we came up with an innovative solution.   We found that the organization spent a significant amount of time handing off between their respective internal groups.  The company supported an external website, where their customers purchased their product through.  If there was a problem with the website, they couldn't sell product, so efficiency in support is critical.  The goal was to reduce the mean time to resolution (MTTR). 

 

The original support process is disconnected and inefficient, where the teams are using three systems and do not have integrated teams.  Here is the snapshot of the original process, where a team supporting an external website is receiving calls of an application not working properly:

 

  • The ticket is created in a separate customer relationship management system.  The case is created when the customer calls, but it is a different system than IT and development use, so it is in reality just a placeholder.

 

  • The support professional troubleshoots the case, then escalates to others.  The external support group has minimal troubleshooting knowledge, meaning that many cases move through escalation.

 

  • The case is finally sent to the separate ITSM system, where it is picked up by a separate group who analyzes the issue.  The separate system creates an inefficiency, especially since the team providing troubleshooting and bug identification is siloed from the original team.

 

  • The case is then manually created in a backlog management system.  The backlog management system is used for managing the work load, but items are created manually.  This inefficiency creates a breakdown in the tracking of the actual bug, as well as the details of the case.

 

  • The customer calls in, but the front-line support desk is unaware of the status of the case in the other ITSM system.   As a result of the separated systems and teams the service desk is unable to adequately support the customer and has no idea of the status. 

 

  • The resolution of the identified bug takes numerous handoffs to get the necessary information.  The resolution process is very inefficient, requiring significant back-and-forth in the troubleshooting process.

 

  • The case is finally closed when the new build it deployed, but the service management team is not aware, nor is the front-line team.  The lack of knowledge is caused by disconnected systems with inefficient processes.

 

You can see several inefficiencies in this process, especially caused by the disconnect of systems and the isolation of people.  We planned to address this problem through the following process and tooling:

DevOps-Lifecycle-(1).PNG

  • Consolidated ITSM into CRM, providing one system for tracking requests and integrate it with the alert management system in OMS (for another blog post).  We focused on this to provide "Care Everywhere" within the service lifecycle and also drive efficiency.  This may seem somewhat new, but it is exactly where most modern service management platforms are moving.  Service-Now, Remedy, etc. are all trying to be more like CRM systems, because they know that they need to command the entire service management lifecycle.  The challenge is it is much easier for systems like Dynamics CRM to move into IT support than to move from IT support into the business.  Here is a look into the form we used:

 

  • Built a clear escalation of case to bug in CRM.  In order to facilitate a DevOps team being effective in the single system there needs to be a clear escalation process to move a case from initial call, to escalation, to designation as a "bug".  This designation facilitates the integration with Visual Studio Team Services, where the bug was automatically captured and details gathered by VSTS and Application Insights.

 

  • Included a rotational development team member in the external service desk.   The inclusion of the development team member in the external service desk on a rotational basis enables a serious efficiency.  This efficiency is the key cultural difference in DevOps, where integrated teams provide faster support by eliminating silos. 

 

  • Integrated CRM and Visual Studio Team Services for backlog management and updating of the case, as well as for automating the release management of the fix using continous deployment (CD).  The identification of the bug automatically creates the work item in the Visual Studio Team Services (VSTS) backlog, which the team will now work on.  We built this in Azure Automation using PowerShell.  The resolution of the bug is sent through the release pipeline, including test, QA, and production automatically using Continous Deployment, instead of many manual steps.  

 

This solution drives efficiency in the case, the remediation, and the release.  Stay tuned for more posts on integrating Dynamics with OMS, leveraging social, automated release management, and Azure Automation DSC.

 

Watch our video on Moderm Management here to learn more about this ecosystem and understand how to deliver a complete management story from the cloud, including Dynamics CRM, OMS, and Visual Studio Team Services.

 

 

Nathan Lasnoski

Author

Nathan Lasnoski

Chief Technology Officer