Team Foundation Server Advanced Topics TFS2013A

Request a Quote for this class

About this Course

This two-day, instructor-led course dives deep into Team Foundation Server (TFS). Students will explore areas of process templates, template customization, advanced version control, parallel development, Team Foundation Build, extending Team Foundation Server, and a variety of preferred practices. This course provides students with the knowledge and skills to effectively understand, customize, and leverage these features and capabilities.

Audience Profile

This course is intended for students with a working-knowledge of Team Foundation Server or who have attended comparable training classes.

At Course Completion

At course completion, attendees will have had exposure to:

  • Process template architecture
  • Team Foundation Build architecture
  • Modifying a process template
  • Setting up a build controller and agent
  • Creating and altering work item types
  • Running tests during a build
  • Customizing TWA agile planning tools
  • Queuing a build in different ways
  • Using the process editor power tool
  • Implementing Continuous Integration
  • Creating and using global lists
  • Supporting code coverage and code analysis
  • Parallel development concepts and challenges
  • Using gated check-in builds and private builds
  • Parallel development support in TFS
  • Build security and build permissions
  • Branching and merging patterns and strategies
  • Team Foundation Build community projects
  • Selecting an appropriate branching strategy
  • Customizing a build process template
  • Version control workspace types and usage
  • Selecting and using a build workflow activity
  • Setting up and managing workspaces
  • Client and server object models
  • Using branch and merge commands
  • Extending work item tracking
  • Forward integration and reverse integration
  • Extending version control
  • Using shelve and unshelve commands
  • Creating a custom check-in policy
  • Detecting and resolving conflicts
  • Extending Team Foundation Build
  • Securing folders and files in version control
  • Using a custom Team Build workflow activity
  • Using the TF and TFPT command line utilities
  • Team Foundation Services
  • Installing and using the MSSCCI provider
  • Team Foundation Server eventing service
  • Using alternate compare and merge tools
  • People, process, and tools: preferred practices

Prerequisites

Before attending this course, a student should have experience using Team Foundation Server. Additionally, students should:

  • Have familiarity with their team’s software development process
  • Have experience with the types of conflicts that can arise from a multi-developer project
  • Have experience developing and supporting multiple versions of a software product
  • Be able to read and understand C# .NET code (all source code will be provided)
  • Have experience working with multiple developers on a software development team
  • Understand the Microsoft Windows operating system and security basics

Course Outline

Module 1: Process Template Customization

This module discusses process templates and the tools and techniques used to tailor them for a team’s specific needs.

Lessons:

  • Customizing vs. extending
  • Process template architecture
  • Modifying a process template
  • Customizing work item types
  • Using global lists
  • Customizing process guidance
  • Customizing Agile planning tools

Labs:

  • Explore an existing process template
  • Customize a process template
  • Customize a work item type
  • Modify Agile planning tools behavior
  • Create and use a global list
  • Use work item templates (optional)

Module 2: Managing Change During Parallel Development

This module offers an advanced discussion of Team Foundation Version Control, relating to multiple users working on code in the same team project.

Lessons:

  • Introduction to parallel development
  • Workspace and locking models
  • Branch, merge, shelve and unshelve
  • Branching patterns
  • Conflict detection and resolution
  • Securing folders and files
  • The TF.exe command line utility
  • TFS Power Tools

Labs:

  • Shelve and unshelve changes
  • Branch code and manage branches
  • Understand and resolve conflicts
  • Merge changes between branches
  • Secure artifacts under version control
  • Use an alternate merge tool (optional)
  • Use the MSSCCI provider (optional)

Module 3: Advanced Team Foundation Build

This module is a deep dive into Team Foundation Build, including a more technical look into the build process and how to customize it.

Lessons:

  • Team Foundation Build architecture
  • Automating and securing Team Build
  • Implementing Continuous Integration
  • Gated check-ins and private builds
  • Tagging build agents
  • Team Build community projects
  • Customizing build process templates
  • Team Foundation Build FAQ

Labs:

  • Configure Team Foundation Build
  • Override a build’s default behavior
  • Configure additional build agents
  • Configure a gated check-in build
  • Configure a private build
  • Customize the build process template
  • Install additional build activities

Module 4: Extending Team Foundation Server

This module explores the APIs that are available to developers wanting to extend TFS.

Lessons:

  • Extending Team Foundation Server
  • Relevant object models
  • Extending work item tracking
  • Extending version control
  • Extending Team Build
  • Team Foundation Services

Labs:

  • Extend work item tracking extensibility by creating a custom work item utility
  • Explore version control extensibility by creating a custom check-in policy
  • Explore TFS events by creating and registering a custom WCF application

Module 5: Preferred Practices

This module reviews many of the practices that TFS teams prefer to use.

Lessons:

  • Team projects, areas, iterations, work Item tracking, and licensing
  • Version control, branching, shared code, dependencies, and builds
  • Collaboration, productivity, code reviews, feedback, and getting done!