第二十一章 计划参数的估算
项目估算和项目计划之间的界限很模糊,而且涉及到很多方面。有大量的计划参数需要估算,主要包括:要给构造、测试、需求和设计活动分配多少工作量、每个开发人员要配备多少测试人员、在一周内或一个月内可以完成特定项目多少人时的工作量、风险缓冲应有多大、以及制定计划所需的许多其他数值。
在项目的计划工作达到本章所讨论层次时,计划的目标通常就与估算的目标处于相反的方向。例如,在估算出需要的风险缓冲的大小之后,风险管理计划的目的就转变成让实际使用的风险缓冲尽量小,基本上,你的估算就会无效。
对计划参数的估算是最不单纯的估算,会受到各种因素的影响。细粒度的目标设置与细粒度的估算之间的相互影响会很激烈而且多次迭代。这种背景下的估算是确保初始计划切实可行。从这时开始,在项目中占据主导地位的工作就应该是计划和项目控制,而不再是估算。
简而言之,计划解决“如何”进行一个项目的问题,而估算则是用于解决计划的量应取“多少”的问题,这正是本章的重点。
21.1 对分解的项目活动进行估算
这些因素在不同的开发组织中会有显著的差异。如果是在创业型的开发组织(entrepreneurial organization)中,并且团队可以专注于单个项目,就可以假设每周有40~50个小时专注于项目的时间。我看到过的能够达到这一水平的公司的共同特征是:团队成员有非常强烈的主观动机、团队规模不大、团队成员都很年轻,没有多少家庭负担、公司提供了大量的经济激励,而且工作环境中没有多少繁文缛节或公司管理活动的开销。
如果是在一个大型的成熟开发组织中工作,经常要进行公司管理会议,而且大多数人每周工作40小时,可能就要假设每周只有20~30小时专注于项目的时间,而且这些时间可能还会分散到2个或更多的项目中。
21.2 估算不同活动的进度
21.3 把估算工作量转换成计划工作量
21.4 成本估算
21.5 对缺陷的产生和排查情况进行估算
21.6 对风险和意外缓冲进行估算
21.7 其他经验规则
下面是可以用于相关计划问题的一些其他经验规则:
- 对行政管理和杂务支持工作,给基本工作量估算值增加5%~10%(Stutzke 2005)。
- 对IT支持(测试环境配置、安装新软件等)工作,给基本工作量估算值增加2%到4%(Stutzke 2005)。
- 对配置管理/构建支持工作,给基本工作量估算值增加2%~8%(Stutzke 2005)。
- 考虑需求可能会每个月增加1%~4%(Jones 1998)。
- 要从一家公司、一个场所开发转向多家公司、多个城市开发,考虑工作量增加25%(Boehm et al 2000)。
- 要从一家公司、一个场所开发转向国际化外包开发,考虑工作量增加40%(Boehm et al 2000)。
- 与使用熟悉的语言和工具进行的类似开发工作相比,使用新语言和工具进行的首次开发要考虑工作量增加20%到40%(Boehm et al 2000)。
- 与在熟悉的环境中进行的类似开发工作相比,在新环境中进行的首次开发要考虑工作量增加20%~40%(Boehm et al 2000)。

浙公网安备 33010602011771号