TFS对软件项目的简单管理
TFS对软件项目的简单管理 (learnfuture.com)
TFS对软件项目的简单管理
——利用TFS进行软件项目管理(二)
刘梦奇
【摘要】
在当今软件开发日常运用技术愈加成熟的时代,技术已经不是软件开发的瓶颈。目前,大多数软件项目都存在技术成熟、开发周期偏短的特点,在这种情况下,管理已经逐步取代技术的位置,成为软件项目成功的关键。好的管理才能开发出好的软件,才能在客户对项目的需求、预算、时间等等条件下成功完成项目交付。
TFS作为微软在软件开发管理领域,在VSS、Ofiice、Project等工具的基础上,优化结合而推出的最新软件开发管理工具,它囊括了一个软件的整个生命周期管理,包括前期的需求分析、项目计划;以及随后的代码编写、测试及BUG查找修复,生成,版本控制等等。是适应当前软件发展的最优管理工具之一。
【正文】
一、 准备
开始创建新的团队项目之前,我们应收集以下信息:
n 要为项目使用的过程。
创建新的团队项目时,要用于管理项目的过程决定了应该选择什么模板。它还可帮助我们评估应该在何种程度上定制所提供的模板。如果希望采用灵活的项目执行风格,则可以选择用于“敏捷软件开发”(MSF)模板的“Microsoft 解决方案框架”(MSF),然后考虑进行任何所需的定制。
n 项目名称。
要慎重考虑团队项目的命名约定。确保项目名称具有足够的唯一性,且项目名称要便于其他人员查找。一些组织使用项目代码作为名称的一部分,而有些组织则可能使用部门和项目题目的组合。
n 源代码管理结构。
考虑是否需要从一个空的源代码管理树开始,还是应基于现有源代码开始。基于代码和分支需求来确定适当的源代码管理结构。(如对设计源代码管理文
件夹结构感兴趣,请参阅参考资料中 “如何在Visual Studio Team
Foundation Server 中设计源代码管理文件夹的结构”)
二、 选择过程模板
从选择过程模板开始。考虑要为项目使用的过程,然后检查TFS 所提供的两种模板的不同功能。要评估的功能包括工作项定义(它们是否提供了足以满足需求的字段?)、文档模板、工作流、签入策略和报告。
TFS 提供了以下两种过程模板:
n 用于敏捷软件开发的MSF(MSF Agile)
这是为小型和非正式软件项目提供的轻量级过程。这种过程模板基于场景和上下文驱动的操作,它既以项目为中心,又以团队成员(人员)为中心。
n 用于 CMMI® Process Improvement 的MSF(MSF CMMI)
这是为更成熟的软件项目设计的过程。它扩展了MSF Agile,提供了对审计、验证和正式过程的支持。它依赖且遵守过程,并且以组织为中心。
三、 创建团队项目
选定想要使用的模板之后,就可以开始创建新的团队项目了。创建新的团队项目:
1. 确保Visual Studio 连接到TFS 实例。
2. 在团队资源管理器中,右击服务器节点然后单击“新建团队项目…”。
3. 在“新项目创建向导”的第一页,输入团队项目的名称然后单击“下一步”。
4. 在“选择一个过程模板”页面,从下拉列表中选择第一步中选定的过程模板。对于本示例,选择“MSF for Agile Software Development –v6.0”过程模板,然后单击“下一步”。
5. 在“团队网站设置”页面,配置站点路径,然后单击“下一步”。此处提供的路径名称用于生成团队门户的 Microsoft Windows SharePoint® Services 网站。
6. 在“指定源代码管理设置”页面中,选择“创建一个空源代码管理文件夹”,然后单击“下一步”。
7. 在“确认团队项目设置” 页面中,检查设置然后单击“完成”。
这将基于MSF Agile 过程模板在TFS 服务器上创建一个团队项目。
四、 创建安全组
在TFS 中创建项目时,无论选择了怎样的过程模板,都会为该项目创建四个默认组。默认情况下,这些组均拥有一个预定义的权限集,用于控制组成员的权限。
我们可以为团队项目创建一个安全组,以便更好地满足组织的安全需求。创建安全组是为一组用户授予团队项目的指定权限集的有效方法。确保仅为该组授予了必要的最少权限,仅添加了必须属于这个新团队项目组的用户或小组。
要执行此过程,我们必须是项目管理员组的成员,而不一定需要是Windows管理员。
五、 添加 Team Foundation Server 中的团队成员
在这一步中,我们确定将要在项目上使用的资源以及它们的角色,然后将这些运输队成员分配给TFS。我们可以将用户添加到现有团队项目组或服务器级(server-level)组。我们还必须为创建的组添加成员。只有Team Foundation 管理员组的成员才能执行这些步骤。
1. 在“团队资源管理器”中选择团队项目。
2. 在“团队”菜单中指向“团队项目设置”,然后单击“组成员资格”。要将用户添加到服务器级组,指向“Team Foundation Server 设置”,然后单击“组成员资格”。
3. 在弹出的项目网页中,点击添加,从下拉菜单中选择添加成员的方式。这两种方式可以说是两种组织架构,一个是windows的组、另一个是tfs的组,按需求添加即可。
4. 输入域名\用户名,检索添加成员。
六、 确定迭代周期
迭代是用于计划、调度和执行工作的固定长度的时间段。软件开发生命周期的所有组件(从需求定义到分析、设计、部署、编码和测试)均被组织到这些迭代中,迭代的时间长度通常为 2 - 6 周。
在这一步中我们确定项目的迭代周期。在确定迭代周期时要记住以下重要的事项:
n 迭代周期应足够长,以便有充足时间完成重要工作,并且应该至少涵盖几种方案。
n 迭代周期应足够短,以便灵活地适应变更和不断变化的优先级。
迭代周期的长度取决于项目的规模和复杂度。在实践中,两周的迭代周期适用于大多数的项目。
七、 计划迭代
在这一步中,我们来规划迭代,方法是将方案、QoS 需求以及其他工作项分解为任务,估计每个任务的工作量并将任务分配给相关的团队成员。每个迭代周期均重复此步骤。
八、 监视过程(报表)
每个过程模板均包括一组报告,这些报告可用于跟踪项目状态和健康状况。以下是可用于监视进度的默认报告。
n Bug:
Ø BUG趋势:显示一段时间内发现和解决bug的平均速率。
Ø BUG状态:显示一段时间内处于每个状态的bug数、按优先级别或按严重级别对bug进行细分以及指派给每位团队成员的bug数目。
Ø 重新激活:显示团队一段时间内解决的bug数和团队解决后又重新激活的bug数的对比情况。
n 测试:
Ø 测试计划进度:显示一段时间内运行测试的结果。
Ø 测试用例准备情况:显示处于每种准备状态的测试用例数。
n 面板:
Ø 燃尽:显示团队已完成的工时数、进行的工时数、尚需的工时数以及理想趋势。
Ø 燃速:显示团队实际的燃速(每天完成的工时数)。
n 生成:
Ø 每日生成结果:跟踪团队已签入的代码的质量变化。显示每日最后一次生成的测试结果。
Ø 生成摘要:帮助管理者确定每个生成的状态。显示包含测试结果、测试覆盖率、代码改动和质量说明的生成列表。
Ø 生成质量显示器:跟踪已完成代码与发行质量的接近程度。显示测试覆盖率、代码改动及bug计数。
n 项目管理:
Ø 计划外工作:显示有多少计划外工作。
Ø 情景概述:跟踪每个用户情景的实现情况。显示每个情景的尚需工时数和实际完成工时数、各情景的验收测试结果以及每个情景相关的bug数目。
Ø 情景进度:跟踪每个用户情景的最新进度。显示每个情景的剩余工作、已完成工作和最近完成的工作。
Ø 燃尽和燃速:跟踪团队迭代工作的完成进度。显示团队已完成的工时数、剩余工时数、进度比率以及指派给每位团队成员的工作。
Ø 剩余工作:跟踪团队的进度。显示一个迭代中的总工时数和团队完成该迭代的进度
Ø 所有迭代的状态:跟踪团队的后续迭代的绩效。显示每个迭代的工时数、团队实际完成的工时数、尚需工时数以及bug数目的初始估计。