Course Overview

This three-day "all up" course provides students with the knowledge and skills required to effectively use the Application Lifecycle Management (ALM) tools found in Visual Studio and Team Foundation Server. This includes the tools used to plan, track, design, develop, test, and deliver business value in the form of working software. The course will explain and demonstrate to developers, testers, product owners, project managers, architects, testers, and release managers the pertinent value of the various ALM features and capabilities.

Note: This course can be delivered using the Scrum, Agile, or CMMI process template.

Key Learning Areas

  • Visual Studio’s ALM tools and strategy
  • Visual Studio editions and capabilities
  • Team Foundation Server components/architecture
  • Visual Studio Team Services
  • Planning and creating team project collections
  • Planning and creating team projects
  • Selecting an appropriate process
  • Managing and securing a team project
  • Renaming and deleting team projects
  • Creating and querying work items
  • Using hierarchical backlogs (epics and features)
  • Creating and refining a product backlog
  • Obtaining stakeholder feeback
  • Conducting and tracking a code review
  • Understanding and using version control
  • Git and/or TFVC version control systems
  • Basic and advanced version control workflows
  • Labeling, shelving, branching, and merging
  • Writing and executing .NET unit tests
  • Using IntelliTest to generate unit tests
  • Using Live Unit Testing to only run impacted tests
  • Using code analysis and code metrics
  • Using code clone analysis to find duplicate code
  • Using IntelliTrace to troubleshoot and diagnose
  • Using Performance Profiler
  • Web-based test case management
  • Planning, creating, and executing manual/UI tests
  • Planning and running manual tests from the web
  • Using coded UI tests to automate UI testing
  • Testing web applications
  • Load and performance testing
  • Configuring and running an automated build
  • Installing and configuring a build agent
  • Automating the building and testing of a project
  • Release Management
  • Relevant Visual Studio Marketplace extensions

Course Outline

Introduction to Visual Studio ALM

  • Application Lifecycle Management overview
  • Visual Studio ALM tools
  • Team Foundation Server overview
  • Features and capabilities by edition and role

Team Projects

  • The Project Administrator role
  • Team project collections and team projects
  • Creating a team project
  • Configuring a managing a team project
  • Renaming and deleting a team project

Planning and Managing Work

  • Selecting a process
  • Work item types, categories, and hierarchies
  • Creating and managing work items
  • Using tags to categorize work items
  • Querying, charting, and reporting work items
  • Managing a product backlog and sprint backlog

Version Control

  • Git version control system overview
  • TFVC version control system overview
  • Integration with Visual Studio
  • Setting up and configuring version control
  • Basic and advanced work flows
  • Branching and merging
  • Managing and resolving conflicts

Collaborating as a Team

  • Using the My Work window
  • Suspending and resuming work
  • Shelving and unshelving changes
  • Creating storyboards in PowerPoint
  • Reviewing code in Visual Studio
  • Providing feedback using the Feedback Client
  • Collaborating in a Team Room

Writing Quality Code

  • Identifying and reducing technical debt
  • Unit testing and code coverage
  • Using IntelliTest to generate unit tests
  • Using Live Unit Testing to run impacted tests
  • Test-Driven Development (TDD) overview
  • Code analysis and code metrics
  • Code clone analysis
  • Application profiling
  • IntelliTrace
  • CodeLens

Testing the Application

  • Visual Studio test types
  • Test case management
  • Manual tests
  • Web performance tests
  • Load tests
  • Exploratory tests

Build Automation

  • Team Build overview
  • Build agents and types of builds
  • Creating and managing a build definition
  • Running testes as part of the build
  • Continuous Integration (CI)

Improving DevOps

  • Release Management overview
  • DevOps overview and goals
  • Improving delivery frequency
  • Configuring environments and release fefinitions
  • Creating and deploying a release
  • Continuous Delivery (CD)

Contact us for older versions or customizations.

Who Benefits

This course is intended for current software development professionals who are involved in building applications with Visual Studio. Regardless of the student’s role, he or she will be able to learn and get hands-on experience with all of the pertinent ALM features of Visual Studio.

Prerequisites

Before attending this course, a student should have experience working on a software development team and be familiar with that team’s ALM processes, practices, and tools. Additionally, students should:

  • Have familiarity with their development process
  • Have used Visual Studio 2013, 2015, or 2017
  • Have familiarity with distributed application design
  • Be able to read and understand requirements
  • Be able to read and understand C# .NET code (all source code will be provided)
  • Understand the Microsoft Windows operating system and security basics