Book Image

Azure DevOps Server 2019 Cookbook - Second Edition

By : Tarun Arora, Utkarsh Shigihalli
Book Image

Azure DevOps Server 2019 Cookbook - Second Edition

By: Tarun Arora, Utkarsh Shigihalli

Overview of this book

Previously known as Team Foundation Server (TFS), Azure DevOps Server is a comprehensive on-premise DevOps toolset with a rich ecosystem of open source plugins. This book will help you learn how to effectively use the different Azure DevOps services. You will start by building high-quality scalable software targeting .NET, .NET Core and Node.js applications. Next, you will learn techniques that will help you to set up end-to-end traceability of your code changes, from design through to release. Whether you are deploying software on-premise or in the cloud in App Service, Functions, or Azure VMs, this book will help you learn release management techniques to reduce failures. As you progress, you will be able to secure application configuration by using Azure Key Vault. You will also understand how to create and release extensions to the Azure DevOps marketplace and reach the million-strong developer ecosystem for feedback. Later, the working extension samples will even allow you to iterate changes in your extensions easily and release updates to the marketplace quickly. By the end of this book, you will be equipped with the skills you need to break down the invisible silos between your software development teams, and transform them into a modern cross-functional software development team.
Table of Contents (14 chapters)
Title Page
About Packt
Contributors
Preface
Index

Portfolio backlog hierarchies and decomposing work


Requirements come in all shapes and sizes! While many teams can work with a flat list of items, sometimes, it helps to group related items into a hierarchical structure. Perhaps you would like to start with a big picture and break it down into smaller deliverables. Or, perhaps you've got an existing backlog and now need to organize it. No matter your starting point, TFS offers you hierarchical backlogs so that you can bring more order to your backlog. Two backlog levels are enabled in each team project by default—in the Agile process template, it's features and stories. An additional backlog level—Epic—can be enabled optionally. The user story backlog level is used for sprint planning; the feature backlog level and the epic backlog level, also known as the Portfolio backlog, can have multiple uses. This is shown in the following diagram for ease of understanding:

Use your backlogs in conjunction with portfolio backlogs to plan your project and do the following:

  • Manage a portfolio of features that are supported by different development and management teams
  • Group items into a release train
  • Minimize size variability of your deliverables by breaking down a large feature into smaller backlog items

With portfolio backlogs, you can quickly add and group items into a hierarchy, drill up or down within the hierarchy, reorder and reparent items, and filter hierarchical views. 

Getting ready

TFS 2018 allows you to add one-level child links to work items with ease. However, when you are in a planning discussion, you sometimes want to rapidly create sub items at different levels of work item hierarchies. The TFS marketplace features the decompose extension (https://marketplace.visualstudio.com/items?itemName=cschleiden.decompose), a free extension that was created by Christopher Schleiden, which allows you to quickly break down work items into sub-hierarchies. Appropriately named, this extension makes decomposing work items into sub-items very easy, and very useful during team discussion and planning sessions. Once you've installed this extension, you'll see the Decompose work item option in the work item context menu and the backlog and boards work item context menu: 

 

How to do it...

Let's perform the following steps:

  1. Launch the PartsUnlimited team portal and navigate to the work hub. 
  2. To configure the team settings, click the gear icon under the velocity chart in the backlog view. The team settings window has several options to configure and style backlogs and boards, which we'll cover in later recipes:
  1. In the Settings window, under the General section, click Backlogs. This presents the backlog levels that are available to your team. This setting is configurable per team. Adding or removing a backlog level will only affect the team for which it's being done to, and not every team in a team project. To add the Epics backlog level for the PartsUnlimited team, simply check the Epics backlog level and click Save:
  1. Open an epic from the Epics backlog and choose Decompose from the context menu. Hit Enter to add a feature and indent to create the user story; indent again to create the task. Once you have decomposed the work item, click Create to save your changes:  

How it works...

The newly created work items are linked to each other. You can see this linking by expanding the linked work items in the Epics backlog:

 

With the growth in work item usage, there will be growth in the work item dependency tree. I usually find a list of dependencies meaningful until the depth of 3, after which I hope I could just visualize the dependency through a graph. Luckily, the TFS marketplace features the Work Item Visualization extension (https://marketplace.visualstudio.com/items?itemName=ms-devlabs.WorkItemVisualization), which is a free extension that was developed by Microsoft DevLabs. It allows you to visualize work item dependencies from within the work item form. The unique selling point of this extension is that it allows you to see how work items relate to each other, as well as code, tests, test results, builds, and external artifacts. You can even drill into your commits to explore the changeset details. Among other things, the extension also allows you to annotate and export visualizations, an example of which is provided by the following screenshot:

There's more...

Story mapping is a popular way of visualizing the product backlog with Agile teams. Story mapping is a top-down approach of requirement gathering. Story mapping starts from an overarching vision. A vision is achieved via goals. Goals are reached by completing activities. To complete an activity, users needs to perform tasks. And these tasks can be transformed into user stories for software development. Story maps are traditionally created using sticky notes on walls or whiteboards, and have proven to be popular among Agile development teams. However, these traditional storyboards are not without their disadvantages: walls are not transportable and the physical nature of these maps means they are only temporary.

The TFS marketplace features the SpecMap extension (https://marketplace.visualstudio.com/items?itemName=techtalk.specmap), which was created by TechTalk software, and gives you the ability to create digital storyboards. This extension allows you to use existing work items in the system, which means that SpecMap goes further than just depicting story maps: creating a story map in SpecMap helps you plan iterations in TFS and structure your backlog items in the process. The following screenshot depicts a story map of the PartsUnlimited iOS feature team, who are identifying the user journey for the new iOS application that they are creating for both free and paid users: