Overview of Azure DevOps

Azure DevOps is a platform to manage the entire lifecycle of software development. As the name suggests, Azure DevOps supports the DevOps methodology offering a highly integrated experience between requirement collection, implementation, deployment, validation, and release.

Services

Azure DevOps is composed of several services. Each project can use one or more services and each service can be tailored for specific needs. The DevOps methodology identifies eight phases, but Azure DevOps only supports some of them.

Service: Overview

The overview service shows a summary of the project with an extensible dashboard to visualize the current state of the development. The dashboard offers a simple overview and it can support project managers, product owners, or stakeholders with limited technical experience. There is a wiki that can be used to create documentation by functional analysts to build a knowledge base. This service is not specifically designed to support DevOps.

Service: Boards

The board’s service helps to track the advancements of single-user stories, and it corresponds to the planning phase of DevOps. It offers a Backlog, a Kanban board, a planner for Scrum sprints, and functions to get overviews. Developers, project managers, and product owners can add tickets and track the development through customizable swimlanes. The board is also integrated with the other services to simplify requirement traceability. It is possible to create branches and entries in the test plan, for example.

Service: Repository

The repository service supports the coding phase of DevOps. It offers a Git repository with functions to manage pull requests, branches, tags, and inspect the source code. It is worth mentioning that Azure DevOps can also fetch the source code from other players in the market, such as Github or Bitbucket.

Service: Pipeline

The pipeline service is arguably the main service of the platform. It supports the building, releasing, and deploying phases, and partially also the testing phase via test automation. It can be used to automate actions on the code. There are built-in functions to build the code, run automated tests, calculate metrics, distribute packages, and perform deployments. The pipelines can be extended with plugins. It is possible to create custom plugins for highly customized operations and integrate third-party services such as Sonarcloud.

Service: Test plan

This section can be used to organize, describe, and track the execution of tests on the software. It supports the testing phase of DevOps.

Service: Artifact

The Artifact service is an artifact manager. Artifacts can be created by pipelines and shared across different projects developed by different teams. This is in support of the releasing phase.

Interaction

All services are deeply integrated and help to create a continuous flow between team members with different roles. The integration allows for a consistent experience, reporting, and traceability. For example, an analyst can create a user story in Boards. From Boards, a tester describes a test, while a developer creates a branch in the Repository. The branch is pulled by Pipeline that builds, validates, and publishes the artifact on the Artifacts service.