Monday, April 27, 2020

Optimizing the Release Management Workflow with PowerApps and Teams



Business Case:

A typical IT project delivery process comprises multiple phases from planning to deployment. Combined, these phases solve the objective behind controlled project delivery. However, when multiple independent teams work under the same portfolio, while handling different streams and phases, project delivery can get complicated.

In these scenarios, interdependency between the development and deployment teams necessitates numerous request and approval processes. Channeled through multiple tools and software, these increase the complexity in the overall process, and the time to delivery.

Solution:

We brought together the capabilities of Power Platform and Microsoft Teams to build an interface that replaced multiple touchpoints between the development and deployment teams, thereby:

1.    Improving time to delivery
2.    Improving visibility of the deployment pipeline
3.    Reducing process complexity

Solution Design:

Current System:

With multiple teams in play, communication is key to initiate and track various activities such as code review, blocking slots for deployment, and build and release approvals. Communication takes place through a variety of platforms, including Outlook, Microsoft Teams, Azure DevOps, SharePoint, and Microsoft Forms.

A typical deployment activity involves the development team blocking a slot with the deployment team in the SharePoint calendar, and initiating code review in Azure DevOps. On deployment day, the development team communicates with the approvers for the build and release through Outlook or Microsoft Teams. The release team members then trigger the release pipelines through Azure DevOps.


Figure 1: Current release management process

New Single Platform Release Management System:

We built a unified interface, a Microsoft Teams channel integrated with PowerApps, to consolidate the dialog required between the development teams, deployment team, and the approvers. Development teams can now schedule their deployments using a deployment scheduler integrated into Microsoft Teams, all with a single click. The scheduler automatically updates the SharePoint Calendar and blocks the time with the deployment team. We used Power Platform to integrate the Azure DevOps code review, build, and release notifications to Microsoft Teams. These notifications are made available in a Microsoft Teams channel as a new conversation. Users have the capability to take the suitable approval actions, and trigger pipelines from within the Microsoft Teams interface.

As a result, all deployment activities are now seamlessly integrated into the Microsoft Teams channel. This eliminates the need for multiple touchpoints to accomplish a successful deployment.


Figure 2: New single platform release management

Business Outcome:

The unified interface reduced the time and complexity of release processes, while improving visibility across all the dependent teams. By limiting the touchpoints to a single interface, we achieved greater efficiency in release management and ensured better quality control.

Highlights:

1.    Configured PowerApps-backed application to handle release processes
2.  Streamlined the deployment process with fewer touchpoints and greater visibility across the pipeline