Overview

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.

Target 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. Attendees should be familiar with C#, Visual Studio, Scrum, and have basic experience with Azure DevOps Services or Azure DevOps Server.

Read more

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.

Read more

Learning Outcomes

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
  • Using 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 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 to measure your technical debt
  • Building a culture of learning and improvement
  • Agile metrics and reporting
  • Communities of Practice (COPs)
  • Recording learnings in the wiki for transparency
Read more

Course Outline

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 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+

Module 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)

Module 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

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 wiki to build tribal knowledge
Read more

Why choose QA

Dates & Locations

Frequently asked questions

See all of our FAQs

How can I create an account on myQA.com?

There are a number of ways to create an account. If you are a self-funder, simply select the "Create account" option on the login page.

If you have been booked onto a course by your company, you will receive a confirmation email. From this email, select "Sign into myQA" and you will be taken to the "Create account" page. Complete all of the details and select "Create account".

If you have the booking number you can also go here and select the "I have a booking number" option. Enter the booking reference and your surname. If the details match, you will be taken to the "Create account" page from where you can enter your details and confirm your account.

Find more answers to frequently asked questions in our FAQs: Bookings & Cancellations page.

How do QA’s virtual classroom courses work?

Our virtual classroom courses allow you to access award-winning classroom training, without leaving your home or office. Our learning professionals are specially trained on how to interact with remote attendees and our remote labs ensure all participants can take part in hands-on exercises wherever they are.

We use the WebEx video conferencing platform by Cisco. Before you book, check that you meet the WebEx system requirements and run a test meeting (more details in the link below) to ensure the software is compatible with your firewall settings. If it doesn’t work, try adjusting your settings or contact your IT department about permitting the website.

Learn more about our Virtual Classrooms.

How do QA’s online courses work?

QA online courses, also commonly known as distance learning courses or elearning courses, take the form of interactive software designed for individual learning, but you will also have access to full support from our subject-matter experts for the duration of your course. When you book a QA online learning course you will receive immediate access to it through our e-learning platform and you can start to learn straight away, from any compatible device. Access to the online learning platform is valid for one year from the booking date.

All courses are built around case studies and presented in an engaging format, which includes storytelling elements, video, audio and humour. Every case study is supported by sample documents and a collection of Knowledge Nuggets that provide more in-depth detail on the wider processes.

Learn more about QA’s online courses.

When will I receive my joining instructions?

Joining instructions for QA courses are sent two weeks prior to the course start date, or immediately if the booking is confirmed within this timeframe. For course bookings made via QA but delivered by a third-party supplier, joining instructions are sent to attendees prior to the training course, but timescales vary depending on each supplier’s terms. Read more FAQs.

When will I receive my certificate?

Certificates of Achievement are issued at the end the course, either as a hard copy or via email. Read more here.

Contact Us

Please contact us for more information