What Is Devops? Get The Right Tools!

Azure DevOps Services

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.

Key points:

  • What are some of the best DevOps practices?
  • What is the Azure DevOps?
  • How can Azure DevOps help to manage the principles of the practice?
  • What are Boards, Repositories and Pipelines?


This article has been published on August 22, 2019. It has since been updated for better readability.


Culture is fundamental

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.

DevOps culture, practices and tools

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.

The key practices

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:

  • Application development teams use version control
  • Stakeholders actively participate in the development process
  • Deployment patterns for building applications and services are reusable
  • Automated testing is conducted
  • Applications are monitored
  • Source code is available for other teams
  • Solutions are built on a standard set of technologies.

What is Azure DevOps and what are its features?

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

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.

Azure Boards

Azure Boards

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

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.

Work items in Azure DevOps

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.

Work Items Filter

Filtering work items by state

Boards

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.

Kanban Boards in Azure DevOps

An example of Kanban Boards

You can also use filters to customize your view, for instance, to show work items from the current sprint.

Backlogs

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.

Product backlog in Azure DevOps

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.

Epics and Features in Azure DevOps

An example structure of a backlog

Sprints

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.

Sprints in Azure DevOps

Filtering items by sprints

Queries

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.

Queries in Azure DevOps

Defining a query in Azure DevOps

Queries provide an easy way to achieve the following:

  • Create a chart and add it to a dashboard
  • Review work that is in progress or recently closed
  • View a tree of parent-child related work items.

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.

Azure DevOps and Excel integration

Defining project steps in Excel

Sign up to our newsletter to get expert insights every two weeks! Subscribe

Azure Repos

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:

  • GIT
  • TFVS (Team Foundation Version Control).

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.

Azure Repos integrations

Possible integrations

Azure Pipelines

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.

Azure DevOps pipelines

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.

Release pipeline in Azure DevOps

An example deployment pipeline

More…

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.

Summary

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.

Key takeaways:

  1. DevOps is a great way to achieve the planned end result in the shortest time.
  2. 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.
  3. Azure Boards enable planning, tracking, and discussing work across the teams in the organization.
  4. Azure Repos can be interpreted as a set of tools that help managing source code.
  5. Continuous Integration and Delivery can be set up with Azure DevOps using Pipelines.