Discovering Azure DevOps services
In this section, we are going to introduce the different services that are offered by Azure DevOps. These services can be used to support teams throughout the whole life cycle of realizing business value for customers.
Azure Boards
Azure Boards can be used to plan, track, and discuss work across teams using the Agile planning tools that are available. Using Azure Boards, teams can manage their software projects. It also offers a unique set of capabilities, including native support for Scrum and Kanban. You can also create customizable dashboards, and it offers integrated reporting and integration with Microsoft Teams and Slack.
You can create and track user stories, backlog items, tasks, features, and bugs that are associated with the project using Azure Boards.
The following screenshot shows an example of an Azure Board:

Figure 1.4 – Azure Boards
Azure Repos
Azure Repos provides support for private Git repository hosting and for Team Foundation Server Control (TFSC). It offers a set of version control tools that can be used to manage the source code of every development project, large or small. When you edit the code, you ask the source control system to create a snapshot of the files. This snapshot is saved permanently so that it can be recalled later if needed.
Today, Git is the most used version control system among developers. Azure Repos offers standard Git so that developers can use the tools and clients of their choice, such as Git for Windows, Mac, third-party Git services, and tools such as Visual Studio and Visual Studio Code.
The following screenshot shows an example of the commits you can push to a repo in Azure:

Figure 1.5 – Azure Repos
Azure Pipelines
You can use Azure Pipelines to automatically build, test, and deploy code to make it available to other users and deploy it to different targets, such as a development, test, acceptance, and production (DTAP) environment. It combines CI/CD to automatically build and deploy your code.
Before you can use Azure Pipelines, you should put your code in a version control system, such as Azure Repos. Azure Pipelines can integrate with a number of version control systems, such as Azure Repos, Git, TFVS, GitHub, GitHub Enterprise, Subversion, and Bitbucket Cloud. You can also use Pipelines with most application types, such as Java, JavaScript, Node.js, Python, .NET, C++, Go, PHP, and XCode. Applications can be deployed to multiple target environments, including container registries, virtual machines, Azure services, or any on-premises or cloud target.
The following screenshot shows an example of a run for an Azure Pipeline:

Figure 1.6 – Azure Pipelines
Azure Test Plans
With Azure Test Plans, teams can improve their code quality using planned and exploratory services in Azure DevOps. Azure Test Plans offer features for planned manual testing, exploratory testing, user acceptance testing, and for gathering feedback from stakeholders. With manual testing, tests are organized into test plans and test suites by testers and test leads. Teams can begin testing from their Kanban boards or from the Work Hub directly. With user acceptance testing, the value that's delivered to meet customer requirements is verified. This is usually done by designated testers. Exploratory testing includes tests that are executed by the whole development team, including developers, product owners, and testers. The software is tested by exploring the software systems, without the use of test plans or test suites. Stakeholder feedback gathering is done outside the development team by marketing or sales teams. Developers can request feedback on their user stories and features from Azure DevOps. Stakeholders can then respond directly to the feedback item.
The following screenshot shows an example of an Azure Test Plan:

Figure 1.7 – Azure Test Plan
Azure Artifacts
With Azure Artifacts, you can create and share NuGet, npm, Python, and Maven packages from private and public sources with teams in Azure DevOps. These packages can be used in source code and can be made available to the CI/CD pipelines. With Azure Artifacts, you can create multiple feeds that you can use to organize and control access to the packages.
The following screenshot shows an example of a feed in Azure Artifacts:

Figure 1.8 – Azure Artifacts
Extension Marketplace
You can download extensions for Azure DevOps from the Visual Studio Marketplace. These extensions are simple add-ons that can be used to customize and extend your team's experience with Azure DevOps. They can help by extending the planning and tracking of work items, code testing and tracking, pipeline build and release flows, and collaboration among team members. The extensions are created by Microsoft and the community.
The following screenshot shows some of the extensions that can be downloaded from the marketplace:

Figure 1.9 – Extension Marketplace
The services that we introduced in the previous sections will be explained more thoroughly in the upcoming chapters of this book. In the next section, we will introduce the scenarios that will be used throughout this book.