Flipping gears a bit, I picked up some work over the holidays and moved work into Azure DevOps. Coming from Jira, I have plenty of knowledge on how to create Change requests and setup a proper Change Advisory Board (CAB) for approvals.

What I really wanted to do was modernize the process that the company was using and make it simple for developers and IT operations teams members to comply with the CAB process. The old method involved a filtered view of active development tickets and a calendar view in SharePoint. That process worked on a basic level, but most CAB meetings, there was someone that forgot to make a request or had it categorized wrong so that the filter wouldn’t show it.

I came into a fairly plain DevOps setup and set to work creating two projects. One for regular work called IT Operations, and one for the Change Advisory Board. In Azure DevOps, we’ll need to add a extension from the Azure DevOps marketplace, and this is a free module called ‘Action Button’.

For the IT Operations project, its fairly normal with 2 week sprints and Epics, Features, Stories and Tasks. We’re only concerned about linking Stories to CAB requests as the others in this board, tied to larger project work.

The Change Advisory board is managed by the Change Team Lead, and has a 1 week sprint created for that week and other sprints created for each week ahead, typically 8-12 weeks leading. The team talks about the changes in that week (Wednesday-Tuesday cycles, covering the weekends). The team gives flexibility to the Change requestor to select the sprint they want to call their change up for in their change ticket. For instance, Iteration 2021-Q1-01 (6Jan-12Jan). We label the Iterations (sprints) clearly with dates to make sure they are visible and easily readable on every screen.

When the CAB meets, the CAB leader reviews the current iteration board, calls the ticket, reviews it with the leadership team and seeks approval. The Change ticket (work item) is then moved to the correct column on the board (Held, Approved, Rejected) and the next one is called.

One flaw with Azure DevOps (and pending in Microsoft’s backlog) is lack of multiple closed states. So, unfortunately, we can move the work to a resolved state, but we do not close it, because we want the state to show up correctly on the parent ticket. This has not impacted us, but is a little annoying.

I also want to give kudos to the Action Button developer, Avi Hadad. Avi spent some time with me over the holidays updating this control and the new functionality is really impressive. He was super responsive and I’m excited to see what’s next for this extension.

Anyhow, let’s take a look at how this all works, with some pretty screenshots.

In Organization settings, we'll add the Action Button Control via the marketplace button.
Select the Action Button by Avi Hadad and Click Get it Free and follow the prompt to install into your DevOps Tenant environment.
In Change Advisory Board, Create the Work Type 'Change Request' and disable the other types.
In Backlog level , ensure Change Requests is in Requirements so that it's visible.
Modify the Change Request Process layout to include new change management fields
Add Status's to Change Advisory Board
In Organizational settings, under process, IT Operations update the process with the new extension 'action button'.  We'll add it to the work item Story.
Add the extension with the properties
Additional properties
Test the action control in a IT Ops Story ticket
CAB Ticket created, fields copied and linked to parent successfully.
Go into the Change Advisory Board project and check work items.
Customize the board with columns and state mappings.
Style the board cards. 
Explore the board function.
Check the parent ticket of a CAB Request.  Note the status of the CAB request.

Well, I hope you liked this blog post. Azure DevOps is a little foreign yet to me. I’ve bent it to meet the needs of developers, IT Operations and Change Management teams. It’s not as flexible in its ability to extend to the rest of the business, unlike Jira which I’ve flexed to HR, Legal and other teams before, but it’s certainly completing its role in the IT department.