How to manage feature flags in ASP.NET Core apps with Azure?
No matter how simple or complex an application is, choosing the right configuration provider right at the start will mak...
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.
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:
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!
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.
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:
The tool is used in four distinct phases:
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.
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.
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.
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.
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.
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?
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.
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.
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!
Read similar articles