TFS对软件项目的简单管理


TFS对软件项目的简单管理 (learnfuture.com)

TFS对软件项目的简单管理

——利用TFS进行软件项目管理(二)

刘梦奇

【摘要】

在当今软件开发日常运用技术愈加成熟的时代,技术已经不是软件开发的瓶颈。目前,大多数软件项目都存在技术成熟、开发周期偏短的特点,在这种情况下,管理已经逐步取代技术的位置,成为软件项目成功的关键。好的管理才能开发出好的软件,才能在客户对项目的需求、预算、时间等等条件下成功完成项目交付。

TFS作为微软在软件开发管理领域,在VSSOfiiceProject等工具的基础上,优化结合而推出的最新软件开发管理工具,它囊括了一个软件的整个生命周期管理,包括前期的需求分析、项目计划;以及随后的代码编写、测试及BUG查找修复,生成,版本控制等等。是适应当前软件发展的最优管理工具之一。

【正文】

一、    准备

开始创建新的团队项目之前,我们应收集以下信息:

n  要为项目使用的过程。

创建新的团队项目时,要用于管理项目的过程决定了应该选择什么模板。它还可帮助我们评估应该在何种程度上定制所提供的模板。如果希望采用灵活的项目执行风格,则可以选择用于“敏捷软件开发”(MSF)模板的“Microsoft 解决方案框架”(MSF),然后考虑进行任何所需的定制。

n  项目名称。

要慎重考虑团队项目的命名约定。确保项目名称具有足够的唯一性,且项目名称要便于其他人员查找。一些组织使用项目代码作为名称的一部分,而有些组织则可能使用部门和项目题目的组合。

n  源代码管理结构。

考虑是否需要从一个空的源代码管理树开始,还是应基于现有源代码开始。基于代码和分支需求来确定适当的源代码管理结构。(如对设计源代码管理文

件夹结构感兴趣,请参阅参考资料中 “如何在Visual Studio Team

 Foundation Server 中设计源代码管理文件夹的结构”)

二、    选择过程模板

从选择过程模板开始。考虑要为项目使用的过程,然后检查TFS 所提供的两种模板的不同功能。要评估的功能包括工作项定义(它们是否提供了足以满足需求的字段?)、文档模板、工作流、签入策略和报告。

TFS 提供了以下两种过程模板:

n  用于敏捷软件开发的MSFMSF Agile

这是为小型和非正式软件项目提供的轻量级过程。这种过程模板基于场景和上下文驱动的操作,它既以项目为中心,又以团队成员(人员)为中心。

n  用于 CMMI? Process Improvement MSFMSF CMMI

这是为更成熟的软件项目设计的过程。它扩展了MSF Agile,提供了对审计、验证和正式过程的支持。它依赖且遵守过程,并且以组织为中心。

三、    创建团队项目

选定想要使用的模板之后,就可以开始创建新的团队项目了。创建新的团队项目:

1.         确保Visual Studio 连接到TFS 实例。

2.         在团队资源管理器中,右击服务器节点然后单击“新建团队项目…”。

3.         在“新项目创建向导”的第一页,输入团队项目的名称然后单击“下一步”。

image001.jpg

4.         在“选择一个过程模板”页面,从下拉列表中选择第一步中选定的过程模板。对于本示例,选择“MSF for Agile Software Development v6.0”过程模板,然后单击“下一步”。

image002.jpg

5.         在“团队网站设置”页面,配置站点路径,然后单击“下一步”。此处提供的路径名称用于生成团队门户的 Microsoft Windows SharePoint? Services 网站。

6.         在“指定源代码管理设置”页面中,选择“创建一个空源代码管理文件夹”,然后单击“下一步”。

image003.jpgimage004.jpg

7.         在“确认团队项目设置”  页面中,检查设置然后单击“完成”。

image005.jpg

这将基于MSF Agile 过程模板在TFS 服务器上创建一个团队项目。

四、    创建安全组

TFS 中创建项目时,无论选择了怎样的过程模板,都会为该项目创建四个默认组。默认情况下,这些组均拥有一个预定义的权限集,用于控制组成员的权限。

image006.jpg

    我们可以为团队项目创建一个安全组,以便更好地满足组织的安全需求。创建安全组是为一组用户授予团队项目的指定权限集的有效方法。确保仅为该组授予了必要的最少权限,仅添加了必须属于这个新团队项目组的用户或小组。

要执行此过程,我们必须是项目管理员组的成员,而不一定需要是Windows管理员。

五、    添加 Team Foundation Server 中的团队成员

在这一步中,我们确定将要在项目上使用的资源以及它们的角色,然后将这些运输队成员分配给TFS。我们可以将用户添加到现有团队项目组或服务器级(server-level)组。我们还必须为创建的组添加成员。只有Team Foundation 管理员组的成员才能执行这些步骤。

1.         在“团队资源管理器”中选择团队项目。

image007.jpg

2.         在“团队”菜单中指向“团队项目设置”,然后单击“组成员资格”。要将用户添加到服务器级组,指向“Team Foundation Server 设置”,然后单击“组成员资格”。

image008.jpg

3.         在弹出的项目网页中,点击添加,从下拉菜单中选择添加成员的方式。这两种方式可以说是两种组织架构,一个是windows的组、另一个是tfs的组,按需求添加即可。

4.         输入域名\用户名,检索添加成员。

image009.jpg

六、    确定迭代周期

迭代是用于计划、调度和执行工作的固定长度的时间段。软件开发生命周期的所有组件(从需求定义到分析、设计、部署、编码和测试)均被组织到这些迭代中,迭代的时间长度通常为 2 - 6 周。

在这一步中我们确定项目的迭代周期。在确定迭代周期时要记住以下重要的事项:

n  迭代周期应足够长,以便有充足时间完成重要工作,并且应该至少涵盖几种方案。

n  迭代周期应足够短,以便灵活地适应变更和不断变化的优先级。

image010.jpg

迭代周期的长度取决于项目的规模和复杂度。在实践中,两周的迭代周期适用于大多数的项目。

七、    计划迭代

在这一步中,我们来规划迭代,方法是将方案、QoS 需求以及其他工作项分解为任务,估计每个任务的工作量并将任务分配给相关的团队成员。每个迭代周期均重复此步骤。

image011.jpg

八、    监视过程(报表)

每个过程模板均包括一组报告,这些报告可用于跟踪项目状态和健康状况。以下是可用于监视进度的默认报告。

n  Bug

?  BUG趋势:显示一段时间内发现和解决bug的平均速率。

?  BUG状态:显示一段时间内处于每个状态的bug数、按优先级别或按严重级别对bug进行细分以及指派给每位团队成员的bug数目。

?  重新激活:显示团队一段时间内解决的bug数和团队解决后又重新激活的bug数的对比情况。

n  测试:

?  测试计划进度:显示一段时间内运行测试的结果。

?  测试用例准备情况:显示处于每种准备状态的测试用例数。

n  面板:

?  燃尽:显示团队已完成的工时数、进行的工时数、尚需的工时数以及理想趋势。

?  燃速:显示团队实际的燃速(每天完成的工时数)。

n  生成:

?  每日生成结果:跟踪团队已签入的代码的质量变化。显示每日最后一次生成的测试结果。

?  生成摘要:帮助管理者确定每个生成的状态。显示包含测试结果、测试覆盖率、代码改动和质量说明的生成列表。

?  生成质量显示器:跟踪已完成代码与发行质量的接近程度。显示测试覆盖率、代码改动及bug计数。

n  项目管理:

?  计划外工作:显示有多少计划外工作。

?  情景概述:跟踪每个用户情景的实现情况。显示每个情景的尚需工时数和实际完成工时数、各情景的验收测试结果以及每个情景相关的bug数目。

?  情景进度:跟踪每个用户情景的最新进度。显示每个情景的剩余工作、已完成工作和最近完成的工作。

?  燃尽和燃速:跟踪团队迭代工作的完成进度。显示团队已完成的工时数、剩余工时数、进度比率以及指派给每位团队成员的工作。

?  剩余工作:跟踪团队的进度。显示一个迭代中的总工时数和团队完成该迭代的进度

?  所有迭代的状态:跟踪团队的后续迭代的绩效。显示每个迭代的工时数、团队实际完成的工时数、尚需工时数以及bug数目的初始估计。

相关