目的
|
估算交付项目所需的工作量。
选择满足项目约束的最佳进度安排。
|
在先启阶段中,您应该为估算项目中建议的工作做准备(关于软件项目估算的一般讨论,请参阅 [BOE81]、[PUT92] 和 [MCO96])。
由于软件项目估算基于某些复杂的数学,所以在此不讨论详细的技术背景。估算遵循一个含四个步骤的流程:
-
估算产品大小。
-
估算项目的总工时和总成本
-
应用约束和优先级(例如,员工数目、交付日期、预算)
-
选择最佳的进度安排、工时和成本估算
估算产品大小
这是估算流程的关键输入。若无法估算要完成的工作量,那么制定的任何项目进度安排可能完全不符合实际。在项目早期可使用两种方法来估算软件产品大小:通过类推估算大小与通过分析估算大小。当然,项目后期(精化阶段中),您可基于更详细的项目工作分解结构为更精确的自下而上的估算做准备。
通过类推估算大小
使用“通过类推估算大小”的方法来估算项目范围时,将要开发的新产品与上一项目中开发的产品(已知大小)进行比较。应比较新旧产品的各种属性,例如业务用例的数目、参与者数目、数据库大小/复杂性以及可能的在线和批处理程序数目。
通过比较这些属性,可估算出新产品与旧产品相比的相对大小,然后使用已知的旧产品的大小来计算新产品的估算大小。记住:比较具有类似复杂性、用类似方法开发的产品是很重要的,因为诸如用例描述中的详细程度之类的因素的差异可使您的比较无效。
通过分析估算大小
在“先启”阶段后期,可能您已经收集到足够的新产品信息,因而可使用分析技术来估算产品大小。这些技术依赖于可用的软件产品的功能描述(例如,软件需求规范、软件体系结构文档),并运用标准计算规则从这些描述中确定出大小度量值。虽然已开发许多度量标准,其中包括“特性点”(对“功能点”的修改,用于实时系统应用程序)和“预测对象点”(用于面向对象系统的度量标准,基于对类复杂性和层次结构的分析),然而这些技术中最有名的可能是“功能点计算”。
还有一些白皮书,可从 IBM Web
站点获取,它们描述基于用例的大小估算的方法。使用这些白皮书时,您应注意:要进行基于用例的初始大小估算,由于组织之间甚至组织内部的各个用例在抽象程度和表达方式上可能有很大不同,所以您必须调整用例以符合组织的用例样式。一旦进行了调整,保持使用选定的标准样式来编写用例是非常重要的,否则大小的估算值可能发生很大的错误。
估算项目的总工时和总成本
可使用确定的科学模型,从产品大小的估算值中计算出项目的总人员工时和进度安排。现今使用的两个著名模型是由 Barry Boehm 提出的“结构型成本估算模型”(COCOMO)和 Larry Putnam 的 Putnam 方法。两种模型均通过行业数据进行了验证。关于 COCOMO
的最新版本的更多信息,请参阅 COCOMOII web 站点。
除大小输入之外,另一关键输入是团队生产力的度量值。该值将决定整个项目工时。整个项目的进度安排与总工时之间是非线性相关的。可惜模型在数学上是很复杂的,因此最好使用软件工具来帮助计算。
应用约束和优先级
差不多每个项目都将受到某些约束(例如,必须在某个特定日期装运,或成本不得超过 850,000
美元)或优先级(例如,需要尽快提供产品)的限制。在产品大小固定的情况下,这些约束将受到团队规模调整的影响。研究表明:团队规模和进度安排之间的关系不是线性的,因此您需要使用科学模型基于变化的团队规模,生成若干场景。自动化的估算软件在此实践中非常有用。
选择最佳的进度安排、工时和成本估算
现在,在一系列的项目场景中复审并选择最适合您的项目需求的场景。这将使您初步了解建议的项目总工期,并指示必要的团队规模和预算。
|