professionaldownload.e-bookshelf.de/download/0002/5125/62/l-g...(tfs), and an author and technical...

30

Upload: others

Post on 27-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process
Page 2: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process
Page 3: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

ffi rs.indd 04/23/2014 Page i

PROFESSIONALTEAM FOUNDATION SERVER 2013

INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxxix

▸ PART I GETTING STARTED

CHAPTER 1 Introducing Visual Studio Online and Team Foundation Server 2013 . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

CHAPTER 2 Planning a Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

CHAPTER 3 Installation and Confi guration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

CHAPTER 4 Connecting to Team Foundation Server . . . . . . . . . . . . . . . . . . . . . . 63

▸ PART II VERSION CONTROL

CHAPTER 5 Overview of Version Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

CHAPTER 6 Using Centralized Team Foundation Version Control . . . . . . . . . . 101

CHAPTER 7 Distributed Version Control with Git and Team Foundation Server . . . . . . . . . . . . . . . . . . . . . . 167

CHAPTER 8 Version Control in Heterogeneous Teams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

CHAPTER 9 Migration from Legacy Version Control Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

CHAPTER 10 Branching and Merging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

CHAPTER 11 Common Version Control Scenarios . . . . . . . . . . . . . . . . . . . . . . . . 281

▸ PART III PROJECT MANAGEMENT

CHAPTER 12 Introducing Work Item Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . 303

CHAPTER 13 Customizing Process Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . 333

CHAPTER 14 Managing Teams and Agile Planning Tools. . . . . . . . . . . . . . . . . . . 373

CHAPTER 15 Reporting and SharePoint Dashboards . . . . . . . . . . . . . . . . . . . . . . 401

CHAPTER 16 Project Server Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433

Page 4: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

▸ PART IV TEAM FOUNDATION BUILD

CHAPTER 17 Overview of Build Automation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447

CHAPTER 18 Using Team Foundation Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465

CHAPTER 19 Customizing the Build Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519

CHAPTER 20 Release Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557

▸ PART V ADMINISTRATION

CHAPTER 21 Introduction to Team Foundation Server Administration . . . . . . . 587

CHAPTER 22 Scalability and High Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . 625

CHAPTER 23 Disaster Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649

CHAPTER 24 Security and Privileges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673

CHAPTER 25 Monitoring Server Health and Performance . . . . . . . . . . . . . . . . . . 699

CHAPTER 26 Testing and Lab Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725

CHAPTER 27 Upgrading Team Foundation Server . . . . . . . . . . . . . . . . . . . . . . . . 757

CHAPTER 28 Working with Geographically Distributed Teams . . . . . . . . . . . . . . 775

CHAPTER 29 Extending Team Foundation Server . . . . . . . . . . . . . . . . . . . . . . . . 795

INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 825

Page 5: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

ffi rs.indd 04/23/2014 Page iii

PROFESSIONAL

Team Foundation Server 2013

Page 6: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process
Page 7: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

ffi rs.indd 04/23/2014 Page v

PROFESSIONAL

Team Foundation Server 2013

Steven St. JeanDamian BradyEd Blankenship

Martin WoodwardGrant Holliday

Page 8: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

ffi rs.indd 04/23/2014 Page vi

Professional Team Foundation Server 2013

Published byJohn Wiley & Sons, Inc.10475 Crosspoint BoulevardIndianapolis, IN 46256www.wiley.com

Copyright © 2014 by John Wiley & Sons, Inc., Indianapolis, Indiana

Published simultaneously in Canada

ISBN: 978-1-118-83634-7ISBN: 978-1-118-83641-5 (ebk)ISBN: 978-1-118-83631-6 (ebk)

Manufactured in the United States of America

10 9 8 7 6 5 4 3 2 1

No 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 otherwise, 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, MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201) 748-6008, 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. No warranty may be created or extended 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. Neither 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 between 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-4002.

Wiley publishes in a variety of print and electronic formats and by print-on-demand. Some material included with stan-dard 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://book-support.wiley.com. For more information about Wiley products, visit www.wiley.com.

Library of Congress Control Number: 2014930418

Trademarks: Wiley, Wrox, the Wrox logo, Programmer to Programmer, and related trade dress are trademarks or regis-tered trademarks of John Wiley & Sons, Inc. and/or its affi liates, in the United States and other countries, and may not be used without written permission.] All other trademarks are the property of their respective owners. John Wiley & Sons, Inc., is not associated with any product or vendor mentioned in this book.

Page 9: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

ffi rs.indd 04/23/2014 Page vii

For Kim, Danielle, and Jessica, who keep me

grounded. With all my love.

—Steven

For my amazing wife, Lisa—the best person I’ve ever met.

—Damian

To Mom, Dad, Tiffany, Zach, Daniel, Mike, and

Grandma, and to all those on the product teams that

make this an amazing product that positively impacts

so many in the software engineering community.

—Ed

To Catherine.

—Martin

To my son, William Grant Holliday.

—Grant

Page 10: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

ffi rs.indd 04/23/2014 Page viii

Page 11: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

ffi rs.indd 04/23/2014 Page ix

ABOUT THE AUTHORS

STEVEN ST. JEAN is a Senior ALM Consultant with Microsoft’s Premier Support for Developers team. Prior to that, he worked with Notion Solutions for six years as a Senior ALM Consultant. He has twenty years of industry experience, the past seven focused on assisting clients with maturing their development processes, including the use of the Microsoft tools stack. He is a former Microsoft MVP in Visual Studio ALM, a Microsoft Certifi ed Solution Developer in Team Foundation Server (TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process and tooling topics at user groups and code camps. In his free time, he enjoys spending time with his wife and daughters, traveling, and photography. You can fi nd his technical blog at http://sstjean.blogspot.com, and his Twitter handle is @SteveStJean.

DAMIAN BRADY is a Solution Architect and State Manager for SSW in Brisbane, Australia, special-izing in Application Lifecycle Management and ASP.NET development. He spends most of his time working with teams to mature their development process, but is never too far from a keyboard—cutting code and bringing projects to completion. Damian is an MVP in Visual Studio ALM and runs the Brisbane .NET User Group and the annual DeveloperDeveloperDeveloper Brisbane confer-ence. He regularly presents at events in Australia and internationally, including Tech Ed Australia and New Zealand. You can fi nd his blog at http://blog.damianbrady.com.au, and his Twitter handle is @damovisa.

ED BLANKENSHIP works at Microsoft as the Product Manager for Visual Studio Online, Team Foundation Server, and Application Lifecycle Management. Before becoming Product Manager, he was the Program Manager for the Lab and Environment Management scenarios of the Visual Studio ALM and Team Foundation Server product family. He began working with Team Foundation Server and Visual Studio ALM from its inception nearly eight years ago.

Before joining Microsoft, Ed was awarded as a Microsoft Most Valuable Professional (MVP) for fi ve years. In 2010, he was voted the Microsoft MVP of the Year for Visual Studio ALM & TFS by his peers. Ed was also a TFS consultant and the ALM Practice Technical Lead at Imaginet (formerly Notion Solutions). Prior to consulting, Ed was the Release Engineering Manager at Infragistics, where he led a multi-year 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. He has also authored numerous articles, and spoken at various user groups, events, radio shows, and conferences, includ-ing TechEd North America. You can fi nd him sharing his experiences at his technical blog at www.edsquared.com and on Twitter with his handle @EdBlankenship.

Page 12: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

ffi rs.indd 04/23/2014 Page x

MARTIN WOODWARD is a Principal Program Manager on the Visual Studio team at Microsoft. He frequently speaks about Application Lifecycle Management and Team Foundation Server at events internationally and has coauthored several books on the topic. Before joining Microsoft, Martin worked at Teamprise and was the Team System MVP of the Year. You can fi nd more information at his blog at http://woodwardweb.com, reach him at @martinwoodward on Twitter, or listen to his podcast at http://RadioTFS.com.

GRANT HOLLIDAY is a Senior Service Engineer for Microsoft Visual Studio Online. Visual Studio Online offers Team Foundation Server and other developer services hosted in Windows Azure, accessible from anywhere using existing and familiar tools, and supporting all languages and platforms. As a Service Engineer, he works behind the scenes to keep the service up and running smoothly for customers around the world. Prior to this role, he traveled around Australia visiting customers and performing TFS and SQL health checks as a Premier Field Engineer. He also spent three years in Redmond, Washington as a Program Manager in the TFS product group. He was responsible for the internal TFS server deployments at Microsoft, including the largest and busiest TFS server in the world used by Developer Division. Grant shares his experiences managing TFS at his blog http://blogs.msdn.com/granth/.

Page 13: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

ffi rs.indd 04/23/2014 Page xi

ABOUT THE CONTRIBUTOR

EDWARD THOMSON is a Software Development Engineer for Microsoft Visual Studio, where he develops the core Git functionality for Visual Studio and Team Foundation Server. Prior to that, he developed Team Explorer Everywhere, Microsoft’s set of cross-platform version control clients for Team Foundation Server. Before joining Microsoft, Edward developed version control tools at Teamprise and SourceGear. You can fi nd Edward on Twitter as @ethomson and online at http://www.edwardthomson.com/.

ABOUT THE TECHNICAL EDITOR

ANTHONY BORTON is the lead ALM consultant for Enhance ALM Pty Ltd, an Australian consult-ing and training company specializing in Application Lifecycle Management. He delivers training on Microsoft’s ALM products through Seattle-based training provider QuickLearn Training, and is the lead ALM trainer behind www.alm-training.com. Since passing Microsoft Exam 001 back in 1993, Anthony has completed over 58 exams including Microsoft Certifi ed Solutions Developer: Application Lifecycle Management. Anthony is a sought-after trainer and has delivered technical training and consulting in the United States, Europe, and all across the Asia Pacifi c region. He is a Microsoft MVP (Visual Studio ALM) and a Microsoft Certifi ed Trainer. In his spare time he enjoys traveling and spending time with his family.

Page 14: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

ffi rs.indd 04/23/2014 Page xii

Page 15: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

ffi rs.indd 04/23/2014 Page xiii

EXECUTIVE EDITORRobert Elliott

PROJECT EDITORChristina Haviland

TECHNICAL EDITORAnthony Borton

SENIOR PRODUCTION EDITORKathleen Wisor

COPY EDITORNancy Rapoport

MANAGER OF CONTENT DEVELOPMENT AND ASSEMBLYMary Beth Wakefi eld

DIRECTOR OF COMMUNITY MARKETINGDavid Mayhew

MARKETING MANAGERAshley Zurcher

BUSINESS MANAGERAmy Knies

VICE PRESIDENT AND EXECUTIVE GROUP PUBLISHERRichard Swadley

ASSOCIATE PUBLISHERJim Minatel

PROJECT COORDINATOR, COVERTodd Klemme

PROOFREADERNancy Carrasco

INDEXERRobert Swanson

COVER DESIGNERWiley

COVER IMAGE©iStockphoto.com/36clicks

CREDITS

Page 16: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

ffi rs.indd 04/23/2014 Page xiv

Page 17: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

ffi rs.indd 04/23/2014 Page xv

ACKNOWLEDGMENTS

I’D LIKE TO THANK the entire team that worked to get this book out under an extremely tight dead-line. To my coauthor, Damian Brady, it was a blast working with you. Thanks for your diligence on top of your day job, holidays, and all the other things that life throws at you. To my Contributing Author, Ed Thomson, a big thank you for jumping in at very late notice to make sure we did justice to the Git content. To Ed Blankenship, Martin Woodward, Brian Keller, and Grant Holliday, thank you for your work on the earlier versions of this book. You have provided us with a solid, com-prehensive base to work from. A special thanks to our Tech Editor, Anthony Borton, whose deep technical knowledge kept us honest and made this a better book than we would have made on our own. To our Technical Proofreader, Anna Russo Vance, also a big thanks for stepping in late in the process and giving the text one last sweep to ensure we made the best book possible.

A big thanks to the Editorial team at Wiley, which kept us on track (cracked the whip)—Christina Haviland, Nancy Rapoport, and Robert Elliot—and to the Wiley Production team for making it all look so good.

Thanks to Brian Harry and the original Visual SourceSafe team members from OneTree Software. Visual SourceSafe was my “gateway drug” into the world of version control and Application Lifecycle Management. I’ve realized that I wouldn’t have this level of passion for ALM if I had not worked with this tool early in my career.

Thanks also to the Visual Studio team at Microsoft for producing the most complete set of ALM tools on the market and for continuing to innovate into the cloud with Visual Studio Online. I’m looking forward to some great features in the coming releases.

Finally and most importantly, I want to thank my wife, Kimberly, and my daughters, Danielle and Jessica, for putting up with me during this whole process. I’m sure it wasn’t easy. Your love and sup-port made this possible.

—Steven St. Jean

I WANT TO THANK my coauthors, Steve, Ed, Martin, and Grant, for allowing me to be a part of this edition of the book, especially to Steve for his additional mentorship and advice along the way. Thanks also to Ed Thomson for your expert contribution as we crept closer to the fi nal deadlines. The help from the MVP community as well as members of the product teams at Microsoft has been invaluable. I want to thank everyone who replied to e-mails and answered any questions I had, often with a ridiculously short turnaround.

This book would not have been possible without the support of the editors, reviewers, and all at Wiley who provided their support. A special thanks must go to Christina Haviland for her expert

Page 18: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

ffi rs.indd 04/23/2014 Page xvi

guidance as well as her understanding when I had to put the book on the backburner for a few weeks. Thanks also to Anthony for keeping us honest from a technical standpoint.

I want to thank the excellent and supportive team at SSW for pushing me to the high standards you set as consultants, and for reminding me I had work to do by all too frequently asking, “How’s the book going?” In particular, thanks to SSW’s illustrious leader Adam Cogan, whose infl uence and enthusiasm have helped me achieve some goals that once seemed a long way off. I also want to acknowledge the fantastic developer community in Australia and Brisbane, in particular. I’m privi-leged to work in an environment with so many smart and dedicated professionals.

Finally, I want to thank my family: Johnny, Ma, Pat, Sarah, and Roo. I’m very lucky to have one of those rare families you can always depend on when you need them. Most important, thank you to my amazing wife, Lisa. Marrying you will always be my greatest achievement. You have encouraged me, supported me through many a late night and weekend, and feigned interest in the book even though I might as well have been writing in Latin. I love you and I’m so proud to have you with me as we work toward our goal of being wealthy, unemployed, multilingual, professional surfers. Or something.

—Damian Brady

I REALLY 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 my coauthors for the great teamwork and contributions that have made this book awesome. I have really appreciated their guidance along the way, as well as all of the new things that I have learned from each author’s expertise. I truly enjoyed working with y’all.

The help from each of the product teams to put together such a great book can’t be discounted! A personal thanks to Brian Harry, Sam Guckenheimer, Matt Mitrik, Mario Rodriguez, Anu, Muthu, Aseem, Nipun, Satinder, Gregg Boer, Jim Lamb, Jason Prickett, Chad Boles, Phillip Kelley, Christophe Fiessinger, and Chris Patterson on the product teams at Microsoft. I appreciate all of their contributions, advice, and, most of all, their in-depth insight into the product over the years to provide a better understanding of all the moving wheels of Team Foundation Server.

I also want to thank all of my former Microsoft MVP colleagues who have been a great group to be a part of as well as to work with now. A special thanks goes to Mike Fourie, Tiago Pascoal, Anthony Borton, Steve Godbold, Mickey Gousset, Steve St. Jean, Chris Menegay, Dave McKinstry, Joel Semeniuk, Adam Cogan, and Neno Loje for all of their 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 fueling my enthusiasm. Thanks also to my family and friends for their guidance along the way and for always supporting me. I couldn’t have done this without each of you.

—Ed Blankenship

Page 19: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

ffi rs.indd 04/23/2014 Page xvii

I WANT TO THANK my coauthors for allowing me to help them in putting this book together. You will struggle to meet a group of folks who know the breadth of Team Foundation Server better than they do, and it has been a pleasure to work with them all.

My colleagues in the entire Team Foundation Server group (past and present) have obviously been essential in the making of this book, but I would like to especially acknowledge the help, advice, and assistance from the following people both inside and outside Microsoft—Aaron Hallberg, Philip Kelley, Chad Boles, Buck Hodges, Matthew Mitrik, James Manning, Jason Prickett, Ed Holloway, Doug Neumann, Ed Thomson, Peter Provost, Terje Sandstrom, and William Bartholomew. I also want to thank the ALM Rangers and ALM MVPs that make the Team Foundation Server commu-nity such a vibrant community to be a part of.

Finally, I want to thank my wife, Catherine. I owe Catherine so much for so many things, both big and small. I know that she signed up for “in sickness and in health” on that wonderful day in Newcastle when she agreed to be my wife, but I’m pretty sure she’d have thought again if our vows had been “in sickness and in health, through the course of four books and through the countless nights apart or vacation days messed up due to my husband not understanding the term ‘work/life balance.’” Lucky for me, she keeps her promises. And I promise 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. Once again, we formed the dream team of Team Foundation Server knowledge and experience.

Thank you to my co-authors, Steve, Damian, Ed, and Martin. 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.

Second, I’d like to thank the Microsoft Services team in Australia and the worldwide Premier Field Engineering team. I returned home after some time in Corp, and you welcomed me with open arms into your organizations—I am truly honored to call myself a PFE.

A big thank you to Brian Harry and the Team Foundation Server team in Redmond and Raleigh. The TFS team is truly world-class in its customer focus, and I am lucky to work with such great technical talent.

Finally, I want to thank my family for all the late nights and weekends it took to get this over the line.

—Grant Holliday

Page 20: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process
Page 21: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

ftoc.indd 04/23/2014 Page xix

CONTENTS

INTRODUCTION xxxix

PART I: GETTING STARTED

CHAPTER 1: INTRODUCING VISUAL STUDIO ONLINE AND TEAM FOUNDATION SERVER 2013 3

What is Team Foundation Server? 3What is Visual Studio Online? 5What’s New in Team Foundation Server 2013? 5

Version Control 5Team Collaboration 6Web Access 6Agile Product Management 7Release Management 7

Acquisition Options 7Visual Studio Online 8Express 9Trial 9Volume Licensing 10MSDN Subscriptions 10Microsoft Partner Network 11Retail 11

Summary 11

CHAPTER 2: PLANNING A DEPLOYMENT 13

Identifying and Addressing Software Engineering Pain 13Transparency of the Release or Project 14Collaboration across Different Teams and Roles 15Automated Compilation, Testing, Packaging, and Deployment 15Managing Test Plans 15Parallel Development 16

Adopting Team Foundation Server 16Adoption Timeline 16Phased Approach 17Hosting Team Foundation Server 19

Page 22: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

xx

CONTENTS

ftoc.indd 04/23/2014 Page xx

Identifying Affected Teams 20Generating Consensus 20Team Foundation Server Administrator 21Pilot Projects 21

Migration Strategies 22Version Control 22Work Item Tracking 23

Structuring Team Project Collections and Team Projects 24Considering Limitations in Team Foundation Server 26Server Limitations 29

Preparation for a Team Foundation Server Environment 30Understanding the Architecture and Scale-Out Options 30Hardware Requirements 33Virtualization 33Planning for Software Prerequisites 35Service Accounts 38File Share Folders 39SMTP Server 40Firewall Concerns and Ports Used 40Friendly DNS Names 40Legacy Visual Studio Versions 42

Summary 43

CHAPTER 3: INSTALLATION AND CONFIGURATION 45

What You’ll Need 45Team Foundation Server 2013 46Team Foundation Server 2013 Installation Guide 47SQL Server 2012 48Operating System 48SharePoint 49Client Software 49Service Packs and Other Updates 49

Installing Team Foundation Server 50Installation Types 51Confi guring Team Foundation Server 54Creating Your First Team Project 58Confi guring Friendly DNS Names 61Summary 61

Page 23: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

xxi

CONTENTS

ftoc.indd 04/23/2014 Page xxi

CHAPTER 4: CONNECTING TO TEAM FOUNDATION SERVER 63

Team Foundation Server Architecture 63Addressing Team Foundation Server 65Introducing Team Foundation Server Security and Roles 67

Users 68Groups 68Permissions 69

Team Explorer 69Understanding Team Explorer in Visual Studio 70Connecting to Team Foundation Server from Eclipse and Cross-Platform 75

Alternate Ways to Connect to Team Foundation Server 78Accessing Team Foundation Server through a Web Browser 78Using Team Foundation Server in Microsoft Excel 79Using Team Foundation Server in Microsoft Project 81Windows Explorer Integration with Team Foundation Server 82Connecting Microsoft Test Manager to Team Foundation Server 83Access to Team Foundation Server via Third-Party Integrations 84

Summary 84

PART II: VERSION CONTROL

CHAPTER 5: OVERVIEW OF VERSION CONTROL 87

What Is Version Control? 87Repository 88Working Copy 89Working Folder Mappings 90Get/Clone/Pull 90Add 90Check-Out 91Changeset/Commits 91Check-in/Commit 91Push 92History 92Branching and Merging 92

Page 24: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

xxii

CONTENTS

ftoc.indd 04/23/2014 Page xxii

Centralized Versus Decentralized Version Control 93Centralized version Control 93Distributed Version Control Systems 94Differences between Centralized and Distributed Version Control Systems 94

Common Version Control Products 95Microsoft Visual SourceSafe 96Apache Subversion 96Team Foundation Version Control 97Git in TFS 98

Summary 99

CHAPTER 6: USING CENTRALIZED TEAM FOUNDATION VERSION CONTROL 101

Getting Started with Team Foundation Server Version Control 102Learning What’s New in Team Foundation Server 2013 Version Control 105Team Foundation Server Version Control Concepts 106

Workspace 106Working Folder Mappings 110Get 114Check-Out 117Locks 117Check-In of Pending Changes 119Undo Pending Changes 126Changeset 126Shelvesets 128Branches 129

Using Source Control Explorer 130Viewing History 132Labeling Files 133Recovering When Things Go Wrong 134

Keeping on Task with My Work 136Managing Code Reviews 141

Requesting a Code Review 142Performing a Code Review 143Completing the Code Review 146

Team Foundation Server Version Control in Eclipse 147Installing the Team Foundation Server Plug-In for Eclipse 149Sharing Eclipse Projects in Team Foundation Server 150

Page 25: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

xxiii

CONTENTS

ftoc.indd 04/23/2014 Page xxiii

Importing Projects from Team Foundation Server 153Differences between the Eclipse and Visual Studio Clients 154Team Foundation Server Version Control from the Command Line 155Getting Help 156Using the Command Line 156

Team Foundation Version Control Power Tools and Third-Party Utilities 157

Microsoft Visual Studio Team Foundation Server Power Tools 157Team Foundation Server MSSCCI Provider 158

Version Control Security and Permissions 158Switching Version Control to Team Foundation Server 160

Working with Team Foundation Version Control for Visual SourceSafe Users 160Using Team Foundation Version Control for Subversion Users 162

Summary 164

CHAPTER 7: DISTRIBUTED VERSION CONTROL WITH GIT AND TEAM FOUNDATION SERVER 167

Distributed Version Control Concepts 168Git 168Repository 169Graph 170Commit 171Branches 171Topic Branches 172HEAD 173Working Directory 174Index 174

Microsoft Visual Studio Integration 175Getting Started with a Repository 175Making Changes in a Working Directory 179Committing Changes 182Branching and Merging 183Synchronizing Changes with the Server 188

Using Git Command-Line Tools 191Installing Git for Windows 192Cloning Git Repositories Hosted in Team Foundation Server 193Making Changes in the Repository 194Viewing History 196

Page 26: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

xxiv

CONTENTS

ftoc.indd 04/23/2014 Page xxiv

Branching and Merging 197Synchronizing with the Server 198Using Posh-Git 199

Summary 200

CHAPTER 8: VERSION CONTROL IN HETEROGENEOUS TEAMS 201

What Are Heterogeneous Teams? 201Working Together Seamlessly 202Xcode Development 202

Using a Git-Based Team Project 202Using a TFVC-Based Team Project 206

Eclipse Development 206Installing Team Explorer Everywhere 207Connecting Team Explorer Everywhere to Team Foundation Server 212Using Team Foundation Version Control 215Using Git 221

Working with the Cross-Platform Command-Line Client 221Install and Connect 222Creating a Workspace Mapping 224Performing a Get from Team Foundation Server 224Editing Files and Committing Changes 225

Summary 226

CHAPTER 9: MIGRATION FROM LEGACY VERSION CONTROL SYSTEMS 227

Migration Versus Upgrade 228Upgrade 228Migration 228

Migrating History or Latest Version 229Migrating from Visual SourceSafe 230

Preparing to Use the VSS Upgrade Wizard 231Using the Visual SourceSafe Upgrade Wizard 232

Team Foundation Server Integration Platform 238Popular Third-Party Migration Tools 240

Subversion, CVS, and StarTeam 240ClearCase 241

Summary 241

Page 27: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

xxv

CONTENTS

ftoc.indd 04/23/2014 Page xxv

CHAPTER 10: BRANCHING AND MERGING 243

Differences Between TFVC and Git When Branching and Merging 244Branching Demystifi ed 244

Branch 244Merge 245Confl ict 245Branch Relationships 246Baseless Merge 247Forward/Reverse Integration 247Push/Pull 247

Common Branching Strategies 247No Branching 248Branch per Release 250Code Promotion Branching 251Feature Branching 252

Implementing Branching Strategies in Centralized Version Control 253

The Scenario 253The Plan 254Implementation 254Dealing with Changesets 260Tracking Change through Branches 272

Implementing Branching Strategies in Git 274No Branching Strategy 274Feature Branching Strategy 277

Summary 280

CHAPTER 11: COMMON VERSION CONTROL SCENARIOS 281

Setting Up the Folder Structure for Your Branches 281Application Source Code 282Automated Tests Source Code 283Architecture Assets 283Database Schema 283Installer Assets 284Build and Deployment Assets 284

Third-Party Source Code and Dependencies 284Folder inside the Branch 285Folder at Team Project Level 287

Page 28: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

xxvi

CONTENTS

ftoc.indd 04/23/2014 Page xxvi

Internal Shared Libraries 289Choosing a Location in Version Control 289Storing Library Assemblies as Dependencies 292Branching into Product Family Branches 294

Managing Artifacts Using Team Foundation Server 295SQL Reporting Services Encryption Key Backup 296Process Templates 297Custom Build Assemblies 297Master Build Process Templates 299Source Code for Custom Tools 299

Summary 300

PART III: PROJECT MANAGEMENT

CHAPTER 12: INTRODUCING WORK ITEM TRACKING 303

Project Management Enhancements in Team Foundation Server 2013 304

Rich Work Item Relationships 304Test Case Management 305Agile Portfolio Management 305Enhanced Reporting 306SharePoint Server Dashboards 306Agile Planning Tools in Team Web Access 307

Work Items 308Work Item Types 308Areas and Iterations 309

Process Templates 313MSF for Agile Software Development 314MSF for CMMI Process Improvement 316Visual Studio Scrum 320Third-Party Process Templates 321Custom Process Templates 321

Managing Work Items 321Using Visual Studio 322Using Microsoft Excel 327Using Microsoft Project 329

Page 29: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

xxvii

CONTENTS

ftoc.indd 04/23/2014 Page xxvii

Using Team Web Access 329Using Third-Party Tools 331

Project Server Integration 332Summary 332

CHAPTER 13: CUSTOMIZING PROCESS TEMPLATES 333

Anatomy of a Process Template 334Plug-In Files 334Default Security Groups and Permissions 336Initial Area and Iteration Nodes 338Work Item Type Defi nitions 338Initial Work Items 349Work Item Queries and Folders 349Microsoft Project Column Mappings 349Version Control Permissions and Settings 351SharePoint Project Team Portal Document Library Settings 352SQL Reporting Services Report Defi nitions 353

Using the Process Template Editor 353Installing the Process Template Editor 353Working with a Process Template 354Using an XML Editor and WITAdmin 355

Deploying Updates to Process Templates 357Uploading Process Templates in Team Foundation Server 357Editing Work Items on an Existing Team Project 357

Customizing Agile Tools 359Metastates and Backlogs 359Effort, Remaining Work, and Stack Rank 361Defi ning the Team 362Other Process Confi guration Customizations 362

Common Work Item Type Customizations 362Adding New States 362Displaying Custom Link Types 363Synchronizing Name Changes 364

Introducing Custom Work Item Controls 365Work Item Clients 365Work Item Control Interfaces 366

Page 30: PROFESSIONALdownload.e-bookshelf.de/download/0002/5125/62/L-G...(TFS), and an author and technical editor of a number of books pertaining to ALM and TFS. He speaks on various ALM process

xxviii

CONTENTS

ftoc.indd 04/23/2014 Page xxviii

Deploying Custom Controls 370Work Item Custom Control Deployment Manifest 371Using the Custom Control in the Work Item Type Defi nition 371

Summary 372

CHAPTER 14: MANAGING TEAMS AND AGILE PLANNING TOOLS 373

Defi ning a Team 374Maintaining Product Backlogs 379

Managing the Backlog 379Agile Portfolio Management 382

Planning Iterations 383Tracking Work 386

Using the Kanban Board 386Using the Task Board 388

Customization Options 390Team Rooms 391Stakeholder Feedback 393

Requesting Feedback 394Providing Feedback 396Voluntary Feedback 399

Summary 399

CHAPTER 15: REPORTING AND SHAREPOINT DASHBOARDS 401

What’s New in Team Foundation Server 2013? 402Work Item Charting in Web Access 402Cross-Collection Reporting Support 407Changes to the Relational Warehouse 407Changes to the Analysis Services Cube 408Optional and Richer SharePoint Integration 409

Team Foundation Server Data Warehouse 410Operational Stores 410Relational Warehouse Database and Warehouse Adapters 411Querying the Relational Warehouse Database 411Analysis Services Cube 414Data Warehouse Permissions 416

SharePoint Integration 417SharePoint Extensions 417Excel Services and Dashboard Compatibility 417Adding a Project Portal and Reports to an Existing Team Project 418