Azure DevOps is a collection of tools, services, and features that can assist teams in the planning, development, delivery, and maintenance of software. It is intended to be flexible and adaptable, and it can be used by teams of any size and in a variety of industries. Let’s look at what it can do here:
- Planning: Azure DevOps includes a variety of tools and features to assist teams in planning and tracking their work. Work item tracking, which allows teams to capture and prioritize their work, and Kanban boards, which provide a visual representation of work in progress, are examples of such features.
- Development: Azure DevOps also includes tools and features to assist teams in developing software. This includes features such as version control, which enables teams to manage and track changes to their code, and continuous integration, which enables teams to build and test their code automatically.
- Delivery: Azure DevOps also has features that can assist teams with software delivery. This includes features such as release management, which allows teams to automate software deployment, and testing tools, which assist teams in ensuring the quality of their software.
- Maintenance: Azure DevOps includes a number of tools to assist teams with software maintenance. This includes features such as monitoring and logging, which allow teams to track the performance and usage of their software, as well as analytics tools, which assist teams in understanding how their software is used.
Now let us take a deeper look at some of the specific Azure DevOps tools:
- Azure Boards: a work tracking system that assists teams in planning, tracking, and discussing work throughout the development process.
- Azure Repos: a version control system that assists teams in managing and tracking code changes.
- Azure Test Plans: a testing tool that assists teams in planning, tracking, and managing testing efforts.
- Azure Artifacts: a package management service that assists teams in sharing and consuming packages across their organization.
- Azure Pipelines: a continuous integration and delivery service that assists teams in developing, testing, and deploying code.
Azure DevOps also includes integrations with a wide range of other tools and services. It has integrations with popular tools such as GitHub, Jenkins, and Slack as well as integrations with Azure services such as Azure Functions, Azure Container Instances, and Azure Virtual Machines.
Azure DevOps Boards
Azure Boards is a work tracking system included in the Azure DevOps toolkit. It assists teams in planning, tracking, and discussing work throughout the development process. Team members can use Azure Boards to create and prioritize work items, assign them to team members, and track their progress. Much like you can do in Atlassian’s Jira.
Using Azure Boards the team can create Kanban boards, which provide a visual representation of work in progress, as well as sprint boards for working with Scrum. Azure Boards also includes reporting and analytics features that help teams understand their work and make data-driven decisions.
Azure DevOps Repos
Azure Repos is a version control system included in the Azure DevOps toolkit. It assists teams in managing and tracking code changes, and it is designed to be flexible and adaptable to a wide range of development workflows. Most teams use Git these days, but Azure Repos also supports Team Foundation Version Control (TFVC).
Like the other tools in the suite, one of the big advantages of using Azure Repos is that it is completely integrated with the rest of the Azure DevOps platform. This means that teams can use Azure Repos alongside other tools and services such as Azure Boards and Azure Pipelines to create a unified end-to-end development experience. Azure Repos also includes a number of features and tools that can assist teams in managing and tracking their code, such as branch policies and pull requests.
Personally, I still find that GitHub is significantly better than Azure Repos. The features, and guides on how to use them, are just far more logically set up on GitHub than they are on Azure Repos. However, Azure Repos has been going through a lot of development over the last two years, and it is getting significantly better. For me, the main reason for picking Azure Repos over GitHub would be the strong integration to the test, artifacts and boards also found in Azure DevOps.
Azure Test Plans
Azure Test Plans is a testing tool included in the Azure DevOps toolkit. It is designed to be flexible and adaptable to a wide range of testing scenarios, and it assists teams in planning, tracking, and managing their testing efforts. Teams can use Azure Test Plans to create and manage manual and exploratory testing efforts, as well as automated tests.
Azure Test Plans also includes a number of features and tools that can assist teams in planning and tracking their testing efforts, such as test case management and testing reports.
Azure Artifacts is a package management service included in the Azure DevOps toolkit. It enables teams to share and consume packages across their organization, and it is designed to be adaptable to a wide range of package types and scenarios. Teams can use Azure Artifacts to create and manage packages, and they can choose from a variety of package types such as NuGet, Maven, and npm.
Azure Pipelines is a continuous integration and delivery (CI/CD) service. It assists teams in the development, testing, and deployment of code and is designed to be flexible and adaptable to a wide range of development scenarios. Teams can use Azure Pipelines to create automated workflows that build, test, and deploy their code, as well as choose from a variety of options for building, testing, and deploying their code, such as using containerized builds and deploying to a variety of platforms and environments.
Azure Pipelines also includes a number of features and tools that can assist teams with automating and streamlining their CI/CD processes, such as release management and deployment gates.
So in conclusion, the Azure DevOps suite of tools can help coordinate and structure the work of most development teams. It is however still “not quite there yet” when you compare it to Jira, GitHub, and others. But the advantage of having only one provider sometimes outweighs the disadvantages of not having the best tools.