Last time, I described what DevOps is: a combination of cultural philosophies, practices and tools that improves an organization’s ability to deliver IT solutions and services.
In this article, we will take a look at Azure DevOps, a tool designed to help with putting it into practice.
This article has been published on August 22, 2019. It has since been updated for better readability.
In my previous articles, I mentioned that collaboration is one of the most important pillars of DevOps. Team interaction and collective input are absolutely crucial when working towards a desired common goal.
The key pillars of DevOps
It is also absolutely imperative that leadership teams evolve their culture to embrace DevOps and Agile approaches. This culture promotes traits like ownership, persistence, transparency, open communication, agility, risk-taking and empowerment. It’s no secret that as a result, employees who are both motivated and empowered do great work.
DevOps also is often described as a set of practices to follow to achieve a planned end-state in the shortest time possible. Here are just a few its best practices:
Adhering to best practices is much easier with the right tools. This is where Azure DevOps shines.
Microsoft Azure DevOps is a tool that provides developers with services to support teams to plan work, collaborate on code development, and build and deploy applications.
Azure DevOps logo
Registration in Azure DevOps is free, so everyone can start using it. Now, let’s go over some of the features that can help you apply and manage DevOps practices.
An example of an Azure Board
Azure Boards enable planning, tracking and discussing work across teams in an organization.
Under Azure Boards you will find a few interesting sub-sections. Here they are with brief explanations.
Work Items show tasks that you created, or ones that are assigned to you. This is where you will find work items assigned to specific teams within a project.
Examples of work items
These tasks can be filtered. You can easily filter by recently updated items or display only active items. I encourage you to read more about work items in the Azure DevOps.
Filtering work items by state
In the Boards section, you can configure your Kanban boards. They provide a visual space for you and your team to plan and show the progress of a project using work items displayed as cards.
An example of Kanban Boards
You can also use filters to customize your view, for instance, to show work items from the current sprint.
Once you have collected all the requirements for the project, you can proceed to building a product backlog. In the backlog you create the roadmap for what your team plans to deliver.
An example backlog
The product backlog provides product owners with insights into work performed by several agile feature teams. They can define high-level goals as Epics or Features. Development teams can break these down into user stories that they can prioritize and build in specific sprints.
An example structure of a backlog
If your team works in the Scrum methodology, you will find this part of Azure DevOps functionality very helpful. This is the place to plan the work for the development team within a specific time period. Of course, sprint length is configurable so it is possible to adjust it to your requirements.
Filtering items by sprints
The Queries tab provides an easy and fast way to filter work items. For instance, you can view all the tasks that are in progress in the current sprint using a query.
Defining a query in Azure DevOps
Queries provide an easy way to achieve the following:
As you can see, there are a lot of helpful features that Azure DevOps offers for tracking and managing the project progress.
It is important to note that if you work with Microsoft Project or Excel tools, you can easily integrate them with Azure DevOps. You can learn the integration steps by following this link.
Defining project steps in Excel
It’s always good practice to store source code in a version control system. I wrote about it in my previous article: “Application development teams use version control”.
DevOps offers two version control systems:
Azure Repos is a set of tools that helps to manage source code. It enables developers to collaborate on and review code. It also stores the entire change history of your code base, so it is easy to get a specific version if needed.
Team members can connect to the Azure Repos with different Integrated Development Environments (IDE) like Visual Studio or XCode.
Possible integrations
Continuous Integration and Delivery are also part of DevOps best practices. With Azure DevOps Pipelines, it is possible to set up automatic builds for different types of applications (like web or mobile). During the build phase, you can also apply additional verification, like a security scan, to detect vulnerabilities in source code.
An example build pipeline
Once application packages are ready to be deployed to the environment (development, QA or production), we can set up a release pipeline. You can choose which packages should be deployed to a given environment.
An example deployment pipeline
I only showcased the most popular and useful features available in Azure DevOps. Of course, there is so much more to this platform. For instance, we also have Test Plans that enable automated testing, manual testing, and bug reports.
There is also the Artifacts section, where a development team can share different packages (like NuGet) and set up continuous integration/continuous delivery with just a few clicks.
I encourage you to check out the full set of capabilities and start using this tool for free. You can get started by heading over to the registration page.
Managing DevOps best practices is much easier with the right tools. Azure DevOps is a great service with a broad list of capabilities. You can use it to create a product backlog, manage development teamwork and measure implementation progress. It integrates with version control systems to manage your code base changes, and easily revert when required.
Azure DevOps provides an easy way to configure continuous integration and delivery. You can quickly deploy your application to different environments.
Check out the next article, where I’m showing you what DevOps standardization looks like at Predica, and offering a few good tips of our own.
Read other similar articles