50253: Mastering Microsoft Visual Studio Team System
Three daysInstructor-led

About this Course
This three-day instructor-led course provides students with the
knowledge and skills to develop applications as a team using Microsoft
Visual Studio Team System. This course focuses on software process as
well as tools provided by Team System to increase development team
productivity and visibility.
The course discusses frameworks and methodologies for planning client
management solutions and enables students to deliver Proof-of-Concept
engagements using Client Management Suite.
Audience Profile
This course is intended for both novice and experienced developers,
testers, project managers, business analysts, architects, and IT
management who have a minimum of 1 year developing software in a team
environment.
At Course Completion
After completing this course, students will be able to:
Use the basic functions of both client and server tools in Team
System.
Effectively work as a team through enhanced collaboration between
traditionally isolated groups architecture, development, test, and
release.
Improve individual productivity in areas of project management,
requirements management, software configuration management, and quality
management.
Make projects visible to management, enabling informed decision
making.
Prerequisites
Before attending this course, students must have:
Developers should have 1 year experience in .NET development and
have experience using a version control system.
Project Managers should have 1 year of hands on project management
experience.
Business Analysts should have 1 year of requirements definition and
management experience.
Testers should be versed in manual testing techniques, and are best
equipped with knowledge of .NET and C#.
Course Outline
Module 1: Overview
This module explains Application Lifecycle Management (ALM), the
business case for ALM, and how Visual Studio Team System supports ALM.
Lessons
The Business Case for ALM
Explanation of ALM Scope
How Team System Supports ALM
Module 2: Project Management
This module explains how Team Foundation Server can be used to gain
visibility into a project and manage change and customer expectations.
Lessons
Project Management Responsibilities
Traditional Issues
How Team System Can Help
Defining Your Project Management Approach
Governance
Compliance
Metrics
Lab : Managing a project in TFS
Create project requirements and tasks in TFS
Create areas and iterations in TFS
Create work item queries
Work item check in policy
After completing this module, students will be able to:
Understand how fundamental Project Management techniques can be
applied using Team Foundation Server.
Select a Process Template that best suits their needs.
Module 3: Requirements
This module explains how to requirements can be defined and managed
through their lifecycle using Team System.
Lessons
The Requirements Lifecycle
Flavors of Representation
Managing Requirements
Lab : Requirements Definition & Management in Team System
Compare process templates
Project monitoring via requirements
Requirement change tracking and compliance
Requirement visualization
Requirement linking
After completing this module, students will be able to:
Create requirements in TFS.
Link requirements to associated work items.
Report on the status of requirements.
Module 4: Source Control
This module explains how to use version control features of team
foundation server.
Lessons
Shared vs. Exclusive Checkout
Shelving
Locking
Labeling
Conflict Resolution
Branching & Merging
Promotion Modeling
Security
Lab : Version Control in TFS
Add a project to TFS
Use shelving, locking, and labeling
Resolve a conflict
Secure files and folders in TFS
Branch & merge files
After completing this module, students will be able to:
How to add, edit, delete files in TFS.
Design an appropriate branching strategy.
Move code between environments.
Security sensitive code.
Module 5: Team Build
This module explains how to build software solutions centrally on TFS
using Team Build. This allows teams to support methods like continuous
integration and automated deployment to environments.
Lessons
Team Build Overview
Team Build Setup
Build Script Customization
Extending Team Build
Community Build Tasks
Lab : Building solutions in TFS
Create a build script
Configure continuous integration
Setup tests to run during build
Automatically deploy application being built
Develop custom task and use it in build
Review and use Community build tasks
After completing this module, students will be able to:
Create and configure a build script.
Set up automated deployment of solutions.
Create extensions to Team Build to perform customized operations.
Module 6: Project Reporting
This module explains how to use the reporting capabilities of TFS. We
will look at the differences between the MSF for Agile and MSF for CMMI
template, as well as review a few Community Templates like Scrum for
Team System and the Microsoft Process Template.
Lessons
Overview of the Reporting Architecture
Explanation of What Reports are Communicating
Basics of Consuming Reports
How to Get Reports Working Properly
Dynamic Reporting with Excel
Lab : How to use TFS Reports
Viewing reports
Exporting reports
Create an ad hoc report in Excel
After completing this module, students will be able to:
Understand of data is needed for the reports to be meaningful.
Understand how to interpret reports.
Create on demand reports with ease using Excel.
Understand the reporting capability of 4 major Process Templates.
Module 7: Visual Studio Developer Edition
This module explains how to use features found in Visual Studio
Developer Edition including Static Code Analysis, Unit Testing, Code
Metrics, and Profiling.
Lessons
Overview of Dev Challenges
Performance Challenges and Dev Edition Solutions
Team Work Challenges and Dev Edition Solutions
Maintainability Challenges and Dev Edition Solutions
Quality Challenges and Dev Edition Solutions
Productivity Challenges and Dev Edition Solutions
Visibility Challenges and Dev Edition Solutions
Lab : Developer Edition
Unit testing
Profiling an application
Finding security flaws with Static Code Analysis
Getting bug feedback quickly with Continuous Integration
Using Code Metrics to enhance maintainability
Prevent mistakes before checking in with Check-in Policies
Code review with work items
After completing this module, students will be able to:
Troubleshoot performance issues.
Build more maintainable and secure code libraries.
Collaborate with peers better.
Module 8: Visual Studio Test Edition
This module explains how to automate test cases, manage execution of
tests, and unify the reporting of test results coming from both the dev
and test teams.
Lessons
How Test Edition Supports the Application Lifecycle
Test Automation
Test Management
Test Reporting
Lab : Test Management with Test Edition
Organize tests for execution
Signal when software is ready for test
Associate test results with a particular build
Managing manual tests
Consolidate test results
Lab : Test Automation with Test Edition
Automate a web page test
Create a load test
After completing this module, students will be able to:
Manage both automated and manual test execution.
Leverage reporting to understand current quality of application.
Automate tests for web applications.
Module 9: Visual Studio Database Edition
This module explains how to manage change in a database schema using TFS
and Visual Studio Database Edition.
Lessons
Database Edition Conceptual Overview
Database Development Lifecycle
Project System Overview
Making Database Changes with Visual Studio
Build and Deploy
Database Testing
Lab : Managing Database Schema Change
Project setup
Change schema
Compare schema
Lab : Testing and Deploying the Database
Deploy a database
Create test data
Create database unit tests
Configure build script to run database unit tests
After completing this module, students will be able to:
Use TFS to version control database schema changes.
Create database unit tests.
Automate the deployment and testing of a database.