计划团队项目

更新:2007 年 11 月

在创建团队项目前,应该仔细计划项目的范围,并考虑团队项目将来的修改、增长和维护途径。本主题提供一个问题列表,您必须回答这些问题以确定是需要创建新团队项目还是扩展现有项目。此问题列表旨在为您提供一个思考项目问题的出发点,并非针对所有软件开发项目提供详尽的或确定性的信息。这些问题划分为四组:

  • 有关当前团队项目和未来工作的问题

  • 有关 Team Foundation Server 容量和性能的问题

  • 有关用于组织团队项目的结构或层次结构的问题

  • 有关首选软件开发过程的问题

如果您对大多数问题都回答“是”,则建议您创建新的团队项目。

下面的关系图将这些问题显示为决策树,并将帮助您以可视化形式了解不同问题之间的相互关系。

计划团队项目

有关当前团队项目和未来工作的问题

要回答下列问题,您可能需要考虑当前团队项目以及是否希望在将来的工作中继续以同样的方式做这些事情。您可能还需要确定团队项目中是否有足够的容量来处理将来的工作。

下面的关系图将这些问题显示为决策树,并将帮助您以可视化形式了解不同问题之间的相互关系。

计划团队项目第 2 部分

这是否为新的 Team Foundation Server 安装?

如果是第一次安装 Team Foundation Server,则必须创建新团队项目,然后才能使用 Team Foundation 的任何一个功能或工具。如果是在现有安装中工作,您可能会找到服务器上已经存在的团队项目,并且应该评估该项目对将来工作的适用性。

是否需要新的团队门户?

评审当前团队门户的内容和焦点。确定该门户的内容和焦点是否仍然与将来的工作相关。如果希望另外创建一个专门集中于将来工作的团队门户,则必须创建新的团队项目和项目门户。强烈建议只对每个团队项目使用一个团队门户。

是否需要不同的人员具有不同的权限?

评审所有团队项目成员的任务分配和安全权限。确定:

  • 当前团队项目成员是否会在将来的工作中担当多种角色。

  • 同一个人对项目的不同部分是否需要不同的权限。

  • 其他人是否将担当与当前团队成员相同的角色。

如果将有拥有不同权限的其他人员参与项目,则必须创建新的团队项目。

是否希望使用不同的签入策略?

评审当前团队项目的当前签入策略。确定这些签入策略是否仍然适用于将来的工作。如果希望对将来的工作使用不同的签入策略,则必须创建新的团队项目并定义新的签入策略。Team Foundation Server 只支持对每个团队项目使用一个签入策略集。

是否希望使用不同的设置?

当您获得处理和使用团队项目的经验时,可能会决定更改项目设置。有些设置可以在现有团队项目中进行更改,另一些设置则只有通过创建用于继续工作的新团队项目进行更改。下列问题将帮助您考虑当前设置的适用性。

是否希望使用不同的过程模板?

确定过程模板,并在适用的情况下确定当前团队项目中使用的过程指南。确定该模板是否仍然适合于将来的工作。如果希望对将来的工作使用某个不同的过程模板,则必须使用该不同过程模板创建新团队项目。Team Foundation Server 只支持对每个团队项目使用一个过程模板。在团队项目开始后,可以根据该团队项目手动自定义正在使用的过程模板。但是,除非将这些自定义更改保存到存储在 Team Foundation 服务器上的过程模板中,否则所做的更改不会出现在任何基于该模板的新团队项目中。

是否希望使用不同的工作项类型?

确定当前团队项目中使用的工作项类型。确定这些工作项类型是否仍然适合将来的工作。如果希望使用不同的工作项类型或希望使用具有不同内容的相同工作项类型,则必须创建新的团队项目并定义新的工作项类型。Team Foundation Server 只支持对每个团队项目使用一个工作项类型集。

是否希望试验过程或其他团队项目设置?

如果不熟悉 Team Foundation Server 或对改进团队运作感兴趣,您可能希望试验其他工作流、分类层次结构、生成过程、策略等。应创建一个单独的团队项目来进行这些试验。

是否使用主 .mpp 或 .xls 文件进行管理?

评审您用于管理团队的信息和工具,尤其是在您管理多个团队项目的情况下。如果使用 Microsoft Project 或 Microsoft Excel 作为管理团队项目的主要工具,并且希望在同一个主 .mpp 或 .xls 文件中跟踪所有项目活动,则应继续向项目中添加更多迭代而不是创建新团队项目。Team Foundation Server 不支持使用 Microsoft Project 或 Microsoft Excel 显示在团队项目之间共享的工作项。换言之,如果您管理两个或更多团队项目,并且有些工作项与多个团队项目关联,则不能在 Microsoft Project 或 Microsoft Excel 中显示这些工作项。必须使用 Team Foundation Server 中的其他某种报告工具来查看和管理这些共享工作项。

在项目中带有版本的工作项是否超过一千万个?

计算当前团队项目中的工作项总数,并确定使用的容量是否已超过了 Team Foundation Server 容量的一半。Team Foundation Server 在单个团队项目中最多支持两千万个带有版本的工作项。如果已使用一半以上的容量,则可能会在完成新团队项目前遇到空间不足的情况。另外,工作项的复杂性会对 Team Foundation Server 性能产生不利影响。

是否希望手动移动项目中的所有活动工作项?

计算当前团队项目中的活动工作项数量。如果创建新团队项目,则必须将这些工作项从当前团队项目复制到新团队项目。Team Foundation Server 不支持从一个项目到另一个项目批量复制或移动工作项。假设将一个工作项从一个团队项目复制并粘贴到另一个团队项目需要 30 秒钟时间,则复制 500 个工作项将需要 250 分钟(4 个多小时)的连续工作。

或者,也可以使用 Microsoft Excel 将工作项从一个团队项目批量复制到另一个团队项目。尽管批量复制可以复制工作项中的当前信息,但不会向新团队项目复制工作项历史记录、附件和链接。有关使用 Microsoft Excel 批量复制工作项的更多信息,请参见在 Microsoft Excel 和 Microsoft Project 中使用工作项

您必须确定拥有一个新团队项目的好处与复制工作项的成本相比是否划算。

软件功能是否有显著更改?

如果将来的工作会引入新技术或非常新的软件功能,您可能希望创建新的团队项目。新技术或功能可能需要截然不同的工作流、测试、生成脚本等,进而需要对当前过程模板或过程指南进行重大修改。

有关 Team Foundation Server 容量和性能的问题

要回答下列问题,您可能需要考虑 Team Foundation 服务器、当前团队项目的存储位置和将来的工作所在的位置。您可能还需要确定服务器是否有足够的容量和性能来处理将来的工作负荷。

下面的关系图将这些问题显示为决策树,并将帮助您以可视化形式了解不同问题之间的相互关系。

计划团队项目第 3 部分

服务器上是否存在任何性能问题?

随着 Team Foundation Server 中工作项、源代码、文档和其他项目的累积,服务器返回查询,签入文件或生成软件项目可能需要更长的时间。如果这些操作所花的时间比它们在您最初开始使用 Team Foundation Server 时所花的时间长,则时间的增加可能意味着服务器性能由于 Team Foundation 服务器上大量团队项目的存在而变慢。服务器上的团队项目越多,服务器的执行速度就会越慢。如果服务器性能已成为一种问题,可考虑升级服务器硬件并继续当前团队项目,或者在不同的服务器上创建新的团队项目。

是否已升级服务器?

如果查询、签入或生成性能成为一种问题,请联系 Team Foundation Server 管理员评审任何已完成的或为将来的工作时间段计划的服务器硬件升级。如果服务器硬件还未升级,则升级可能会将性能提高到可接受的级别。如果已计划升级但是尚未完成,您可能需要创建新的团队项目而不是向现有团队项目添加迭代。

文档库中的文档数量是否超过一百万?

请联系 Team Foundation Server 管理员并检查 Team Foundation 服务器上存储的文档的数量。Windows SharePoint Services 在服务器的文档库中最多支持两百万个文档。随着文档数量接近该最大值,服务器性能将会下降,并且团队最终将耗尽文档存储空间。如果已使用了服务器一半以上的容量,建议您创建新的 Team Foundation 服务器并在该新服务器上创建新团队项目。有关更多信息,请参见“Capacity Planning for Windows SharePoint Services”(Windows SharePoint Services 容量计划)(https://office.microsoft.com/en-us/assistance/HA011607741033.aspx)。

说明:

在计划项目的容量时,应考虑到以后不能将团队项目从一个服务器移至另一个服务器。可以在该服务器上备份和还原团队项目,但是不支持将团队项目从一个 Team Foundation Server 服务器移至另一个服务器。

Team Foundation Server 上是否有 200 个以上的团队项目?

请联系 Team Foundation Server 管理员并检查 Team Foundation 服务器上的团队项目数量。如果使用 MSF for Agile Software Development 过程模板进行项目创建,则 Team Foundation Server 最多可以支持五百 (500) 个团队项目。如果使用 MSF for CMMI Process Improvement 过程模板进行项目创建,则 Team Foundation Server 最多可以支持两百五十 (250) 个团队项目。随着团队项目数量接近该最大值,服务器性能将会降低,并且团队最终将耗尽团队项目存储空间。如果已使用了服务器一半以上的容量,请考虑安装新的 Team Foundation 服务器并在该新服务器上创建新团队项目。有关更多信息,请参见 Team Foundation Server 计划路线图

Team Foundation Server 上是否有 1000 个以上的用户?

请联系 Team Foundation Server 管理员并检查 Team Foundation 服务器上唯一用户的数量。Team Foundation Server 在单个服务器上最多支持 2000 个用户,这具体取决于服务器的硬件。随着用户数量接近该最大值,服务器性能将会降低,并且团队最终将没有空间添加唯一用户。如果已使用了服务器一半以上的容量,建议您创建新的 Team Foundation Server 服务器并在该新服务器上创建新团队项目。有关更多信息,请参见 Team System 的服务器要求

是否希望从某一时间段开始保留团队项目内容,以便用于以后的审核或历史记录查看?

如果要定期创建团队项目内容(例如,源代码、工作项、文档或报告)的历史记录,并帮助保护该记录以避免对其进行其他任何有意或无意的更改,那么您可能需要在一次主要迭代、里程碑或发布之后创建新团队项目。为帮助保护记录,您可以创建一个新团队项目,分支现有源树,将其他对象复制到新团队项目,然后移除原始项目中的所有更改权限。

在计划过程中的此刻,您应该决定是为将来的工作创建新团队项目还是继续使用现有团队项目。如果决定创建新团队项目,则在继续下一组问题之前,您还应该确定:

  • 用于创建和命名软件开发项目的长期计划,例如五年计划。

  • 新团队项目的概念边界,例如要包含或排除哪些种类的事项。

由于这两个决策很可能基于 Team Foundation 之外的因素,并且是您的组织所特有的,因此本主题不再就此进行讨论。

有关用于组织团队项目的结构或层次结构的问题

要回答下列问题,您可能需要考虑当前团队项目的组织方式以及将来的工作是否最好以同样的方式组织。您可能还需要确定将来工作的组织如何与源代码的组织以及与组织其余部分相对应。

下面的关系图将这些问题显示为决策树,并将帮助您以可视化形式了解不同问题之间的相互关系。

计划团队项目第 4 部分

该结构是否由外部组设定?

您的组织可能已经有一个用于软件项目的标准结构,此结构基于请求该软件的业务单元、工作的投资来源、关键组织事件或软件开发生命周期之外的其他因素。应将团队项目的区域和迭代层次结构设置为与所需的结构匹配。

团队是否在创建产品?

如果将来工作的重心是创建具有清晰标识的独立产品,您可以按产品功能组织源代码、迭代和区域。每个新产品都应该是一个单独的团队项目。

是否在创建新版本?

如果将来工作的重心是创建现有产品的新版本,您可以按软件版本组织源代码、迭代和区域。每个新版本都应该是一个单独的团队项目。

是否有明确的开始和结束日期?

如果将来工作的重心是明确的开始和结束日期,您可按软件版本进行组织。每一组主要的开始和结束日期都应该是一个单独的团队项目。

是否担心累积项?

随着有关该软件的工作向前推进,团队项目可能累积工作项、文档、报告、生成脚本以及其他团队项目项和工作产品。对这些项的监视和管理同时需要存储成本和人员成本。如果担心团队项目项的累积问题并且希望尽快存档或删除这些项,您可以按软件版本进行组织。每个主要版本都应该是一个单独的团队项目。

是否希望按团队存储源代码?

如果喜欢对整个团队项目使用单个源代码项目,而不是按产品、版本或业务单元分别使用源代码项目,您可以将区域和迭代层次结构组织为与整个软件开发团队的组织相匹配。

是否只是维护软件?

如果将来工作的重心是维护软件或组织基础结构而不是在组织外部的分发工作,您可以将区域和迭代层次结构组织为与整个软件开发团队的组织相匹配。

有关首选软件开发过程的问题

要回答下列问题,您可能需要考虑要在完成将来的工作时使用的软件开发过程。您可能还需要确定是否存在强制过程或有关过程改进的优先级别。

下面的关系图将这些问题显示为决策树,并将帮助您以可视化形式了解不同问题之间的相互关系。

计划团队项目第 5 部分

法律或合同是否要求您使用 CMMI?

在某些情况下,对于用来创建新团队项目的过程模板,您将没有选择余地。例如,联邦法规可能要求使用 CMMI 过程来开发软件。因此,您在创建团队项目时必须选择模板 MSF for CMMI Process Improvement。另外,投资方也可能要求您使用 CMMI。

是否需要更多数量的角色?

如果将来的工作要求团队成员担当许多角色,您应该确定模板 MSF for CMMI Process Improvement 是否合适。例如,您可能刚使用模板 MSF for Agile Software Development 完成了一个团队项目,却发现您的团队还需要该模板提供的以下标准角色以外的其他角色:

  • 业务分析人员

  • 项目经理

  • 架构师

  • 开发人员

  • 测试人员

  • 发行经理

模板 MSF for CMMI Process Improvement 提供了以下更为复杂的标准角色集:

  • 项目经理

  • 发起人

  • 架构师

  • 行业专家

  • 开发人员

  • 开发经理

  • 版本生成工程师

  • 测试人员

  • 测试经理

  • 审核人员

  • 服务质量专家

  • 发行经理

  • IPM 管理者

  • 用户体验架构师

  • 用户培训专家

  • 产品经理

  • 业务分析人员

外部组是否提出过程改进建议?

如果您的组织关心过程改进,则可能依赖组织内部或外部的专门组来评审当前工作流和业务过程并提出改进建议。如果使用专门组,则应在创建新团队项目时使用模板 MSF for CMMI Process Improvement。

当前是否记录过程?

如果您的组织关心过程,则可能依赖组织内部或外部的专门组评审当前工作流和业务过程并提出改进建议。如果使用专门组,则应在创建新团队项目时使用模板 MSF for CMMI Process Improvement。

是否有合适的第三方模板?

您的组织可能已经采用第三方供应商提供的过程模板。如果已经有选定的模板,则应在创建新团队项目时使用该第三方模板。

对当前过程是否满意?

如果您对当前工作流过程感到满意,可能不希望更改或使用正式模板。如果它有效,则继续使用它。

项目的生命周期是否很短?

如果团队项目的生命周期相对较短,即少于 90 天,您可能不希望增加 CMMI 等正式过程所需要的额外开销。在这种情况下,应使用模板 MSF for Agile Software Development。

说明:

在计划项目的容量时,应考虑到以后不能将团队项目从一个服务器移至另一个服务器。可以在该服务器上备份和还原团队项目,但是不支持将团队项目从一个 Team Foundation Server 服务器移至另一个服务器。

请参见

任务

演练:创建新的团队项目

演练:从现有团队项目创建新团队项目

概念

创建团队项目

其他资源

创建和管理团队项目