Continuous Delivery Using Azure DevOps Services

This two-day course provides students with the DevOps principles and related hands-on practices to 
work better as a team, scale their agility, share and integrate their work, and deliver working software 
continuously in order to enable faster delivery of value and receive early and valuable feedback.

Course Objectives

By the end of the course, students will have had exposure and hands-on experience with the following …

DevOps principles, benefits, and related practices

The Three Ways: flow, feedback, and learning

Technical excellence at scale

Working as a team in an Azure DevOps environment

Increasing flow through a technical value stream

Practices and mindset of a Professional Scrum Team

Scaled Professional Scrum (Nexus) framework

Identifying and eliminating dependencies

Minimizing dependencies through feature teams

Configuring Azure DevOps for product development

Planning work at scale: epics, features, user stories

Product Backlog Refinement benefits and practices

Creating a definition of “Ready”

Types of dependencies and the related risks

Cross-team refinement to mitigate dependencies

Working in small batches and limiting WIP

Using Azure Boards to plan and execute a Sprint

Creating and abiding-by a definition of “Done”

Reporting data via queries, charts, and widgets

Installing and using the Analytics extension and widgets

Using dashboards as information radiators

Collaborating as a cross-functional team

The collective ownership mindset

Git version control primer and workflows

Visualizing and managing code dependencies

Adopting an internal open source model

Creating fast feedback loops

Automated testing in Visual Studio and Azure Pipelines

Writing and running unit tests in Visual Studio

Creating and managing Azure Pipeline builds

Installing and configuring Azure Pipeline agents

Queuing and monitoring automated builds

Running automated tests as part of a build

Collecting code coverage information

Using Test Impact Analysis to improve performance

Continuous Integration (CI) and CI+

Using Azure Pipelines for deployment

Using Microsoft Azure for DevOps

Automated deployment to an Azure Virtual Machine

Creating and deploying a release

Infrastructure as Code (IaC)

Creating and importing YAML builds

Automatic creation of deployment environments

Azure Resource Manager and ARM templates

Continuous Delivery (CD) and using RM triggers

Hypothesis-Driven Development (HDD)

Customizing Azure DevOps to implement HDD

Using feature flags to manage feature availability

Telemetry and application performance management

Using feature flags to support A/B testing

Using LaunchDarkly and Application Insights for HDD

Exploratory testing, testing “tours” practice

Using the Microsoft Test and Feedback extension

Understanding, identifying, and avoiding technical debt

Using SonarQube/SonarCloud to gauge technical debt

Building a culture of learning and improvement

Agile metrics and reporting

Communities of Practice (COPs)

Recording learnings in the wiki for transparency

Who should take this class?

This course is intended for experienced software development professionals who want to learn about DevOps in order to achieve Continuous Integration, Continuous Delivery, Continuous Feedback, and Continuous Learning in a technical value stream as supported by Azure DevOps Services, Visual Studio, and Azure in order to continually deliver working software at scale. Students will also install and utilize several extensions from the Azure DevOps Marketplace. Teams using Azure DevOps Server (Team Foundation Server) will also benefit from this course. Attendees should be familiar with C#, Visual Studio, Scrum, and have basic experience with Azure DevOps Services or Azure DevOps Server.

Case Study

The course contains over 50 hands-on activities where students work as a team, a pair, or individually using the tools that reinforce the DevOps principles and practices they are learning. Students will self-organize into cross-functional, collocated teams and work collaboratively on a case study using a shared Azure DevOps environment. All code will be provided.