I’ve been using Azure DevOps (previously known as Visual Studio Team Services/Team Foundation Server) for a long time now and have blogged about it pretty frequently to date:
- I’ve shown how you can use the product to backup your Azure SQL databases during a deployment.
- We’ve seen how to get around fiddly issues with PowerShell script tasks during a Build or Release pipeline.
- When used alongside Azure Data Factory, it makes for an effective bedfellow and allows you to, for example, manage your releases entirely through Azure DevOps.
- And, finally, I’ve shown how to deal with permissions issues when working with both the online/on-premise version of the application.
So, in case it’s not pretty clear already, I’ve got a lot of love and affection for the product. More recently, I’ve just finished some work migrating across numerous, existing Projects to a clean tenant and, as part of this, formalising how we record our Work Items within the application. The primary reasons behind this are so we are both a) tracking everything across the various projects our team is involved in and b) can start keeping the whole damn thing up to date as efficiently as possible :) . A challenge to be sure, but one that I think will drive benefits in the long term as we adjust to working in a more genuinely Agile fashion.
To enable you to categorise your work items across multiple projects more straightforwardly, you can take advantage of the Areas feature within the application. Typically, you would also put in place the various iterations for your sprints alongside this, but both features can be operated in isolation if required. As part of first setting up your project, you would preferably define all of these from the start before populating out your Backlog. Life is not always ideal in this respect, or it could be that having got familiar with the application, you want to go the next step to report more effectively across your various work items. In this case, you may have a few issues getting things displaying how you want them to be when using the Boards feature.
For example, let’s assume we have the following Areas defined within our Azure DevOps project:
With a couple of different work items scattered across these various areas:
All looking good so far. But when we navigate to the Team Board for the project, we see that it is empty:
Likewise, the default teams backlog is also mysteriously lacking in content:
At this point, you may be asking yourself - where the hell are my User Stories? They are still there and fully accessible within the application when running a query, but not in the place where (perhaps) you would like for yourself and members of your team to access them. It turns out that, in addition to defining your Areas within the settings of this project, there is one more setting that needs toggling as well within the Teams configuration sub-area. To do this:
- Navigate to the Project settings area and click on the Team configuration option underneath Boards
- Select the Areas tab and a screen similar to the one below should appear:
- Select the ellipses icon over the default Area and select the Include sub areas option highlighted below, pressing OK on the Are you sure you want to include sub-areas dialog box:
Once confirmed, we can then navigate back to our Board and Backlog and see that our Work Items are now displaying correctly:
The great benefit of cloud solutions, like Azure DevOps, is how quickly and easily you can get fully functioning business systems up and running, with an almost limitless amount of options at your disposal. In this scenario, you can very much feel like a child in a sweet shop, as you run around and try out the various features at your disposal. The solution described in this post is perhaps one area where you can steam ahead over-excitedly, but not fully appreciate the impact that implementing Areas may have for other users within your Azure DevOps project. Fortunately, the solution is relatively easy to resolve and, as a result, you can use Areas in tandem with your existing team Boards and Backlog with very little work or upheaval involved.