任务:选择和获取工具
此任务描述了如何选择和获取支持项目“开发流程”的工具。
规程:环境
用途

此任务的目的是:

  • 选择适合项目需要的工具。
  • 获取项目工具。
  • (可选)内部开发一些特殊工具以支持特殊需要、为单调或容易出错的任务提供附加自动化流程,以及提供工具间更好的集成。
关系
角色主执行者: 其他执行者:
输入必需:
可选:
    输出
      流程使用情况
      主要描述

      流程中的许多步骤只有在恰当的工具支持下才能有效执行。要根据组织的特定需求选择工具,主要根据流程所必需的特定任务或工作产品进行。概念:支持工具简要地概述了项目所需的不同类型的支持工具。

      有时必须在内部开发一些特殊的工具以支持特殊的需要、实现单调或容易出错的任务的进一步自动化以及提供工具间更好的集成。该工具开发的交付流程权重可能小于用于产品开发的交付流程权重。

      选择和获取工具在组织中与工具开发过程的实施并肩进行。请参阅在项目中实施流程以获取更多详细信息。

      步骤
      确定需求和约束

      通过考虑以下内容,确定工具支持的需要是什么以及约束是什么:

      • 交付流程。有效地工作要求什么工具支持。例如,如果组织决定应用迭代式交付流程,就有必要自动执行测试,因为您需要在项目期间进行多次测试。
      • 主机(或开发)平台。 
      • 目标平台。
      • 要使用的编程语言。
      • 现有的工具。评估任何现有的和已验证的工具,并确定它们是否可以继续使用。
      • 开发组织的分发。组织是实际分散的吗?开发工具一般对实际分散的组织有不同的支持方法。
      • 开发工时的多少。工具支持较大组织的情况有时较好,有时较差。
      • 预算和时间约束。

      开发组织评估为此步骤提供了一些良好的输入。 

      收集关于工具的信息

      收集关于候选工具以及它们的供应商的信息。这些信息中一部分是可以从供应商或者独立复审收集的数据。   

      工具特性和功能

      为您正在研究的工具类型创建一系列特性和功能。在大多数情况下,工具供应商会提供这样的列表。下表显示了配置管理工具的部分特性和功能。 

      特性与功能

      对所有文件系统对象进行版本控制 
      对目录进行版本控制 
      文件类型混合 
      压缩文本和二进制文件 
      ... 

      工具和供应商标准

      收集每个工具关于以下标准的信息。 

      工具
      条件 

      注释 

      特性和
      功能 
      工具提供的功能。这应该是“工具特性”表的整体结论。  
      集成  与其他工具的集成程度。信息在不同的工具间如何传送?工具与您现有的工具以及您正在评估的其他工具的组合情况如何?集成的程度往往比特性更重要。 集成得很好的工具更有可能较为轻松地使用和维护。 
      适用性 

      该工具对您交付流程的支持情况如何。要使用该工具,您必须更改工作方法吗? 您能接受这种折衷吗?缺乏适用性意味着您可能必须更改工作方法 -“针对工具设计”。 但是如果工具有其他长处,就可以考虑折衷。

       
      可扩展性  可以扩展和定制工具的能力。具备可扩展性是必要的,因为这意味着您可以根据自己的需要调整工具。 但是要确保工具的配置(使工具发挥作用)不会花太长时间。 
      团队支持  支持用户团队的能力。工具支持在地理上分散的团队吗? 
      可用性  学习和使用工具的容易程度。侧重于使用工具的最常用的方法。使用该工具需要花多长时间才能获得成效?工具适合哪些不频繁使用它的人吗?一定要检查最经常使用的功能。一些很少使用的功能很难使用的事实往往可以忽略。 
      质量  根据工具的类型,工具的质量将决定您正在制造的产品的质量。质量很重要,特别是当质量对您开发的产品有直接影响的时候。例如,有的编译器生成运行缓慢的代码,而有的 HTML 编辑器生成不良的 HTML。 
      性能  工具的整体有效性,包括容量、辅助功能选项和响应时间。如果坏性能只影响很少使用的功能或能力,那么坏性能就可能可以接受。  
      成熟度  工具的成熟程度。有些组织不会向新的供应商购买第 1 版本的工具,不管工具可能有多好。  

      供应商
      条件 

      注释 

      稳定性  您把自己的未来寄托于供应商的未来。这家公司经营业务已经多久了?公司有多稳定?他们在向工具投资吗?这个工具是公司的主线产品还是副线产品? 
      支持可用性  可以从供应商和/或可能的合作伙伴那里获得什么支持?您可能需要获取帮助来安装和配置工具,并对用户提供持续支持。 
      培训可用性  可以从供应商和/或可能的合作伙伴那里获得什么培训?  
      发展方向  工具支持您的发展方向的情况如何?考虑一下您的发展方向。工具能支持这个方向吗?支持您可能要前进的其他方向吗?  

      成本

      与获取和拥有工具相关联的成本,包括获取成本、实施成本和维护成本。决定您有多少用户以及拥有这些用户的时间有多长,您需要计算成本。 

      成本

       

      注释 

      并购成本  购买工具的成本。 
      实施成本  安装工具并与您现有的开发环境集成的成本。这包括培训该工具用户(包含用户及管理该工具的人员)的成本。 
      维护成本  确保工具起作用并可供使用的持续成本。这包括管理工具的成本、处理升级的成本以及持续培训人员(包括管理工具的人员和该工具的用户)的成本。 

      比较工具

      将各种因素综合起来并选择最佳工具不是一个小问题。为了帮助您作出决策,我们建议您创建一个特性表。

      比较特性和功能

      使用特性和功能列表,决定每个特性或功能对您有多重要。可以使用以下评级:

      • 必需”。工具必须有该特性。
      • 最好”。这个特性最好有,但不是必不可少的。
      • 不必要”。工具有没有这个特性都不重要。 

      用下列符号表明每个工具有没有这个特性:

      符号  

      描述 

      有该特性 
      -     无该特性 

      在表中记录所有特性和功能,并评定它们的重要等级。表明每个工具有没有该特性。下表是三个配置管理工具间的比较结果的一部分。 

      特性与功能

      排名 

      工具 1 

      工具 2 

      工具 3 

      对所有文件系统对象进行版本控制  必须 
      对目录进行版本控制  必须 
      文件类型混合  必须 
      压缩文本和二进制文件  良好 
      ...  ...  ...  ...  ... 

      比较工具和供应商标准

      除了特性,您还需要比较工具的所有其他因素。为了获得对工具的基本了解,我们建议您将概况记录在表中,如下表所示。简单描述您对每个因素的需要和约束。给每个因素一个权重,以表明该因素对您有多重要。例如,用 1 到 5 的等级表示,其中 5 表示该因素非常重要。 

      按以下标准评定每个工具(和供应商)的等级。您可以使用 1 到 5 的等级:

      1. 在此领域中无用
      2. 很弱,或者有一些严重的缺点。 
      3. 在此领域中够用。
      4. 在此领域中高于平均。 
      5. 在此领域中非常出色。

      将比较记录在表中(如下表)。 

      工具条件 

      注释 

      工具 1  

      工具 2 

      工具 3 

      特性和
      功能 
                 
      集成             
      适用性             
      可扩展性             
      团队支持             
      可用性             
      质量             
      性能             
      成熟度             

      供应商条件 

                 
      稳定性             
      支持可用性             
      培训可用性             
      发展方向             

      比较成本

      比较每个工具的成本并将其记录在表中(如下表)。将每种成本评定为“低”、“中”或“高”等级。 

      成本 

      注释 

      工具 1  

      工具 2 

      工具 3 

      并购成本             
      实施成本             
      维护成本             

      选择工具

      选择最适合您的需要并在您的约束范围内的工具。不要陷入只是比较特性和功能的陷阱。其他标准一样重要,或者更加重要。除非要选择哪个(哪些)工具非常明显,否则我们建议您在决定购买工具前先测试觉得最适合您的需要的工具。 

      如果对工具有任何疑问,最好的方法总是测试工具。您也可以尝试找到使用该工具的其他公司,问问他们是否可以评价该工具。您也可以向供应商要求获得参考客户 - 指也在使用该工具的其他客户。在因特网上也可以获得信息,例如在线杂志会在网上发布他们的评论。  

      当作出选择后,就要坚持这一选择。在项目中间改换工具的成本往往会很高。

      获取工具

      获取工具不是一件小事,因为它不但涉及财务问题,还涉及法律问题。这里不详细讨论获取工具的问题。应该考虑以下方面:  

      • 安装。他们提供多少帮助来设置工具?
      • 支持。供应商提供怎样的支持?许多工具供应商提供数个等级的支持供您选择。花的钱越多,获得的支持也越好。 
      • 供应商的投入。供应商对您这个新客户的投入程度如何?如果您在使用工具时遇到问题,他们提供怎样的帮助?在什么时间范围内?需要多大的成本?
      • 影响。您对工具的将来有什么影响?您需要怎样的优先级?  
      • 维护。供应商如何处理工具中的错误?计划的“service pack”发行了吗? 
      • 培训。他们提供什么培训?培训课程的获得情况怎样? 
      • 产品的未来。有没有描述工具未来发展的规划?
      • 许可。您应该为项目的所有成员集体购买一个许可证,还是为每个人购买一个工具?有些工具提供“浮动”许可证,它对组织内并发用户的人数设了限制。