Step-by-Step Migration and Adoption Mark Michaelis Architect, Author, and Trainer Eric Lee Microsoft Product Manager Visual Studio 2005 Team Foundation Server
What to buy? CAL CAL + CAL + CAL +
Team Logical Architecture Custom reporting tools MS Exce MS Projectl Team Foundation Data Tier Version Control Proxy Report Client Team Foundation Client Tier Core Data Version Control Work Items Team Build Data SQL Reporting Services Windows SharePoint Services SQL Reporting Services Windows SharePoint Services Work Item Tracking Service Version Control Service Team Build Service Core Services Warehouse Adapters Team Foundation App Tier WSS Proxies SQL RS Proxies Team Foundation Object Model MS Excel Plug-in MS Project Plug-in Visual Studio Packages Internet Explorer Build Process Version Control Proxy Service Build Machine Used with permission from Microsoft
TFS Technical Architecture Servers may be clustered Server communication uses HTTP Build server needs LAN access (Remoting) as do some type of custom reports Upload file SOAP Request Download file
System Requirements Team Size ConfigurationMemoryCPU 100 Single Server 1GB 1P 3.4Ghz 2002GB Dual Server 1GB AT 4GB DT 1P 2.8Ghz AT 2P 2.7Ghz DT GB AT 16GB DT 2P 2.8Ghz AT 4P 2.7Ghz DT GB AT 32GB DT 2P 2.8Ghz AT 8P 2.8Ghz
Installation Steps Team Explorer connects clients to Team Foundation Server Team Explorer setup is located on the Team Foundation Server media Install Team Explorer on every client Team Explorer integrates into Visual Studio 2005
Team Projects Team Project Rules of Thumb Team Projects are BIG containers Think about creating 100/Team Foundation Server (no more than 200) Visual Studio > 1 Team Project Visual Studio ‘Orcas’ -> 1 Team Project Many ways of categorizing within a Team Project AreasIterationsSCM
Create a Team Project
Team Project Gotchas Hard to move work items between Team Projects Hard to move build types between Team Projects Backup and restore is at the Team Foundation Server level, not at the Team Project level Reporting across Team Projects requires customization
Version Control Out-of-the-box Migration Visual Source Safe History, comments, branches, etc are migrated VssConverter.exeClearQuest Migration Partner Solutions CVS/Subversion -> TFS Get-latest/release and check-in to Team Foundation Server is easiest
Version Control Structure Team Foundation Server supports many forms Easiest is to retain Visual Studio Solution structure Don’t worry; renaming and moving are fully supported operations Branching and merging enables most other scenarios
Alpha Beta V1.1 Branching Models A Suggestion - Branch by Purpose Branch for specific purposes (alpha, beta, etc) Development stays on the main line Main Development Branch and edit build types as well
Dev Promotion Modeling Developer ‘sandboxes’ High-degree of parallel development; good safe releasesBaselineQA ProductionPromote Promote
Branching, Merging and Promotion Modeling
Version Control Gotchas Sharing and pinning are not supported Concurrent check-out by default Limited offline support No keyword expansion No get latest on check-out TFS PowerToy for Rollback a changeset Merge on unshelve Command line only features Undo another user’s changes
Work Item Tracking Team Foundation Server can track: Bugs, Tasks, Test Results, Requirements, etc Work Items are EVERYWHERE Excel, Project and SharePoint Associated with Change sets Associated with Builds Rolled up into Reports Data schema – both storage and display – are highly customizable Work becomes visible, searchable and persistent Work Item Types are highly customizable
Work Items
Custom Work Item Types
Visual Studio Team System Testing Results associated with work items Code Coverage rolled into reports Test Case Management Run with Team Foundation Builds Check-in Policy Code Analysis Check-in Policy Run with Team Foundation Builds
Visual Studio Team System
Team Foundation Builds Regular team-wide builds are the pulse of a healthy team Don’t wait – do this from the beginning Create lots of build types Nightly/Weekly/Daily/Continuous Regression testing Long-haul testing Build machines don’t require additional licensing Use VPC’s for testing Use ‘cheap’ machines to balance the load
Team Foundation Build
Planning for Project Health Check Reporting doesn’t just happen Identify significant reports Manage data collection Real-time work item update Periodic updates to cube
Team Reporting
Fill out a session evaluation on CommNet and Win an XBOX 360!
Resources Technical Chats and Webcasts Microsoft Learning and Certification MSDN & TechNet Virtual Labs Newsgroups communities/newsgroups/en-us/default.aspx Technical Community Sites User Groups
Mark Michaelis & Eric Lee Enterprise Architect and Trainer Author of Essential C# 2.0 (AWL)
© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.