Azure DevOps: Agile vs Scrum

Azure DevOps is a powerful cloud-based tool

Azure DevOps (also known as AzDo) has moved in leaps and bounds. It is has become one of the most popular tools for managing software dev activities. It is cloud-based, and integrates with DevOps pipelines, supports end-to-end workflows, and has a great user interface. Some people are confused about the different modes it operates in, however. Since these are not explained clearly in the tool or its documentation. This article will explain the difference between using Agile and Scrum processe in Azure DevOps.

What is Azure DevOps

Azure DevOps is a software collaboration and configuration management tool, published by Microsoft. It is a massive upgrade from Team Foundation Server and Visual Studio Team System. Also, it is meant to integrate with the Microsoft technology stack (including the Azure cloud platform), though doesn’t necessarily have to.

AzDo provides source control (either with Team Foundation Version Control or TFVC, or the popular Git platform), workflow management, and project management capabilities.

What are Agile and Scrum

Agile is an approach to software development that rejects the traditional “Waterfall” approach, based on project management ideas. It instead suggests a more lightweight and iterative approach. One where small cross-functional teams work quickly to deliver software in small increments, or iterations.

It focuses on rapid delivery and short feedback cycles. This is so the team can learn and course-correct as they go. Instead of bundling all the integration and testing in a big phase near the end of a project, it suggests integrating and testing continuously in small loops. This reduces risk, improves learning, and allows faster feedback and progress.

Scrum is a popular agile framework, created by Ken Schwaber and Jeff Sutherland in the 1990s. It implements the ideas in the Agile Manifesto. In Scrum, there is a small team (usually up to 10) of developers, guided by a product owner and a Scrum Master. This team delivers a product increment every sprint. This sprint is between one and four weeks long. They pull items (such as user stories) off a Product Backlog and try and complete them each sprint.

Projects and Processes in Azure DevOps

One of the first things you need to do when starting in Azure DevOps is creating a project. A project is a top-level container in an Azure DevOps server. It is where all the issues, backlog items, and so on will live.

Each project is related to a specific process, however. The four types of processes you can choose from for an AzDo project are:

  • Basic (very simple and lightweight method)
  • Scrum (quite lightweight method)
  • Agile (a little more flexible and complex than the Scrum process)
  • CMMI (a complex and heavy-weight process).

Which one you choose should depend on your organization, project, and team setup.

This article will be talking about the difference between the Scrum and Agile processes in Azure DevOps.

Scrum in Azure DevOps

In Azure DevOps, work begins its lifecycle in the Portfolio Backlog. There are two work types you can create there: Epics and Features. Features are always a child of an epic.

Entity hierarchy in AzDo Scrum

Once work progresses onto a Kanban board or task board, you need to split the features out into the main work type in AzDo Scrum: Product Backlog Item (or PBI). These can in turn be split further, into tasks. Which would correspond to splitting a Jira Story or Issue into Subtasks.

Scrum also supports the Bug issue type. These can be tracked on the Kanban board, or also split out into tasks. Which can in turn be tracked on the Taskboard.

You can track tasks in terms of their remaining work to complete.

Agile in Azure DevOps

Agile is Azure DevOps has some similarities to Scrum, but some differences also.

Entity hierarchy in AzDo Agile

Like Scrum, Agile has Epics as the highest item in the project taxonomy. These also live in the Portfolio Backlog, and can be split out into features.

Once you want to get features done on the Kanban board or task board, things are a bit different. In Agile, the main work item tracked on the Kanban board is a User Story. These correspond to Product Backlog Items in the Scrum process. You can also split them out into tasks and track them on the Task Board.

Bugs are an optional issue type in AzDo (unlike in Scrum, where they are automatically there). If you are using them, you can split them out into tasks, like User Stories.

Task tracking is more flexible in Agile than Scrum. You can track tasks by Original Estimate, Remaining Work, and Completed Work.

You can also track project issues (rather than bugs) as “Issues”.

Agile vs Scrum in Azure DevOps

In summary, there are only a few differences between these processes in Azure DevOps, and most of them are around terminology rather than workflow. I have summarised those differences in this table below.

AgileScrum
Main Kanban board entityUser StoryProduct Backlog Item
BugsOptionalBuilt-in
Project IssuesIssueImpediment
Task trackingOriginal Estimate
Remaining Work
Completed Work
Remaining Work
A comparison of agile and Scrum in Azure DevOps

Summary

In summary, Azure DevOps is a good tool and supports flexible lightweight approaches, such as Agile and Scrum.

The two are fairly similar, and most of the differences are around terminology.

Agile more detailed tracking of task completion, so that might be a good process to use if you need to follow these things closely.

I hope you found this advice helpful! If you have any further thoughts or questions, let me know in the comments!

Leave a Comment: