SoftwareOne logo

Top 5 Azure DevOps extensions

SoftwareOne blog editorial team
Blog Editorial Team
A set of metal balls hanging from strings on a gray background.

In our 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. Before we start, let's make sure we are speaking the same language. Here are a few terms we 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, we’ve combined extensions, plugins, and tools used by us at SoftwareOne, and then prioritised the top 5 extensions we find consistent value in. Let’s begin!

Retrospectives - Microsoft DevLabs

The first extension 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.

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.

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.

Estimate – Microsoft DevLabs

Next, let's take a look at an extension our Scrum teams use frequently here at SoftwareOne. 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.

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.

Code Search

Many times, you might need to check something within the code you're working on, but you might not want to download the full solution to your local environment. Thankfully, we have the option to use Code SearchThis simple but powerful tool offers many benefits and improves productivity. Code Search will scan across the entire organisation’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.

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.

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, we would be remiss if we did not tell you about Pull Request Merge Conflict extension. This tool has been the safety net that has saved us 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.

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?

SonarQube

Finally, an extension or, to be fair, a product that we’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.

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 we can share with you without any doubts as being the most time-saving and valuable tools in our toolbox. In this list, we 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, we showed you a better way to perform searches within your code across all projects and repositories. And finally, we 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 SoftwareOne, but with a focus on GitHub. See you then!

Author

SoftwareOne blog editorial team

Blog Editorial Team

We analyse the latest IT trends and industry-relevant innovations to keep you up-to-date with the latest technology.