AT-CDVSTS - Continuous Delivery Using Visual Studio Team Services

This two-day course provides students with the DevOps theory 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.
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 Visual Studio Team Services, Visual Studio, and Azure in order to continually deliver working software at scale. Students will also install and evaluate several extensions from the VSTS Marketplace. Attendees who use the current version Team Foundation Server can also benefit from this course. Attendees should be familiar with C#, Visual Studio, Scrum, and have basic experience with Visual Studio Team Services or Team Foundation Server.

Student Testimonials

Instructor did a great job, from experience this subject can be a bit dry to teach but he was able to keep it very engaging and made it much easier to focus. Student
Excellent presentation skills, subject matter knowledge, and command of the environment. Student
Instructor was outstanding. Knowledgeable, presented well, and class timing was perfect. Student

Click here to print this page »

Prerequisites

Detailed Class Syllabus


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
Various ways to organize 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 impacts
Using Code Maps to visualize code dependencies
Using Package Management to manage dependencies
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, 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)
Adding HDD support to VSTS
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
Using the Microsoft Test and Feedback extension
Understanding and identifying Technical Debt
Using SonarQube to gauge your technical debt
How to get out of Technical Debt

Module 7: Learning and Improving Continuously


Building a culture of learning and improvement
Agile metrics and reporting
Communities of Practice
Lean Thinking and eliminating waste
Using the VSTS wiki to build tribal knowledge