Team Foundation 项目主管具有一些普通项目成员和管理员不具有的处理团队项目的责任和权限。
一、 创建和管理团队项目
作为团队项目经理,项目经理有责任创建团队项目并确保团队达到原先制定的目标。
为了达到预先制定的目标,Team Foundation Server建议从项目的以下几个方面入手。
(一)计划团队项目
在创建团队项目之前,项目主管应该仔细计划项目的范围,并考虑团队项目将来的修改、增长和维护途径。
微软为此提供一个问题列表,用来帮助项目主管确定是需要“创建新团队项目”还是“扩展现有项目”。这个问题列表的目的是为了项目主管提供一个思考项目问题的出发点,并不是针对所有软件开发项目提供的详尽的或确定性的信息。
微软提供了下面一个“决策树”,用来帮助项目主管决定是否应该为项目创建新的团队项目。如果这个“决策树”中的大多数问题的回答都是“是”,则表示应该在Team Foundation Server中创建新的团队项目。(本图是决策的一个总体流程图,后面会对每一个子步骤进行详细分解)
(总图1)
u 上图中“与团队项目相关的问题”子步骤可以分解为以下子问题:
(子图1)
本图中每一个子问题的含义在微软的官方网站中均有详细解释。可以从
http://msdn.microsoft.com/zh-cn/library/ms242894.aspx#CurrentTeamProject
得到。
u (总图1)中“TFS相关问题”子步骤可以分解为以下子问题:
(子图2)
本图中每一个子问题的含义在微软的官方网站中均有详细解释。可以从
http://msdn.microsoft.com/zh-cn/library/ms242894.aspx#CurrentTeamProject
得到。
u (总图1)中“与结构相关的问题”子步骤可以分解为以下子问题:
(子图3)
本图中每一个子问题的含义在微软的官方网站中均有详细解释。可以从
http://msdn.microsoft.com/zh-cn/library/ms242894.aspx#CurrentTeamProject
得到。
u (总图1)中“与过程相关的问题”子步骤可以分解为以下子问题:
(子图4)
本图中每一个子问题的含义在微软的官方网站中均有详细解释。可以从
http://msdn.microsoft.com/zh-cn/library/ms242894.aspx#CurrentTeamProject
得到。
需要说明的是,上面的问题并不是对所有项目的计划内容的所有方面的总结,仅是提供一个思考的出发点。但这并不影响上面“决策树”的价值,该“决策树”对使用Team Foundation Server对团队项目做出计划方面给出一个很好的导引作用。
(二)创建团队项目
由于团队所进行的大部分工作都是在“团队项目”的界限和设计中进行的,因此创建“团队项目”是使用 Team Foundation Server 的一个关键方面。
使用“新建团队项目向导”创建新团队项目的步骤很简单,但必须谨慎计划“团队项目”,以确保它具有必要的容量、灵活性和长期性。
(三)共享团队项目资源
在Team Foundation Server中,不能直接跨“团队项目”共享团队项目特定的设置、对象和过程模板。过程模板、版本控制设置、签入策略、生成类型和“工作项定义”等内容在不同的“团队项目”之间是隔离的,因而无法在不同团队项目中共享使用。
u 共享过程模板
要在团队项目间共享同一过程模板,可将过程模板存储在 Team Foundation Server 中并在每次创建新的团队项目时使用该模板。
u 共享过程指南
要在团队项目间共享同一过程指南,可将过程指南文档存储在各个团队项目之外的一个公共位置。
u 共享团队“项目项”
要共享使用在“源代码管理树”中的“项目项”内容(例如源代码),有两种方法:
(1) 复制“源代码管理树”分支,以在目标团队项目中创建相同的目录结构和内容
(2)将“项目项”从源团队项目手动复制到目标团队项目。
如果要共享使用未存储在“源代码管理树”中的工作项、文档、报告、版本、测试或源代码等内容,可以将这些项从“源团队项目”复制到“目标团队项目”。这样虽然源信息和目标信息之间不存在动态关系(即更改其中一个不会同时更改另一个),但位于某一团队项目中的项所包含的信息可以用于其他团队项目中。
(四)拆分团队项目
在使用 Team Foundation Server 管理多个团队项目时,可能会遇到需要将一个“团队项目”拆分为两个(或更多)单独的团队项目的情况。
拆分团队项目有两种方式:
u 继续使用原始团队项目并为第二个新建的“团队项目”创建新分支。
u 创建两个(或更多)新团队项目而不再使用原始团队项目。
具体的“拆分项目”的步骤,由于只涉及到Team Foundation Server的具体操作,可以从:
http://msdn.microsoft.com/zh-cn/library/ms242901.aspx
找到。
(五)合并两个团队项目
在使用 Team Foundation Server 管理多个团队项目时,可能会遇到需要将两个(或更多)团队项目合并到单个团队项目中的情况。
合并两个团队项目有两种方式:
u 将一个团队项目合并到另一个团队项目中
u 将两个(或更多)团队项目合并到第三个新团队项目中
具体的“合并两个团队项目”的步骤,由于只涉及到Team Foundation Server的具体操作,可以从:
http://msdn.microsoft.com/zh-cn/library/ms242893.aspx
找到。
(六)自定义团队项目
当创建新的团队项目时,团队项目设置、工具和内容是由在“新建团队项目向导”中选择的“过程模板”确定的。
当使用“团队项目”过程中,可能会发现初始设置已不能满足项目的实际需求,因此就需要对团队项目进行自定义。例如,如果在创建团队项目时使用了 MSF for Agile Software Development 过程模板,可能会发现由该模板创建的某些组过于笼统,需要进行进一步的细化,因此就可以对该组进行“自定义”。
在Team Foundation Server中可以自定义以下几个方面的内容:
l 组和权限:如果默认组不充分或不适合,可以更新这些组或创建新组。还可以在组中增减个别用户,或者授予和撤消组的权限。
l 工作项类型和查询:可以自定义工作项类型以适合我们自己的工作流,还可以创建我们自己的公共查询或私有查询。我们可以对工作项做以下几种更改:
(1)添加字段
(2)重命名字段
(3)限制字段的允许值列表
(4)更改状态和受支持的状态转换
(5)使字段成为必选字段或只读字段
(6)使一个字段依赖于另一个字段
(7)自动填充字段值
(8)重新排列信息在窗体中的显示形式
(9)更改某个字段所映射到的 Microsoft Project 列
(10)生成工作项类型
l 源代码管理签入说明和策略:如果默认签入说明不充分或不适合,您可以添加或移除签入说明字段,或使某些字段成为必选字段,而使其他字段成为非必选字段。如果默认签入策略不恰当或不适合,则您可以添加、更新或删除个别签入策略。
l 区域和迭代:当使用过程模板创建新的团队项目时,该团队项目并不包含区域或迭代的分类结构。通过按区域或迭代对“团队项目”的功能/组件进行分类,可更新团队项目的结构。
l 团队门户:如果团队项目使用团队门户,则该门户极有可能是用来向团队成员传达信息的中心点。可以更改该门户或其内容的外观和行为。
l 过程指南:过程指南解释团队项目中所使用的所有角色、窗体、报告和工作流。可以编辑 Team Foundation Server 附带的过程指南,以自定义团队应遵循的过程。
l 团队报告:通过使用SQL Server 2005报表服务设计器或者通过提取报告并手动编辑其 XML,可以创建自己的自定义报告。
l 生成类型:每个团队项目可以有自己的生成类型。
(七)使用团队资源管理器配置团队项目
“团队资源管理器”为用户提供了团队项目的有序视图。
“团队资源管理器”一次仅显示一个 Team Foundation Server 中的团队项目。首次打开“团队资源管理器”时,它为空。必须将它连接到 Team Foundation Server。然后可以选择要在“团队资源管理器”中显示的团队项目。
“团队资源管理器”是管理Team Foundation Server的主要工具,通过它可以对以下资源进行管理:
u 收藏夹
u 团队项目
u 版本控制
u 工作项
u 文档
u 报告
u Team Foundation Build
具体的信息涉及到操作步骤,可以从:
http://msdn.microsoft.com/zh-cn/library/ms181472.aspx
找到。
(八)作为项目主管跨团队项目工作
作为团队项目经理或主管,很可能要同时管理多个团队项目。Team Foundation Server 带有多个可帮助项目主管跨“团队项目”进行管理和执行工作的工具。
可以从以下三个方面来跨团队项目工作:
l 跟踪分配的工作项:如果项目主管正在从事多个团队项目,那以他可能希望跨所有团队项目轻松地查看分配给您的所有工作项。
l 组织您的收藏夹项: 当项目主管从事多个团队项目时,可能希望创建一个中心位置,以便于查找使用最频繁的工作项查询、文档、报告和生成类型等等。
l 创建自定义报告:如果项目主管想跨团队项目了解有关代码覆盖率、测试结果以及生成状态等等的信息,则会希望创建针对项目主管的特定的自定义报告。
以上三个方面都涉及到具体操作。可以从:
http://msdn.microsoft.com/zh-cn/library/ms242898.aspx
找到。
(九)将团队项目从一个版本移到下一版本
如果项目主管正在管理的团队项目已完成一个主要迭代或者里程碑,或者团队项目变化太大与正在推进的现有工作流不兼容,这时,项目主管可以将此团队项目从当前版本升级到下一版本来解决此类问题。
具体做法是基于现有的团队项目创建新的团队项目。将团队项目从一个版本移至下一个版本涉及分支源代码、复制项和在新团队项目中重新创建现有项的某种组合等方面的工作,大致上可以分为以下几步:
(1)创建新的团队项目
(2)将旧团队项目中的工作项移至新团队项目
(3)设置新团队项目的用户权限
(4)将旧团队项目中的文档复制到新团队项目
(5)为新团队项目创建区域和迭代
(6)创建签入策略
(7)创建警报
(8)确定是否适合新建备份