What are the top 5 extensions for Azure DevOps?

DevOps

In my previous article, we focused on how simple it can be to migrate one of your Azure Pipelines to GitHub Actions.

Today we’ll switch over to Azure DevOps to take a look at some amazing extensions that can add immediate value to your DevOps environment.

In this post, I will share with you the top 5 extensions for Azure DevOps. Next time, I will list what I feel are the top five tools and apps in GitHub.

Key points:

  • What are the best extensions for Azure DevOps?
  • How do they help?
  • Where to find them?

Before we start, I want to make sure we are speaking the same language. Here are a few terms I will use that you should be aware of:

  1. Extension – in ADO (Azure DevOps), an Extension is a 3rd party solution that adds functionality to the out-of-the-box experience. This can be a web part application, widget, or an Azure Pipeline task.
  2. Marketplace – The Visual Studio Marketplace is the official place where extensions can be downloaded directly from within Azure DevOps or from their website.

For the purpose of this article, I’ve combined extensions, plugins, and tools used by my colleagues and I here at Predica, and then prioritized the top 5 extensions we find consistent value in. Let’s begin!

Retrospectives – Microsoft DevLabs

The first extension that I would like to review is Retrospectives. This simple web part extension enriches Azure Boards to a place where the team can have the opportunity to reflect, inspect, and consider their last sprint and discuss how it went.

What went well? What can be improved? What behaviors, activities, or processes should stop, start or continue?

The retrospective is one of the key pillars of Scrum. This event is an essential activity that provides the team an opportunity to individually and collectively plan ways to increase quality and effectiveness.

Each team member can add their ideas, vote on what they feel is most important, and take action to facilitate immediate improvement.

Azure DevOps example retrospective

Example retrospective

The Retrospective extension contains many valuable templates that every team can use to find the best fit for their way of working. Some features include setting the max. votes per user and adding additional options like: “show feedback after collect phase.”

Furthermore, Retrospectives facilitates distributed teams working together. It is a completely online tool that allows for real-time collaboration.

Below is a list of the templates you get out-of-the-box:

  1. 4Ls – Reflect on what your Team liked, learned, lacked, and longed for.
  2. 1-on-1 – a dedicated template for performing one on one. This template assumes a 2-dimension matrix – Go, So-So, Improve, Done.
  3. Drop-Add-Keep-Improve – a technique that allows a team to assess the areas they need to work on, while also adopting new methodologies in the way they function.
  4. Mad-Sad-Glad – conduct a retrospective on understanding the emotions and feelings of the team.
  5. Good-Bad-Ideas – used to celebrate wins, discuss things that didn’t go quite as planned, gather ideas to improve for the next sprint, and finally, put those ideas into action.
  6. Keep-Add-Less-More – a retrospective activity that fosters the conversation about current activities and their perceived value. In addition, it helps team members to understand each other’s perceived value of such practices.
  7. Start-Stop-Continue – get feedback on what your team wants to start, stop, and continue doing.
  8. Psychological Safety – the grid helps identify if the team felt safe during the last sprint, what impacted this, and what can be done to improve safety in the group. An essential tool for any servant leader!
  9. WentWell-Learned-Accelerators-Impediments – method to show what went well, what the team learned, which impediments were discovered, and what accelerators were implemented during the sprint.
Azure DevOps retrospective creation

Create a retrospective wizard

The tool is used in four distinct phases:

  • Collect – each team member submits one tile per column.
  • Group – drag and drop items to group them together. This identifies themes or common sentiment from different team members.
  • Vote – team members vote on which items should be improved upon during the next sprint. What is the most pressing issue to take action on?
  • Act – create the product backlog item or impediments based on the voting phase by using the context menu to create work items of whatever type your team leverages.
Azure DevOps retrospective simulation

Retrospective simulation

Estimate – Microsoft DevLabs

Next, I’d like to take a look at an extension our Scrum teams use frequently here at Predica. It’s the Estimate extension. As with the last tool, this one extends the functionality of Azure Boards.

The purpose of this web part is to help a team estimate work during sprint planning.

Just as Retrospectives help us to inspect and adapt, Estimate planning helps teams to transparently come to an agreement, and plan on what will be accepted into, and delivered in the coming sprint.

Azure DevOps new session creation

Create an estimation session

The Estimate extension contains four kinds of estimation cards to support the estimate strategy that your team uses today.

Generally, agile teams avoid estimating tasks based on time – there is a better way to evaluate and “right size” work, such as T-shirt sizes or Fibonacci size.

The idea is to define the smallest part of work and assign it to the lower value, like XS (extra small) or 1. This Product backlog item is a reference point during planning.

Estimate is an online and real-time web part that allows each team member to vote simultaneously on the same product backlog item without influencing one another.

After voting on a backlog item, the team can then discuss and approve the proposed estimate or modify it as required. The estimate will automatically be added to the backlog item.

Azure DevOps estimates board

Estimate board with the first Product Backlog Item

Code Search

Many times, I’ve needed to check something within the code I am working on, but I would prefer not to download the full solution to my local environment. Thankfully, I have the option to use Code Search.

This simple but powerful tool offers many benefits and improves my productivity. Code Search will scan across the entire organization’s repositories, creating indexes with the code to search.

The extension not only searches by name, but also checks all references and implementations of the criteria we are looking for.

Azure DevOps code search extention

Code search

Inside the search results, you will obviously see the source code. More importantly, you will also see the history of changes in your selected file and a comparison between versions.

It’s extremely useful to find what has changed between versions or which line of code is related to a particular bug.

Azure DevOps code search results

Code Search results

Enjoying your read? Leave your email address to get the latest insights every two weeks. Subscribe

Pull Request Merge Conflict

We’ve discussed some wonderful functionalities that can be added to boards and search. As long as we are talking about code however, I would be remiss if I did not tell you about Pull Request Merge Conflict extension.

This tool has been the safety net that has saved me time after time.

As any developer will tell you, sometimes during the pull request, there are conflicts. Developers need to resolve the conflicts between their local copy and the copy of code that’s on the server.

Thanks to this plugin, every conflict can be resolved online on the Pull Request site.

Azure DevOps pull request conflict

Conflict during a pull request

Moreover, if our code contains an automated build during the pull request, you can easily verify that you didn’t break the code! How’s that for useful?

Azure DevOps resolve conflict

Resolve conflict in Pull request site

SonarQube

Finally, an extension or, to be fair, a product that I’d love to share with you, is SonarQube. More precisely, SonarCloud.

This product allows you to conduct static code analysis. Thus, your development team can ensure that they haven’t used any vulnerable components and that the code doesn’t have any security or code quality issues.

Furthermore, the SonarQube analysis is always run during the Pull Request so that every code review will have additional protection built in.

Azure DevOps and SonarQube integration

Integration SonarQube with Azure DevOps

SonarQube is a product where you can install on your server or connect to the Cloud (SonarCloud). During the Pull Request or Release, SonarQube fetches the source code and analyzes everything regarding security and quality.

When the scanning process completes, the status and report will be sent to Azure DevOps to review.

Static code analysis should be a part of every pull request to ensure that your solution will be more protected and stable.

Summary
So, there you have it! You now know the top 5 Azure DevOps extensions that I can share with you without any doubts as being the most time-saving and valuable tools in my toolbox.

In this list, I reviewed two extensions related to the Azure Boards and running projects. It only shows how good a platform is Azure DevOps for managing your products and projects.

Next, I showed you a better way to perform searches within your code across all projects and repositories.

And finally, I shared two great extensions to keep our code clean, secure, and stable when performing a pull request.

The next post will dig further into the best extensions we’ve found worth using at Predica, but with a focus on GitHub. See you then!

Key takeaways:

  1. My recommended 5 extensions for Azure DevOps are: Retrospective, Estimate, Code Search, Pull Request Code Merge, and SonarQube.
  2. You can download them from the Visual Studio Marketplace or, in case of SonarQube, directly from the product website.
  3. With extensions, you can help your team work more efficiently, even when they’re distributed across locations and time zones.

Interested in Azure DevOps and GitHub?