0345 4506120

DevOps: Continuous Delivery Using Visual Studio Team 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.

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 shared VSTS and Azure environments. All code will be provided.

Who Should Attend

This course is intended for experienced software development professionals who want to learn about DevOps in

Learning 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 a shared VSTS 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 VSTS 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 VSTS to plan and execute a Sprint
  •   Creating and abiding-by a definition of “Done”
  •   Reporting data via queries, charts, and widgets
  •   Using VSTS dashboards as information radiators
  •   Collaborating as a cross-functional team
  •   The collective ownership mindset
  •   Git version control primer and workflows
  •   Branching strategies and potential side effects
  •   Visualizing and managing code dependencies
  •   Adopting an internal open source model
  •   Creating fast feedback loops
  •   Automated testing in Visual Studio and VSTS
  •   Writing and running unit tests in Visual Studio
  •   Creating and managing automated builds in VSTS
  •   Installing and configuring VSTS agents and pools
  •   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 VSTS Release Management (RM)
  •   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 VSTS 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 to measure your technical debt
  •   Building a culture of learning and improvement
  •   Agile metrics and reporting
  •   Communities of Practice (COPs)
  •   Using the VSTS wiki to record learnings

Course Content

Module 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

Module 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

Module 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

Module 4: Integrating Continuously

  •   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

  •   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

  •   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

  •   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

Privacy Notice

In order to provide you with the service requested we will need to retain and use your contact information in accordance with our Privacy Notice. If you choose to provide us with this information you explicitly consent to us using the information as necessary to provide the request service to you. If you do not agree please do not proceed to request the service from us.

Marketing Permissions

Would you like to receive our newsletter and other information on products and services which we think will be of interest to you by email. We will always treat your information with care and in accordance with our Privacy Notice. You are free to withdraw this permission at any time.

 

Online Courses

You may prefer an online course if you are looking for a flexible and cost-effective solution. Online courses allow you to study at your own pace, at a time that suits you.

We have the following eLearning options available:

Virtual Classroom

Virtual classrooms provide all the benefits of attending a classroom course without the need to arrange travel and accomodation. Please note that virtual courses are attended in real-time, commencing on a specified date.

Virtual Course Dates

Our Customers Include