PROFESSIONAL
TEAM FOUNDATION SERVER 2012
INTRODUCTION . . . .xxvii
⊲ PART I
GETTING STARTED
CHAPTER 1 Introducing Team Foundation Server 2012 . . . 3CHAPTER 2 Planning a Deployment . . . .13
CHAPTER 3 Installation and Confi guration . . . 43
CHAPTER 4 Connecting to Team Foundation Server . . . 59
⊲ PART II
VERSION CONTROL
CHAPTER 5 Overview of Version Control . . . 83CHAPTER 6 Using Team Foundation Version Control . . . 95
CHAPTER 7 Ensuring Code Quality . . . .147
CHAPTER 8 Migration from Legacy Version Control Systems . . . .177
CHAPTER 9 Branching and Merging . . . 193
CHAPTER 10 Common Version Control Scenarios . . . 223
⊲ PART III PROJECT MANAGEMENT
CHAPTER 11 Introducing Work Item Tracking . . . 243CHAPTER 12 Customizing Process Templates . . . 273
CHAPTER 13 Managing Teams and Agile Planning Tools . . . 311
CHAPTER 14 Reporting and SharePoint Dashboards . . . 333
CHAPTER 15 Project Server Integration . . . 359
⊲ PART IV TEAM FOUNDATION BUILD
CHAPTER 16 Overview of Build Automation . . . 373CHAPTER 17 Using Team Foundation Build . . . 389
CHAPTER 18 Customizing the Build Process . . . 437
CHAPTER 21 Disaster Recovery . . . 549
CHAPTER 22 Security and Privileges . . . 575
CHAPTER 23 Monitoring Server Health and Performance . . . 599
CHAPTER 24 Testing and Lab Management . . . 627
CHAPTER 25 Upgrading from Earlier Versions . . . 657
CHAPTER 26 Working with Geographically Distributed Teams . . . 675
CHAPTER 27 Extending Team Foundation Server . . . 695
PROFESSIONAL
Team Foundation Server 2012
Ed Blankenship
M artin Woodward
Indianapolis, IN 46256 www.wiley.com
Copyright © 2013 by John Wiley & Sons, Inc., Indianapolis, Indiana
Published simultaneously in Canada
ISBN : 978-1-118-31409-8 ISBN : 978-1-118-43932-6 (ebk) ISBN : 978-1-118-60452-6 (ebk) ISBN : 978-1-118-60460 -1 (ebk)
M anufactured in the United States of America
10 9 8 7 6 5 4 3 2 1
N o part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or other wise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, M A 01923, (978) 750 -840 0, fax (978) 646 -860 0. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 R iver Street, H oboken, N J 07030, (201) 748-6011, fax (201) 748-60 08, or online at http://www.wiley.com/go/permissions.
Limit of Liability/ Disclaimer of Warranty: The publisher and the author make no representations or warranties with respect to the accuracy or completeness of the contents of this work and specifi cally disclaim all warranties, including without limitation warranties of fi tness for a particular purpose. N o warranty may be created or ex tended by sales or pro-motional materials. The advice and strategies contained herein may not be suitable for every situation. This work is sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional services. If professional assistance is required, the services of a competent professional person should be sought. N either the pub-lisher nor the author shall be liable for damages arising herefrom. The fact that an organization or Web site is referred to in this work as a citation and /or a potential source of further information does not mean that the author or the publisher endorses the information the organization or Web site may provide or recommendations it may make. Further, readers should be aware that Internet Web sites listed in this work may have changed or disappeared bet ween when this work was written and when it is read.
For general information on our other products and services please contact our Customer Care Department within the United States at (877) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-40 02 .
Wiley publishes in a variety of print and electronic formats and by print-on-demand. Some material included with standard print versions of this book may not be included in e-books or in print-on-demand. If this book refers to media such as a CD or DVD that is not included in the version you purchased, you may download this material at
http://booksupport.wiley.com. For more information about Wiley products, visit www.wiley.com.
Library of Congress Control N umber: 2012950503
To M om , D ad, N athan, T iffany, Z ach, D aniel, M ik e,
and G randm a, and to all those on the product team s
that m ak e this an am azing product that positively
im pacts so m any in the softw are engineering
com m unity.
—Ed Blankenship
To Catherine.
—Martin Woodward
To m y w ife, Em m a.
ABOUT THE AUTHORS
ED BLANKENSHIP works at M icrosoft as the program manager for the Lab and Environment M anagement scenarios of the Visual Studio ALM and Team Foundation Server product family. H is expertise with Team Foundation Server and Visual Studio ALM began with the beginnings of the product family nearly seven years ago.
Before joining M icrosoft, Ed was awarded as a M icrosoft M ost Valuable Professional (M VP) for fi ve years. H e was voted in 2010 as the M icrosoft M VP of the Year for Visual Studio ALM and T FS by his peers. Ed was also a T FS consultant and the ALM practice technical lead at Imaginet (formerly N otion Solutions). Prior to consulting, Ed was the Release Engineering M anager at Infragistics, where he led a multiyear Team Foundation Server and Visual Studio Team System implementation globally to improve the development process life cycle.
Ed has authored and served as technical editor for several Wrox books. H e has also authored numerous articles and spoken at various user groups, events, radio shows, and conferences, includ-ing TechEd N orth America. You can fi nd him sharinclud-ing his experiences at his technical blog at
www.edsquared.com and on Twitter with his handle @EdBlankenship.
MARTIN WOODWARD is a senior program manager for M icrosoft Visual Studio Team Foundation Server specializing on the Eclipse and Cross-Platform Tooling. Before joining M icrosoft, M artin was awarded M VP of the Year for Visual Studio Application Lifecycle M anagement and he has spoken about Team Foundation Server at events internationally. W hen not working or speaking, M artin can be found on his blog at http://www.wood-wardweb.com or on the podcast at
http://radiotfs.com.
GRANT HOLLIDAY is a senior premier fi eld engineer (PFE) for M icrosoft Services in Australia. As a PFE, he works with customers to perform proactive health checks and workshops on Team Foundation Server. Prior to this role, he spent three years in Redmond, Washington, as a Program M anager in the Visual Studio Team Foundation Server product group. H e was responsible for the internal T FS server deployments at M icrosoft, including the largest and busiest T FS server in the world used by Developer Division. Grant was also involved in the early stages of getting the Team Foundation Service up and running on the Windows Azure platform. Grant shares his thoughts on his blog at
http://blogs.msdn.com/granth and presentations at industry events.
ACKNOWLEDGMENTS
I WANT TO THANK everyone involved with putting this book together, including the author team, editors, reviewers, and everyone who was able to give us great feedback and help along the way! Thanks to M artin, Grant, Brian, and Steve for the great teamwork and contributions that have made this book awesome. I have really appreciated you guidance along the way as well as all of the new things that I learned from each of your expertise. I truly enjoyed working with y’all.
The help from the each of the product teams to put together such a great product can’t be dis-counted either. A personal thanks to Brian H arry, Sam Guckenheimer, M att M itrik, M ario Rodriguez, Anu, M uthu, Aseem, N ipun, Satinder, Gregg Boer, Jim Lamb, Jason Prickett, Chad Boles, Phillip Kelley, Christophe Fiessinger, and Chris Patterson on the product teams at M icrosoft. I appreciate all of your contributions, advice, and primarily your in-depth insight into the product over the years that has helped develop a better understanding of all the moving wheels of Team Foundation Server.
I also want to thank my former M icrosoft M VP colleagues who have been a great group to be a part of, as well as to work with now. A special thanks goes to M ike Fourie, Tiago Pascoal, Anthony Borton, Steve Godbold, M ickey Gousset, Steve St. Jean, Chris M enegay, Dave M cKinstry, Joel Semeniuk, Adam Cogan, and N eno Loje for all of your help.
Thank you to everyone who has helped me throughout my career over the years. Thanks for pushing me to get better in my craft, and for fueling my enthusiasm. Thanks also to my family and friends for their guidance along the way and their constant support. I couldn’t have done this without each of you.
—Ed Blankenship
FIRST, I WOULD LIKE to thank my coauthors, Ed, Grant, and Brian, for allowing me to help them in putting this book together. I would also like to thank Steve St. Jean for his help and his attention to detail. You will struggle to meet a group of folks who know the breadth of Team Foundation Server better than these guys do, and it is a pleasure to work with them all.
apart or vacation days messed up due to my husband not understanding the term work /life bal-ance.” H owever, luckily for me she’s a woman who keeps her promises. And I aim to spend the rest of my days trying to make her understand how grateful I am. For everything.
—Martin Woodward
I’D LIKE TO THANK everyone who made this book possible. O nce again, we formed the dream team of Team Foundation Server knowledge and experience. Thank you to my coauthors, Ed, M artin, Steve, and Brian. Thank you to the Wiley project team for keeping us on track and helping with the polish and production effort that a technical book like this deserves.
Secondly, I’d like to thank the M icrosoft Services team in Australia and the worldwide Premier Field Engineering team. As I returned home after some time in Corp, you have welcomed me with open arms into your organizations—I am truly honored to call myself a PFE. A big thank you to Brian H arry and the Team Foundation Server team in Redmond and Raleigh. The T FS team are truly world-class in their customer focus and I am lucky to work with such great technical talent.
Fina lly, I’d like to t ha n k my fa m ily for a ll t he late n ights a nd weekends it took to get t h is over t he line.
CONTENTS
INTRODUCTION xxvii
PART I: GETTING STARTED
CHAPTER 1: INTRODUCING TEAM FOUNDATION SERVER 2012 3
What Is Team Foundation Server?
3
What’s New in Team Foundation Server 2012
5
Version Control 5
Code Reviews 6
Managing Personal Work 6
Web Access 6
Project Management 7
Agile and Scrum Product Management 7
Stakeholder Feedback 7
Build 7
Acquisition Options
7
Team Foundation Service 8
Express 9
Trial 9
Volume Licensing 10
MSDN Subscriptions 10
Microsoft Partner Network 11
Retail 11
Summary 11
CHAPTER 2: PLANNING A DEPLOYMENT 13
Identifying and Addressing Software Engineering Pain
13
Transparency into the Release or Project 14
Collaboration Across Diff erent Teams and Roles 15
Automated Compilation, Testing, Packaging, and Deployment 15
Managing Test Plans 15
Parallel Development 15
Adopting Team Foundation Server
16
Adoption Timeline 16
Hosting Team Foundation Server 18
Identifying Aff ected Teams 19
Generating Consensus 19
Team Foundation Server Administrator 20
Pilot Projects 21
Migration Strategies
21
Version Control 21
Work Item Tracking 22
Structuring Team Project Collections and Team Projects
23
Considering Limitations in Team Foundation Server 25
Server Limitations 28
Preparation for a Team Foundation Server Environment
29
Understanding the Architecture and Scale-Out Options 29
Hardware Requirements 32
Virtualization 33
Planning for Software Prerequisites 34
Service Accounts 37
File Share Folders 38
SMTP Server 38
Firewall Concerns and Ports Used 39
Friendly DNS Names 39
Legacy Visual Studio Versions 41
Summary 42
CHAPTER 3: INSTALLATION AND CONFIGURATION 43
What You’ll Need
44
Team Foundation Server 2012 44
Team Foundation Server 2012 Installation Guide 45
SQL Server 2012 45
Operating System 46
SharePoint 46
Client Software 47
Service Packs and Other Updates 47
Installing Team Foundation Server
48
Installation Types
49
Confi guring Team Foundation Server
51
Creating Your First Team Project
56
Confi gure Friendly DNS Names
57
xiii CONTENTS
CHAPTER 4: CONNECTING TO TEAM FOUNDATION SERVER 59
Team Foundation Server Architecture
59
Addressing Team Foundation Server
61
Introducing Team Foundation Server Security and Roles
63
Users 63 Groups 64 Permissions 65
Team Explorer
65
Understanding Team Explorer in Visual Studio 66
Connecting to Team Foundation Server from Eclipse
and Cross-Platform 71
Alternate Ways to Connect to Team Foundation Server
74
Accessing Team Foundation Server Through a Web Browser 74
Using Team Foundation Server in Microsoft Excel 75
Using Team Foundation Server in Microsoft Project 76
Windows Explorer Integration with Team Foundation Server 77
Connecting Microsoft Test Manager to Team
Foundation Server 78
Access to Team Foundation Server via Third-Party Integrations 79
Summary 80
PART II: VERSION CONTROL
CHAPTER 5: OVERVIEW OF VERSION CONTROL 83
What Is Version Control?
83
Repository 84
Working Copy 85
Working Folder Mappings 85
Get 86 Add 86 Check-out 86 Changeset 87 Check-in 87 History 87
Branching and Merging 88
Common Version Control Products
88
Microsoft Visual SourceSafe 89
Team Foundation Server 90
Distributed Version Control Systems 91
Summary 93
CHAPTER 6: USING TEAM FOUNDATION VERSION CONTROL 95
Getting Started with Team Foundation
Server Version Control
96
Learning what’s New in Team Foundation
Server 2012 Version Control
98
Team Foundation Server Version Control Concepts
99
Workspace 99
Working Folder Mappings 103
Get 107 Check-out 109 Locks 109
Check-in of Pending Changes 110
Undo Pending Changes 117
Changeset 117 Shelvesets 119 Branches 120
Using Source Control Explorer
121
Viewing History 123
Labeling Files 123
Recovering When Things Go Wrong 124
Keeping on task with My Work
125
Team Foundation Server
Version Control in Eclipse
130
Installing the Team Foundation Server Plug-in for Eclipse 131
Sharing Eclipse Projects in Team Foundation Server 133
Importing Projects from Team Foundation Server 135
Diff erences Between the Eclipse and Visual Studio Clients 137
Team Foundation Server Version Control from
the Command Line 137
Getting Help 138
Using the Command Line 138
Team Foundation Version Control Power Tools
and Third-Party Utilities
139
Microsoft Visual Studio Team Foundation
Server Power Tools 139
Team Foundation Server MSSCCI Provider 140
Confi guring Version Control
140
xv CONTENTS
Switching Version Control to Team Foundation Server
141
Working with Team Foundation Server for Visual
SourceSafe Users 142
Using Team Foundation Server for Subversion Users 144
Summary 146
CHAPTER 7: ENSURING CODE QUALITY 147
What Is Quality?
148
Enforcing Quality
149
Check-In Policies
149
Monitoring Check-In Policy Overrides 152
Check-In Policy Pack in Power Tools 154
Creating Custom Check-In Policies 155
Deploying Check-In Policies 159
Gated Check-In
164
Why Gated Check-In? 165
When Not to Use Gated Check-In 166
Setting Up a Gated Check-In Build 167
Checking In for Validation 168
Reconciling the Workspace 168
Managing Code Reviews
170
Requesting a Code Review 171
Performing a Code Review 173
Completing the Code Review 175
Summary 176
CHAPTER 8: MIGRATION FROM LEGACY
VERSION CONTROL SYSTEMS 177
Migration Versus Upgrade
178
Upgrade 178 Migration 178
Migrating History or Latest Version
179
Migrating from Visual SourceSafe
180
Preparing to Use the VSS Upgrade Wizard 181
Using the Visual SourceSafe Upgrade Wizard 182
Team Foundation Server Integration
Platform 188
Popular Third-Party Migration Tools
190
Subversion, CVS, and StarTeam 190
CHAPTER 9: BRANCHING AND MERGING 193
Branching Demystifi ed
193
Branch 194 Merge 194
Confl ict 194
Branch Relationships 195
Baseless Merge 196
Forward/Reverse Integration 196
Common Branching Strategies
196
No Branching 197
Branch per Release 198
Code-Promotion Branching 199
Feature Branching 200
Implementing Branching Strategies
201
The Scenario 202
The Plan 202
Implementation 203
Dealing with Changesets 208
Tracking Change Through Branches 220
Summary 222
CHAPTER 10: COMMON VERSION CONTROL SCENARIOS 223
Setting Up the Folder Structure for Your Branches
223
Application Source Code 224
Automated Tests Source Code 224
Architecture Assets 224
Database Schema 225
Installer Assets 225
Build and Deployment Assets 225
Third-Party Source Code/Dependencies
226
Folder Inside Branch 226
Folder at Team Project Level 228
Internal Shared Libraries
230
Choosing a Location in Version Control 230
Storing Library Assemblies as Dependencies 233
Branching into Product Family Branches 233
Managing Artifacts Using Team Foundation Server
235
SQL Reporting Services Encryption Key Backup 235
xvii CONTENTS
Custom Build Assemblies 237
Master Build Process Templates 238
Source Code for Custom Tools 238
Summary 239
PART III: PROJECT MANAGEMENT
CHAPTER 11: INTRODUCING WORK-ITEM TRACKING 243
Project Management Enhancements in Team Foundation
Server 2012
244
Rich Work-Item Relationships 244
Test Case Management 245
Enhanced Reporting 245
SharePoint Server Dashboards 246
Agile Planning Tools in Team Web Access 246
Work Items
247
Work-Item Types 247
Areas and Iterations 249
Process Templates
252
MSF for Agile Software Development 253
MSF for CMMI Process Improvement 255
Visual Studio Scrum 258
Third-Party Process Templates 260
Custom Process Templates 260
Managing Work Items
260
Using Visual Studio 260
Using Microsoft Excel 266
Using Microsoft Project 267
Using Team Web Access 268
Using Third-Party Tools 270
Project Server Integration
271
Summary 271
CHAPTER 12: CUSTOMIZING PROCESS TEMPLATES 273
Anatomy of a Process Template
273
Plug-in Files 274
Default Security Groups and Permissions 276
Initial Area and Iteration Nodes 277
Initial Work Items 289
Work Item Queries and Folders 289
Microsoft Project Column Mappings 290
Version Control Permissions and Settings 290
SharePoint Project Team Portal
Document Library Settings 291
SQL Reporting Services Report Defi nitions 292
Using the Process Template Editor
292
Installing the Process Template Editor 293
Working with a Process Template 293
Using an XML Editor and WITAdmin 294
Deploying Updates to Process Templates
296
Uploading Process Templates in Team
Foundation Server 296
Editing Work Items on an Existing Team Project 297
Customizing Agile Tools
298
Metastates 299
Eff ort, Remaining Work, and Stack Rank 299
Defi ning the Team 300
Other Process Confi guration Customizations 300
Common Work Item Type Customizations
301
Adding New States 301
Displaying Custom Link Types 302
Using Display Name Changes
(New syncnamechanges attribute) 302
Introducing Custom Work Item Controls
303
Work Item Clients 303
Work Item Control Interfaces 304
Deploying Custom Controls 308
Work Item Custom Control Deployment Manifest 309
Using the Custom Control in the Work Item
Type Defi nition 309
Summary 310
CHAPTER 13: MANAGING TEAMS AND AGILE PLANNING TOOLS 311
xix
CHAPTER 14: REPORTING AND SHAREPOINT DASHBOARDS 333
What’s New in Team Foundation Server 2012
334
Cross-Collection Reporting Support 334
Changes to the Relational Warehouse 334
Changes to the Analysis Services Cube 335
Optional and Richer SharePoint Integration 337
Team Foundation Server Data Warehouse
337
Operational Stores 338
Relational Warehouse Database and Warehouse Adapters 338
Querying the Relational Warehouse Database 339
Analysis Services Cube 342
Data Warehouse Permissions 344
SharePoint Integration
344
SharePoint Extensions 345
Excel Services and Dashboard Compatibility 345
Creating Reports
347
Tools 347
Excel Reporting from a Work-Item Query 347
SQL Server Reporting Services Reports 349
SharePoint Dashboards 355
CHAPTER 15: PROJECT SERVER INTEGRATION 359
Overview 359
Project Server Essentials 360
Bidirectional Synchronization 361
Relationship between Team Projects and Enterprise Projects 366
Initial Confi guration
366
Necessary Permissions 366
Command-Line Tool for Confi guration 367
One-Time Integration Steps 367
Mapping Enterprise Projects to Team Projects 368
Necessary Software for Project Managers 369
Summary 369
PART IV: TEAM FOUNDATION BUILD
CHAPTER 16: OVERVIEW OF BUILD AUTOMATION 373
Let’s Build Something
373
What Is Build Automation?
374
Scripting a Build 376
Make 376
Apache Ant 377
Apache Maven 378
NAnt 379 MSBuild 379
Windows Workfl ow Foundation 383
Using Build Automation Servers
383
CruiseControl 384 CruiseControl.NET 384
Hudson / Jenkins 384
Team Foundation Server 385
Adopting Build Automation
386
Summary 387
CHAPTER 17: USING TEAM FOUNDATION BUILD 389
Introduction to Team Foundation Build
389
Team Foundation Build Architecture
390
Setting up the Team Foundation Build Service
392
Installing Team Foundation Build 393
Confi guring the Team Foundation Build Service 393
Additional Software Required on the Build Agent 399
Working with Builds
399
Creating a Build Defi nition 399
Queuing a Build 411
Build Notifi cations and Alerts 413
Managing Builds 415
Managing Build Quality Descriptions 420
Managing Build Controllers and Build Agents 420
xxi CONTENTS
DefaultTemplate Process 423
Building Ant and Maven Projects with Team Foundation Server 435
Summary 436
CHAPTER 18: CUSTOMIZING THE BUILD PROCESS 437
Introduction to Windows Workfl ow Foundation
438
Visual Basic.NET Expressions 438
Custom Workfl ow Variables 440
Custom Build Parameters 442
Workfl ow Activities 449
When to Use MSBuild versus WF
457
Custom Build Workfl ow Activities
458
How to Create a Custom Build Activity 458
Integrating Activity into the Build Process Template 473
Deployment of Custom Build Activities 478
Customizing the Build Report Output
480
Creating a Log Data Visualizer 480
Build Summary Report Custom Section 481
Customizing the Build Process to Stamp
the Version Number on Assemblies
482
Defi ning Custom Build Process Parameters 483
Allowing the Functionality to Be Optional 484
Defi ning Local Workfl ow Variables 485
Initializing the Local Workfl ow Variables 486
Finding Matching Assembly Info Files 486
Adding the Custom TfsVersion Activity 487
Summary 488
PART V: ADMINISTRATION
CHAPTER 19: INTRODUCTION TO TEAM FOUNDATION SERVER
ADMINISTRATION 493
Administrative Roles
494
Infrastructure Administrator 494
Team Foundation Server Administrator 494
Project Administrator 494
Logical Architecture
495
Client Tier 496
Application Tier 496
Built-In Administration Tools
497
Team Foundation Administration Console 498
Command-Line Confi guration Tools 516
Other Administration Tools
519
Team Foundation Server Power Tools 520
Best Practices Analyzer 520
Team Foundation Server Administration Tool 522
Team Foundation Sidekicks 523
Summary 524
CHAPTER 20: SCALABILITY AND HIGH AVAILABILITY 525
An Evolving Architecture
526
Scale Out To Multiple Servers 535
Eliminate Single Points Of Failure 535
Anticipate Growth 535
Keep It Simple 535
Solutions 535
Data Tier 536
Application Tier and Web Access 539
Virtualization 546
Summary 547
CHAPTER 21: DISASTER RECOVERY 549
Business Continuity and Recovery Goals
549
Defi ning Responsibilities
550
Backing Up Team Foundation Server
550
Components to Back Up 551
Types of Database Backups 552
Important Considerations 554
Creating a Backup Plan
556
Team Foundation Server Backup Plan Details 563
Restoring a Backup to the Original Server 566
xxiii CONTENTS
CHAPTER 22: SECURITY AND PRIVILEGES 575
Users 575
Team Foundation Server Groups 580
Permissions 583
Server Permissions 584
Team Project Collection Permissions 584
Team Project Permissions 586
Deny, Allow, and Unset Permissions 595
Use Active Directory Groups 596
Avoid Granting Individual User Permissions 596
Use Inheritance 596
Tools 597
Command-Line Tools 597
Summary 597
CHAPTER 23: MONITORING SERVER HEALTH
AND PERFORMANCE 599
System Health
600
SQL Server
601
Dynamic Management Views (DMV) 601
Client Performance Tracing 616
Job History 618
Storage Usage 619
Data Warehouse 621
Tools 621
Performance Analysis of Logs (PAL) Tool 622
Team Foundation Server Best Practices Analyzer (BPA) 623
Team Foundation Server Management Pack for
System Center Operations Manager (SCOM) 624
Summary 625
CHAPTER 24: TESTING AND LAB MANAGEMENT 627
Software Testing
628
Test Case Management 629
Lab Management 629
Testing Architecture
630
Microsoft Test Manager
632
Test Plans 633
Test Suites 634
Test Cases 634
Test Runs 634
Exploratory Testing 636
Actionable Bugs 636
Test Settings 636
Test Attachments Cleaner 638
Assigning a Build to a Test Plan 639
Analyzing Impacted Tests 640
Build Retention 640
Custom Work Item Types 641
Test Automation
641
Visual Studio Lab Management
643
What’s New for Lab Management in
Team Foundation Server 2012 644
Installing and Confi guring Lab Management 645
Maintaining a Healthy Test Lab 652
xxv CONTENTS
CHAPTER 25: UPGRADING FROM EARLIER VERSIONS 657
Overview 658
In-Place Upgrades Versus Migrating toNew Hardware 658
Planning Upgrades 660
Upgrading Prerequisites
661
SQL Server 662
SharePoint 662
Project Server 663
System Center 663
Using the Confi guration Utility
663
Upgrade Wizard 664
Verifi cation of Upgrade 665
Upgrading Legacy Team Projects
666
Feature Enablement 667
Allowing Access to Premium Features 669
Automated Builds 670
Enable Local Workspaces 672
Deploying New Reports 672
Deploying New SharePoint Team Portal Site 672
Upgrading Lab Management Environments 673
Summary 674
CHAPTER 26: WORKING WITH GEOGRAPHICALLY
DISTRIBUTED TEAMS 675
Identifying the Challenges
676
Latency Over the Wide Area Network (WAN) 676
Sources of Network Traffi c 677
Solutions 679
Central Server with Remote Proxy Servers 679
Multiple Distributed Servers 679
Mirroring 680
Remote Desktops 680
Internet-connected “Extranet” Server 680
Metadata Filtering 680
Remote Build Server Farm 681
Team Foundation Server Proxy
682
How the Team Foundation Server Proxy Works 682
Compatibility 682
Confi guring Proxies 682
Seeding Proxies 685
Personal Proxies 685
Mirroring with the Team Foundation
Server Integration Tools
686
Maintenance Windows and Time Zones 692
Online Index Operations with SQL Server Enterprise 693
Distributed Application Tiers 693
SQL Mirroring 694
Summary 694
CHAPTER 27: EXTENDING TEAM FOUNDATION SERVER 695
Extensibility Points
696
.NET Client Object Model
697
Connecting to the Server 698
Handling Multiple API Versions 699
Distributing the Client Object Model 701
SOAP Event Subscriptions
701
Available Event Types 702
Building an Endpoint 703
Adding the Subscription 704
Listing All Event Subscriptions1 705
INTRODUCTION
OVER THE PAST DECADE, M icrosoft has been creating development tools that have been designed for the ever-growing engineering teams of software developers, testers, architects, project managers, designers, and database administrators. In the Visual Studio 2012 line of products, there are tools for each team member to use to contribute to a software release. H owever, it’s not enough to allow for awesome individual contributions. You must also organize the collaboration of those contributions across the larger team, including the stakeholders for whom the software is being built.
Beginning in the Visual Studio 2005 release, M icrosoft introduced a new server product named Team Foundation Server to complement its development products. N ow in its fourth release, Team Foundation Server 2012 has grown with all of the investment from the past decade and fi ts nicely in the Visual Studio applicationlifecyclem anagem ent (A L M) family of products. Before the Visual Studio 2010 release, the Visual Studio ALM family of products was given the brand of Visual Studio Team System, which is no longer used in the latest releases.
As you will fi nd out, Team Foundation Server is a very large product with lots of features for man-aging the software development lifecycle of software projects and releases. The authors of this book collectively gathered from their past experience since the fi rst release of Team Foundation Server to document some of the tips and tricks that they have learned along the way. The backgrounds of the authors are quite diverse—managing one of the largest Team Foundation Server environments, designing the collaboration pieces for non-.N ET development teams, evangelizing the Visual Studio and Team Foundation Server products, managing releases at a software development company, and a consulting background where customers are helped each week to solve real-world challenges by taking advantage of Team Foundation Server.
WHO THIS BOOK IS FOR
If you have been looking to Team Foundation Server to meet some of your software development team’s challenges for collaboration, then this book is for you. You may have seen the Team Foundation Server product in your M SDN subscription and decided to set up a new environment internally. You may now be wondering how to administer and confi gure the product. You may have also noticed the new, hosted Team Foundation Service offering by M icrosoft and wondered where to get started.
This book is for everyone ranging from the developer using Team Foundation Server for day-to-day development, to the administrator who is ensuring that the environment is tuned to run well and build extensions to the product to meet the needs of their software development team. You may also be preparing for any of the new Application Lifecycle M anagement (ALM ) M icrosoft certifi cation exams for administering or using Team Foundation Server, and you will fi nd many of the exam top-ics covered in this book.
used for teams as small as one to fi ve team members to teams consisting of tens of thousands. Code samples in the book are presented in C#, but they could also be implemented in other .N ET lan-guages (such as Visual Basic.N ET).
You can fi nd a road map for the book based on your team role later in this “ Introduction” under the section named “ H ow This Book Is Structured.”
WHAT THIS BOOK COVERS
This book covers a complete overview of the Team Foundation Server 2010 product and provides hands-on examples for using the product throughout many of the chapters. This book only covers the latest version of Team Foundation Server 2010 (including Service Pack 1 in some areas) and does not expose the reader to how to use earlier versions of Team Foundation Server.
The book is divided into fi ve main parts, with detailed chapters that will dive into each of the fea-ture areas of Team Foundation Server 2010.
‰ PartI—Getting Started ‰ PartII—Version Control ‰ PartIII—Project M anagement ‰ PartIV—Team Foundation Build ‰ PartV—Administration
HOW THIS BOOK IS STRUCTURED
You may have picked up this book and are wondering where to get started. This book has been written so that you start reading in a particular chapter without needing to understand concepts introduced in previous chapters. Feel free to read the book from cover to cover, or, if you are in a hurry or need to reference a specifi c topic, jump to that particular chapter. The next sections describe where you might get started in the book based on your role and the topics that might be most relevant for you.
Developers
There are plenty of features that are available for developers who are using Team Foundation Server. You might begin by reading Chapter 4, “ Connecting to Team Foundation Server,” to get started with exploring the different options available for connecting to your server.
After that, you can begin your review of the version control features available in Part II of the book:
‰ Chapter5—“ O verview of Version Control”
xxix INTRODUCTION
‰ Chapter9—“ Branching and M erging”
‰ Chapter10—“ Common Version Control Scenarios”
O nce you have a good grasp of the version control features, you may want to familiarize yourself with the work item tracking and reporting features in Part III of the book:
‰ Chapter11—“ Introducing Work Item Tracking”
‰ Chapter13—“ M anaging Teams and Agile Planning Tools” ‰ Chapter14—“ Reporting and SharePoint Dashboards”
Finally, if you want to automate your build process, you can take advantage of reviewing those fea-tures in Part IV of the book:
‰ Chapter16—“ O verview of Build Automation” ‰ Chapter17—“ Using Team Foundation Build” ‰ Chapter18—“ Customizing the Build Process”
Testers
Team Foundation Server and Visual Studio include a host of new features for testing. You might begin by reading Chapter 4, “ Connecting to Team Foundation Server,” to get started with exploring the different options available for connecting to your server.
After that, you will want to increase your understanding of the work item tracking features (which help track test cases, bugs, tasks, requirements, and so on), as well as the project reporting features in Part III of the book:
‰ Chapter11—“ Introducing Work Item Tracking”
‰ Chapter13—“ M anaging Teams and Agile Planning Tools” ‰ Chapter14—“ Reporting and SharePoint Dashboards”
If you are a technical tester, and will be automating test cases using the numerous automated test capabilities, then you will want to familiarize yourself with the version control features (which is where you will store the source code for your automated tests) in Part II of the book:
‰ Chapter5—“ O verview of Version Control”
‰ Chapter6—“ Using Team Foundation Version Control” ‰ Chapter9—“ Branching and M erging”
‰ Chapter10—“ Common Version Control Scenarios”
Finally, if you are interested in the testing and environment /lab management features available in Team Foundation Server, you can consult Part V of the book:
MICROSOFT TEST MANAGER
If you are using M icrosoft Test M anager (available if you have acquired either Visual Studio 2012 Ultimate, Visual Studio 2012 Premium, or Visual Studio 2012 Test Professional), you may want to consult the companion to this book,
Professional Application Lifecycle Management with Visual Studio 2012 (Indianapolis: Wiley, 2012). Several chapters in that book discuss the features available in M icrosoft Test M anager for test case management, executing manual tests, starting exploratory test runs to generate test cases, fi ling rich actionable bugs, creating temporary environments for development and testing use, and auto-mating user interface tests. For more information about this book, visit http:// aka.ms/ALM2012Book.
Project Managers and Business Analysts
As a project manager or business analyst, you will want to ensure that you have insight into the soft-ware release or project, and be able to interact. You may also be interested in what customizations are possible with the process that Team Foundation Server uses for your teams. Project managers might also be interested in the capability to synchronize project data in Team Foundation Server with a M icrosoft O ffi ce Project Server instance. Business analysts may want to create and track requirements, including the traceability options from inception to implementation. Additionally, project managers and business analysts may want to learn how to seek feedback from customers and stakeholders and turn that feedback into new requirements, change requests, or product backlog items.
You might begin by reading Chapter 4, “ Connecting to Team Foundation Server,” to get started with exploring the different options available for connecting to your server. All of the features that would be relevant for project managers and business analysts are discussed in Part III of the book:
‰ Chapter11—“ Introducing Work Item Tracking” ‰ Chapter12—“ Customizing Process Templates”
‰ Chapter13—“ M anaging Teams and Agile Planning Tools” ‰ Chapter14—“ Reporting and SharePoint Dashboards” ‰ Chapter15—“ Project Server Integration”
Project managers and business analysts may also be introduced in the companion to this book,
xxxi INTRODUCTION
Executive Stakeholders
Executive stakeholders fi nd plenty of use for Team Foundation Server by gathering insight into how software releases and projects are progressing, and often want easily accessible dashboards with the information. The executive that leads the engineering organization may also be interested in planning a Team Foundation Server deployment, including who should administer the server. Additionally with Team Foundation Server 2012 , development teams can request feedback from stakeholders who then can provide rich feedback using the new Feedback Client.
You might begin with the chapters in Part I of the book:
‰ Chapter2—“ Planning a Deployment”
‰ Chapter4—“ Connecting to Team Foundation Server”
After you have a good understanding of the concepts in those chapters, you can then explore the necessary work item tracking and reporting features available in Part III of the book:
‰ Chapter11—“ Introducing Work Item Tracking”
‰ Chapter13—“ M anaging Teams and Agile Planning Tools” ‰ Chapter14—“ Reporting and SharePoint Dashboards”
Team Foundation Server Administrators
If you fi nd yourself in the position of administering a Team Foundation Server instance, this book provides plenty of great information for performing that role. In Part I of the book, you might begin by reading Chapter 2 , “ Planning a Deployment,” to understand what is required for setting up a Team Foundation Server environment. You can then install a new server by going through Chapter 3, “ Installation and Confi guration.” If you are upgrading from a previous version of Team Foundation Server, you may want to begin by reading through Chapter 25, “ Upgrading from Earlier Versions,” before you get started with the upgrade process.
It is recommended that, as a Team Foundation Server administrator, you understand all of the aspects that end users will take advantage of, including version control, work item tracking, and automated builds. You can read all of the chapters in Parts I through IV for information about those aspects of Team Foundation Server.
Additionally, Part V is dedicated to administrative topics that will be of interest to administrators:
‰ Chapter19—“ Introduction to Team Foundation Server Administration” ‰ Chapter20—“ Scalability and H igh Availability”
‰ Chapter23—“ M onitoring Server H ealth and Performance” ‰ Chapter24—“ Testing and Lab M anagement”
‰ Chapter25—“ Upgrading from Earlier Versions”
‰ Chapter26—“ Working with Geographically Distributed Teams” ‰ Chapter27—“ Extending Team Foundation Server”
Extensibility Partner
If you are interested in extending the capabilities of Team Foundation Server 2012 , you will fi nd many opportunities and extensibility points throughout this book. You may want to begin by read-ing through Chapter 27, “ Extendread-ing Team Foundation Server.” You will also fi nd extensibility options covered in several other chapters of the book:
‰ Chapter7—“ Ensuring Code Q uality”
‰ Chapter12—“ Customizing Process Templates” ‰ Chapter14—“ Reporting and SharePoint Dashboards” ‰ Chapter18—“ Customizing the Build Process”
WHAT YOU NEED TO USE THIS BOOK
To perform many of the hands-on examples in the book, it will be helpful to have a Team
Foundation Server 2012 environment or Team Foundation Service account that you can use to test out the different features in the product. You do not necessarily need separate hardware, since you can now install Team Foundation Server 2012 on client operating systems such as Windows 8 and Windows 7. Don’t worry about setting up and confi guring a new Team Foundation Server 2012 environment yet, since you will learn about that in Chapters 2 and 3.
Chapter 1 discusses a few options on how to acquire Team Foundation Server, including an entire virtual machine image for demonstration purposes. Chapter 4 also discusses the different tools that you can use to connect to your Team Foundation Server environment that will be needed through-out the book.
The source code for the samples is available for download from the Wrox website at:
http://www.wrox.com/remtitle.cgi?isbn=9781118314098
FURTHER LEARNING
xxxiii INTRODUCTION
‰ EdBlank enship—www.edsquared.com
‰ M artinW oodw ard—www.woodwardweb.com
‰ G rantH olliday—http://blogs.msdn.com/b/granth
‰ BrianKeller—http://blogs.msdn.com/b/briankel
Additionally, the two main blogs and RSS feeds we would recommend to you following for all of the latest news and updates are listed below as well.
‰ BrianH arry—http://blogs.msdn.com/b/bharry
‰ V isualStudioA L MProductT eam—http://blogs.msdn.com/b/visualstudioalm
CONTINUOUS PRODUCT UPDATES AND RELEASE SCHEDULE
T he one main thing to learn from M icrosoft going for ward for the Visual Studio and Team Foundation Ser ver products is that the product teams will be shipping updates more
frequently — roughly ever y three months. T hese updates will include a roll-up of performance and bug fi xes as well as new features that are completed. For those that will be using the hosted Team Foundation Ser vice, new updates and features are automatically deployed ever y three weeks.
The main thing to remember is that you will want to make sure you are always up to date on both your development machine where Visual Studio products are installed and also your Team Foundation Server environment servers. This book was written for the released version and includes some content and features included in the fi rst quarterly update.
You can fi nd out more information about this new release cadence for Visual Studio and Team Foundation Server at http://aka.ms/TFSShippingCadence.
CONVENTIONS
To help you get the most from the text and keep track of what's happening, we've used a number of conventions throughout the book.
WARNING W arnings hold im portant, not-to -be-forgot ten inform ation that is directly relevant to the surrounding tex t.
SIDEBAR
Asides to the current discussion are offset like this.
As for styles in the text:
‰ We highlight new terms and important words when we introduce them. ‰ We show keyboard strokes like this: Ctrl+A.
‰ We show fi le names, URLs, and code within the text like so: persistence.properties.
‰ We present code in two different ways:
We use a monofont type with no highlighting for most code examples.
We use bold to emphasize code that is particularly important in the present context or to show changes from a previous code snippet.
SOURCE CODE
As you work through the examples in this book, you may choose either to type in all the code man-ually or to use the source code fi les that accompany the book. All the source code used in this book is available for download at www.wrox.com. Specifi cally for this book, the code download is on the Download Code tab at:
http://www.wrox.com/remtitle.cgi?isbn=9781118314098
You can also search for the book at w w w.wrox.com by ISBN (the ISBN for this book is
978-1-118-31409-8 to fi nd the code). And a complete list of code downloads for all current Wrox books is available at w w w.wrox.com /dynamic/books/download.aspx.
M ost of the code on www.wrox.com is compressed in a .Z IP, .R AR archive, or similar archive format appropriate to the platform. O nce you download the code, just decompress it with an appropriate compression tool.
NOTE Because m any book s have sim ilar titles, you m ay fi nd it easiest to search by ISBN ; this book ’s ISBN is 978 -1-118 -314 09-8.
xxxv INTRODUCTION
ERRATA
We make every effort to ensure that there are no errors in the text or in the code. H owever, no one is perfect, and mistakes do occur. If you fi nd an error in one of our books, like a spelling mistake or faulty piece of code, we would be very grateful for your feedback. By sending in errata, you may save another reader hours of frustration, and at the same time, you will be helping us provide even higher quality information.
To fi nd the errata page for this book, go to
http://www.wrox.com/remtitle.cgi?isbn=9781118314098
And click the Errata link. O n this page, you can view all errata that has been submitted for this book and posted by Wrox editors.
If you don’t spot “ your” error on the Book Errata page, go to www.wrox.com/contact
/techsupport.shtml and complete the form there to send us the error you have found. We’ll check the information and, if appropriate, post a message to the book’s errata page and fi x the problem in subsequent editions of the book.
P2P.WROX.COM
For author and peer discussion, join the P2P forums at http://p2p.wrox.com. The forums are a Web-based system for you to post messages relating to Wrox books and related technologies, and interact with other readers and technology users. The forums offer a subscription feature to e-mail you topics of interest of your choosing when new posts are made to the forums. Wrox authors, edi-tors, other industry experts, and your fellow readers are present on these forums.
At http://p2p.wrox.com, you will fi nd a number of different forums that will help you, not only as you read this book, but also as you develop your own applications. To join the forums, just follow these steps:
1.
Go to http://p2p.wrox.com and click the Register link.2.
Read the terms of use and click Agree.3.
Complete the required information to join, as well as any optional information you wish to provide, and click Submit.4.
You will receive an e-mail with information describing how to verify your account and com-plete the joining process.O nce you join, you can post new messages and respond to messages other users post. You can read messages at any time on the Web. If you would like to have new messages from a par ticular forum e-mailed to you, click the Subscribe to this Forum icon by the forum name in the forum listing.
PART I
Getting Started
⊲
CHAPTER 1:
Introducing Team Foundation Server 2012
⊲
CHAPTER 2:
Planning a Deployment
⊲
CHAPTER 3:
Installation and Confi guration
1
Introducing Team Foundation
Server 2012
WHAT’S IN THIS CHAPTER?
‰ Getting to know Team Foundation Server 2012
‰ Understanding what’s new in Team Foundation Server 2012
‰ Acquiring Team Foundation Server 2012
This chapter introduces you to M icrosoft Visual Studio Team Foundation Server 2012. H ere you will learn what it is for, the key concepts needed when using it, and how to acquire it.
For those users already familiar with Team Foundation Server, the discussion in this chapter highlights areas that are new or have changed substantially. H owever, because understanding the legacy of a technology is always helpful, this chapter also includes some of the history of the Team Foundation Server product, which will help explain how it became what it is today.
This chapter also discusses the improved release model, including the ability to have M icrosoft manage hosting, frequent upgrades, and backups by leveraging the Team Foundation Service. Later chapters will go into more depth with an examination of the architecture of the Team Foundation Server product.
WHAT IS TEAM FOUNDATION SERVER?
Team Foundation Server provides the core collaboration functionality for your software development teams in a very tightly integrated product. The functionality provided by Team Foundation Server includes the following:
‰ Project management
‰ Work item tracking (WIT)
‰ Version control
‰ Test case management
‰ Build automation
‰ Reporting
‰ Lab and environment management
‰ Feedback management
Each of these topics is explored extensively in this book.
Team Foundation Server is a separate server product designed specifi cally for software engineering teams with developers, testers, architects, project managers, business analysts, and anyone else con-tributing to software development releases and projects. Logically, Team Foundation Server is made up of the following two tiers, which can be physically deployed across one or many machines:
1.
Application Tier—The applicationtier primarily consists of a set of web services with which the client machines communicate by using a highly optimized, web service-based protocol. It also includes a rich web access site to interact with a server without having to install a client such as Visual Studio.2.
Data Tier—The datatier is made up of a SQ L Server database containing the database logic of the Team Foundation Server application, along with the data for your Team Foundation Server instance. The data stored in the database is used by Team Foundation Server’s report-ing functionality. All the data stored in Team Foundation Server is stored in this SQ L Server database, thus making it easy to back up.Team Foundation Server was designed with extensibility in mind. It can integrate with a compre-hensive .N ET Application Programming Interface (API). It also has a set of events that allow it to integrate with outside tools as fi rst-class citizens. The same .N ET programming model and event system is used by M icrosoft to construct Team Foundation Server, as well as the client integrations into Visual Studio.
What’s New in Team Foundation Server 2012
x
5NOTE Jason Z ander, Corporate V ice President for V isual Studio, m ak es this par-ticular point w ell in a blog post originally about Team Foundation Server 2010. You can fi nd the blog post at http://aka.ms/IntegratedALMSolution.
W hen you compare enterprise ALM products cu rrently on the market, you will discover that Team Fou ndation Ser ver was designed to be easily customized and ex tended. Team Fou ndation Ser ver ensu res that developers using any development platform can par ticipate and easily use Tea m Fou nd at ion Ser ver, includ ing Visu a l St ud io, Eclipse-based development , Xcode, a nd ma ny more.
WHAT’S NEW IN TEAM FOUNDATION SERVER 2012
If you have used legacy versions of Team Foundation Server, you may be curious about what is new in the latest release. As this book demonstrates, it is a big release with considerable new function-ality and improvements across the board. While many of these features are explained throughout this book, if you have used a previous version of Team Foundation Server, the features described in the following sections will be new to you. Some of the client-side topics are covered in more detail in the companion book to this volume, ProfessionalA pplicationL ifecycleM anagem entw ithVisualStudio 2012.
Version Control
O ne goal for this release was to dramatically improve the experience for developers and other team members who use the version control repository in Team Foundation Server. M any small features and improvements should be noticeable in reducing the friction of working with Team Foundation Server. For example, many of the algorithms used in the merge process have been improved so that you can trust the auto-merge process more, and fewer false positives show up as merge confl icts.
Another notable change for developers who have been using Visual Studio for a long time is the replacement for the Compare/Diff tool that has been around for a while. It now takes advantage of the new code editor in Visual Studio so that you can get IntelliSense, syntax coloring, etc., within the com-pare tool. There are also several different views you can use based on your preferences for reviewing the differences.
Some side benefi ts to the new local workspaces model include remarkable improvements in being able to work offl ine. Local workspaces and how this paradigm shift changes are both covered in detail in Chapters 5 and 6.
To date, the Team Foundation Server product team also introduced a fully supported tool for Git integration called Git-tf.exe. It allows a developer to create a local Git repository that is a clone of a central Team Foundation Server version control repository. This tool allows the team to work locally in that Git repository and then commit changes back up to the Team Foundation Server repository when they are ready. Because the command-line tool was implemented in Java, it can be used on several platforms. For example, an iO S developer can now use the native Git integration in the Xcode IDE on M ac O S and still be able to contribute to a Team Foundation Server repository as well, where other team members may be working within their organization.
Code Reviews
Team Foundation Server 2012 also introduces a built-in set of experiences for requesting, respond-ing, and managing code reviews. This set uses the powerful work item tracking experiences behind the scenes as well as some specialized user experiences to help you discuss changes. O pening a set of changes from a code review uses the new diff experience, as mentioned in the previous section.
You can also make comments at a code review, fi le, or specifi c set of lines of code-level, including the ability to have thread discussions. After you have fi nished completing a review, you can approve, send back with comments, or reject a code review.
Managing Personal Work
N ew experiences are also available in Visual Studio 2012 , when connected to Team Foundation Server 2012 , for managing your personal context and work while developing. These new experi-ences start from the “ M y Work” pane in Team Explorer. Developers can indicate which task, bug, or work item they are working on and then check-in those changes together.
If developers are not fi nished with their work or are called to do something else, they can also sus-pend their work, which creates a shelveset. It exceeds the shelveset concept in previous versions of Team Foundation Ser ver because it also stores the impor tant contex t information about where the work was suspended. Developers can later “resume” their work and it will load the solution and projects, open windows, breakpoints, etc., back as they were when the work was suspended.
Web Access
Team Web Access has been completely redesigned in Team Foundation Server 2012 to provide an even better experience for those without any of the traditional clients available. It is friendly to modern browsers, including mobile browsers, and works well with several form factors.
Acquisition Options
x
7Project Management
In Service Pack 1 of Team Foundation Server 2010 and an associated feature pack in that release, the product team introduced support for bidirectional synchronization between project management work items in Team Foundation Server and tasks in Project Server. This synchronization is included in the Team Foundation Server 2012 release. You can learn more about Project Server integration in Chapter 15.
Agile and Scrum Product Management
Additional new experiences added to Team Web Access are agile project management and product planning. The new Agile Planning tools are specifi cally designed for users practicing principles from Scrum, but can actually be benefi cial for those using any process.
The primary tools introduced in this release are Product Backlog planning; Sprint /Iteration planning, including managing team capacity; live velocity and sprint burndown reports; and a new task board that can be useful for daily Scrums or status meetings. Each of these tools is team-ori-ented so that different teams can manage their own backlogs and progress.
O ne of the nice things introduced with these tools is the ability to track start and end dates on Iteration paths. These dates are then used around Team Foundation Server to provide a richer experience.
Stakeholder Feedback
Teams and product owners can now request rich feedback from stakeholders, business users, and cus-tomers from working editions of their applications and software. Those stakeholders will receive an e-mail with a link to connect them automatically to Team Foundation Server and immediately start providing feedback using a new lightweight client appropriately named the M icrosoft Feedback Client.
Build
This release also includes several improvements to the built-in build system, including the ability to batch your gated check-ins. This can be useful if you receive numerous check-ins during the day that all need to be validated quickly. Additionally, the new Team Explorer includes some user experience improvements, including marking builds as personal or team favorites, and the ability to fi lter build defi nitions if your team project contains a lot of them.
Development teams that use third-party testing frameworks outside of MSTest will be happy to know that those teams can now include those tests in test runs during the automated build process in Team Foundation Server 2012.
ACQUISITION OPTIONS
M icrosoft also greatly improved how you may acquire Team Foundation Server. Several options are available to you, as discussed in the following sections.
exceptions, each user that connects to the server should have a Client Access License (CAL) for Team Foundation Server.
NOTE For m ore inform ation about those potential ex ceptions, or questions about w hat you w ill need to purchase, you can seek help from a M icrosof t Partner w ith the A L M Com petency, your local M icrosof t D eveloper Tools Specialist, or reference the End-User L icense A greem ent (EUL A ). A licensing w hite paper dedicated to V isual Studio, M SD N , and Team Foundation Server is also available here: http://aka.ms/VisualStudioLicensing.
Team Foundation Service
By far, the easiest way to get started with adopting Team Foundation Server is through a new hosted option available directly from M icrosoft called the Team Foundation Service. It shares a majority of the same code base as the same Team Foundation Server product used on-premises but modifi ed to be hosted from Windows Azure for multiple tenants. It is available at http://tfs.visualstudio.com.
The best part of using the Team Foundation Service is that your team need not worry about backups, high availability, upgrades, or other potential time-consuming administration and maintenance tasks. Another nice thing is that Team Foundation Service customers, before on-premises customers, will receive frequent updates that even include new features.
NOTE Brian H arry announced that the internal product team s im proved their engi-neering process so w ell over the past tw o to three years that they are able to quick ly provide m ore frequent updates. Starting w ith Team Foundation Server 2012, the product team is planning to provide updates that include the typical perform ance and bug fi x es but also brand new features. T he frequency is still to be determ ined, but the fi rst on-prem ises update w ill be available before the end of calendar year 2012. Team Foundation Service custom ers w ill see updates m ade m ore frequently than the on -prem ises edition. Brian m entioned that his team s are able to deploy hot-fi x es daily, but plans to provide full-featured updates every three w eek s, w hich lines up w ith the intern al sprint schedule. You can learn m ore about this topic from Brian H arry’s blog post at http://aka.ms/TFSReleaseCadence. O ne thing to tak e aw ay from this discussion is to m ak e sure that your team alw ays uses the latest update of Team Foundation Server if you choose to install it on -prem ises.