DevOps: Continuous Delivery Using Visual Studio Team Services

2 Day Course
Hands On
Code QACDVSTS

This course has been retired. Please view currently available DevOps.

Modules

Hide all

Module 1: Increasing Flow at Scale (7 topics)

  • 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

Module 2: Planning and Executing at Scale (9 topics)

  • 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

Module 3: Sharing Code (7 topics)

  • 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

Module 4: Integrating Continuously (11 topics)

  • Why and how to create fast feedback loops
  • The importance of automated testing
  • Unit testing in Visual Studio
  • Automated builds in VSTS
  • 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+

Module 5: Delivering Continuously (15 topics)

  • VSTS Release Management
  • 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 VSTS 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)

Module 6: Empowering the Product Owner (14 topics)

  • Build-Measure-Learn explained
  • Hypothesis-Driven Development (HDD)
  • Customizing VSTS 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

Module 7: Learning and Improving Continuously (5 topics)

  • Building a culture of learning and improvement
  • Agile metrics and reporting
  • Communities of Practice (COPs)
  • Lean thinking and practices to eliminate waste
  • Using the VSTS wiki to build tribal knowledge

Prerequisites

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

Course PDF

Print

Sections