使用 Visual Studio Team
Foundation Server 进行
团队开发
本书共分四部分,此为第一部分
包括基础知识、源代码管理、生成、大型项目考虑事项
项目管理、过程指南、报告、设置和维护团队环境和
Visual Studio 2008 Team Foundation Server等九章节
使用 Visual
Studio Team Foundation
Server 进行团队开发
模式与实践
J.D. Meier
Jason Taylor
Alex Mackman
Prashant Bansode
Kevin Jones
本文档中的信息(包括 URL 和其他 Internet 网站引用)如有更改,恕不另行通知。除非另有声明,否则此处
描述的示例公司、组织、产品、域名、电子邮件地址、徽标、人物、地点和事件都是虚构的,无意与任何真实
的公司、组织、产品、域名、电子邮件地址、徽标、人物、地点或事件相关联,也不应进行这方面的推断。遵
守所有适用的版权法律是用户的责任。未经 Microsoft Corporation 明确的书面许可,不得出于任何目的或以
任何形式或任何手段(电子、机械、复印、记录或其他方法)复制本文档的任何部分,或者将其存储或引入检
索系统,或者将其进行传播。受版权法保护的权利不受此限制。
对于本文档中的主题,Microsoft 可能具有专利、专利申请、商标、版权或其他知识产权。除非 Microsoft 的任
何书面许可协议明确提出,否则,本文档的提供并不表示 Microsoft 已将这些专利、商标、版权或其他知识产权
的任何许可权限授予您。
© 2007 Microsoft Corporation。保留所有权利。
Microsoft、MS-DOS、Windows、Windows NT、Windows Server、Active Directory、MSDN、Visual Basic、
Visual C++、Visual C#、Visual Studio 和 Win32
是 Microsoft Corporation 在美国和/或其他国家或地区的
注册商标或商标。
本文档中提及的所有公司和产品属于其各自所有者的商标。
Jeff Beehler 撰序
序言
发布 Microsoft® Visual Studio® 2005 Team Foundation Server (TFS) 之前,我们自己先进行了一次尝试—
—使用它来开发 TFS。在项目的最后 18 个月中,我们尽可能地应用它来管理项目的开发生命周期,这
也就是所谓的“Dogfooding”(内测)。通过这种内部先行试用,我们对自己创建的这一强大系统有了更
多的认识。我们确实发现并修复了很多质量问题,使最终产品更稳定、性能更高,如果不使用这种方法,
根本无法做到这一点。但更重要的是,我们更清楚了使用这种工具的最佳方式。这些经验与客户体验反
馈一起构成了这份指南的基础。
初看起来,读者可能认为这些信息应该属于产品文档的内容,甚至就可以取代产品文档。实际上,我
曾经也有过这种想法。然而,在与 J.D. Meier 和本指南的其他作者协作工作了一段时间后,我就清楚
地认识到,这两者的区分是很自然而且很重要的。我认为将这两份指南比作您的车主手册和驾驶员指
南再恰当不过了,两者都是必要的,但其目的又各有不同。按照惯例,产品团队只关注产品文档,而
将指导方面的工作留给其他人员。现在尽管我们依然要依靠其他人员来帮助解决问题,但已经开始在
指南部分投入更多的时间和精力,因为我们意识到产品的成功采用的重要性,以及它在提高整体客户满
意度方面的意义。
TFS 就如同汽车,是一种强大的工具,能够帮助您和您的团队更接近目标,这份指南则会帮助您实现
目标。每个团队根据其具体需求和历史情况的不同,都会以不同方式或多或少地接触 TFS。出于这方
面的考虑,我们撰写这份指南时采用了这样一种方式:即如果您希望了解全部内容,可以从头读到尾;
如果只需要部分指导,也可以细读具体的主题。
客户反馈是我们撰写这份指南的最初动力,今后也将一直引导我们的方向,并帮助我们实现目标。我们
深信,与闭门造车相比,像这样将社区纳入项目之中能够使内容更有用,最终使我们的指南更加成功。
按照这种思路,真正的用户将帮助我们决定要写哪些内容、要推荐哪些最佳实践,以及如何组织内容。
我们的收集整理工作尚未完成,请帮助我们继续改进这份指南,告诉我们您还希望本指南中涵盖哪些内
容。TFS 的覆盖面如此广泛,有时甚至连我们也觉得难以全面掌握。有了您的加入,我们就可以帮助客
户更好地利用我们所开发的工具。
TFS 的设计目的是使团队协力交付更好的软件。通过在内部先行试用 TFS,我们已经使自己的团队协同
工作,我希望您也会同意,这就是最好的成果。这份指南能够帮助您和您的团队在下一个项目中实现此
远景。
祝您一切顺利!
Jeff Beehler
主管,Visual Studio Team System 2007 年 7 月
Jeff Beehler
是 Team System 的主管。从科罗拉多大学毕业之后,他于
1990
年在
Microsoft
开始了自
己的职业生涯,最初致力于
Visual C++
的早期版本。
1996
年,他离开了
Microsoft
,转向自己的其他
兴趣所在,包括咨询、在小学教学,还建立了自己的家庭。
2003
年,他回到了
Microsoft
,从事
Visual
Studio Team System
方面的工作,在这里,他参与了项目的多个方面,从规划、执行一直到发布。他积
极参与
Team System
各个部分的内部先行试用工作,这有助于进一步提高他的职业技能。在业余时间,
Jeff
喜欢与家人分享时光、摄影以及在西部地区参与户外运动。
Rob Caron 撰序
序言
自 Visual Studio Team System 问世以来,我们就知道,软件开发团队需要的内容比我们在发布之前提供
的内容要多的多。具体来说,我们知道他们需要经过证实的指南和最佳实践,但是,只有产品已经深入
应用于大量团队的多种环境、项目和方案并经过验证后,我们才可能得到这些知识。
遗憾的是,经过证实的指南和最佳实践的确认与开发需要时间。在过去几年,我们已经掌握了大量关
于 Team System 使用的知识,特别是 Team Foundation Server。但那些知识并非总是能够轻松发现和理
解。模式与实践方面的行家 J.D. Meier 及其团队为此付出了好几个月专注、系统化的工作。
最终,漫长的等待结束了!“使用 Visual Studio Team Foundation Server 进行团队开发”代表了直接或间
接无数为此项目作出贡献的工作人员的集体智慧。组织这些内容的团队并未忽略先驱者的经验。他们在
分散的博客文章、论坛文章、论文等资料中精挑细选,以更好地理解团队是如何“自由”采纳和使用 Team
System 的。
在这个过程中,他们观察了影响软件开发团队的关键领域;确认了哪些实践能够带来可预测、可重
复的成功。部分信息最丰富的内容解释了许多 Team Foundation Server 功能领域,如工作项跟踪、报
告和过程模板。
回想起来,我很高兴自己能够成为文档团队的一员,能够耐心地将这项工作延后,而不是试图提供充
满“最佳猜测”的内容。我向在没有这些内容的情况下苦苦煎熬的所有人道歉,还要感激不屈不挠的
Team System 早期用户。
Rob Caron
首席产品经理,Microsoft
Corporation,2007 年 7 月
Rob Caron
是
Microsoft Developer Content Strategy
的首席产品经理。
Rob
于
1999
年作为
Visual Studio
产品文档作者加入
Microsoft
。多年来,他为
Visual Studio .NET 2002
、
Visual Studio .NET 2003
和
Visual
Studio Team System
的内容均作出了自己的贡献。在
2004
年中期,他建立了自己的博客,其博客现已
成为
Team System
相关信息的中转站。从事内容创建工作七年以后,
Rob
在
2006
年秋季调入
Developer Marketing
团队。现在,他率领着一支小组,集中关注
Microsoft
越来越复杂的开发者形势,
并以简化这种形势为目标。