Course #:TP2802

Continuous Delivery using Azure DevOps Services Training

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.

Audience

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 evaluate several extensions from the Azure DevOps Marketplace. Those who use Azure DevOps Server (Team Foundation Server) will also benefit from this course.

Prerequisites

Attendees should be familiar with C#, Visual Studio, Scrum, and have basic experience with Azure DevOps Services or Azure DevOps Server.

Duration

Two days

Outline of Continuous Delivery using Azure DevOps Services Training

Chapter 1: Increasing Flow at Scale

  • The complexity of software development
  • The need for empirical process control
  • Increasing flow through a technical value stream
  • Scrum and Professional Scrum
  • The Nexus scaled Scrum framework
  • Practices for organizing teams
  • Establishing feature teams to minimize dependencies

Chapter 2: Planning and Executing at Scale

  • Organizing and refining the Product Backlog
  • Creating a definition of “Ready”
  • Dependencies, types, and related risks
  • Cross-team refinement to identify dependencies
  • Planning and executing a Sprint
  • Limiting work in progress (WIP)
  • Working in small batches
  • Creating and obeying a definition of “Done”
  • Using queries, charts, and dashboards for reporting

Chapter 3: Sharing Code

  • Working collaboratively as a team
  • Collective ownership mindset
  • Git version control workflow (optional)
  • Branching strategies and related side effects
  • Using Code Maps to visualize code dependencies
  • Using Package Management to share binaries
  • Adopting an internal open source model

Chapter 4: Integrating Continuously

  • Why and how to create fast feedback loops
  • The importance of automated testing
  • Unit testing in Visual Studio
  • Automated builds in Azure Pipelines
  • Build definitions and build tasks
  • Cloning and managing build definitions
  • Hosted build agents and agent pools
  • Running tests during an automated build
  • Code coverage and regression testing
  • Configuring and using Test Impact Analysis
  • Continuous Integration (CI) and CI+

Chapter 5: Delivering Continuously

  • Azure Pipelines deployment
  • Release definitions, environments, and releases
  • Deployment targets, IaaS, PaaS, containers
  • Using Microsoft Azure for DevOps
  • Configuring endpoints and deployment groups
  • Automated deployment to an Azure Virtual Machine
  • Installing and configuring Azure Pipelines agents
  • Release tasks and phases
  • Creating and deploying a release
  • Infrastructure as Code
  • Creating and importing YAML builds
  • Automatic creation of environments
  • Azure Resource Manager and ARM templates
  • Release and environment triggers
  • Continuous Delivery (CD)

Chapter 6: Empowering the Product Owner

  • Build-Measure-Learn explained
  • Hypothesis-Driven Development (HDD)
  • Customizing Azure DevOps to implement HDD
  • Feature flags overview
  • Using LaunchDarkly to manage feature flags
  • Telemetry and application performance management
  • Application Insights for gathering telemetry
  • A/B testing
  • Using feature flags to support A/B testing
  • Exploratory testing, testing “tours” practice
  • Using the Microsoft Test and Feedback extension
  • Understanding and identifying technical debt
  • Using SonarQube to gauge your technical debt
  • Practices for paying off technical debt

Chapter 7: Learning and Improving Continuously

  • Building a culture of learning and improvement
  • Agile metrics and reporting
  • Communities of Practice (COPs)
  • Lean thinking and practices to eliminate waste
  • Using the wiki to build tribal knowledge
We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.