宽带德尔菲方法介绍结构化的估计方法现在我们来看看有哪些结构化的估计方法到目前为止,在研发领域已经发 展出了许多的估计方法,比如宽带德尔菲法(Wideband Delphi)、三点估计法(Pert Sizing)、类比估计法、功能点估计法(Function Point Analysis)>成本构建模型 (COMOMOII)、参数估计法等等这些估计方法并不是普遍适用,各自具有不 同的适用领域与场景宽带德尔菲法和三点估计法适用于各种领域,从研发到销 售预测,从纯软件系统到系统级产品开发,从电子信息领域到机械领域都可以使 用功能点估计法和成本构建模型主要适用于软件领域特别是为了适用于系统 级产品的开发,国际功能点用户组织(IFPUG)还开发了全功能点方法(Full FPA) 来解决嵌入式软件的估计问题而参数估计法一般用于建筑领域鉴于估计方法的适用范围不同,下面就适用范围最广的两种估计方法予以详 细介绍Wideband Delphi 估计方法德尔菲法,又名专家意见法是以一系列问卷向各类专家征询意见,依据所 有专家对原问卷的答复再拟定下一份问卷,再次向各类专家征询意见,直到大多 数专家的意见趋于一致才得出最终结论。
德尔菲法是在20世纪40年代由O.赫尔姆和N.达尔克首创,经过T. J.戈 尔登和兰德公司进一步发展而成的德尔菲这一名称起源于古希腊有关太阳神阿 波罗的神话传说中阿波罗具有预见未来的能力因此,这种预测方法被命名为 德尔菲法(德尔菲,希腊古都,因太阳神Apollo的神殿而著称)1946年,兰德 公司首次用这种方法用来进行预测,后来该方法被迅速广泛采用德尔菲法是一种结构化的方法,严格按照流程执行参与的专家采用匿名方 式发表意见,相互之间不得讨论,不能发生横向联系,只能与调查人员进行沟通 通过多轮次调查专家对问卷所提问题的看法,经过反复征询、归纳、修改,最后 汇总成专家基本一致的看法,作为预测的结果这种方法具有广泛的代表性,较 为可靠由于专家们不被允许直接沟通预测结果,因此该方法也俗称背对背预测 法宽带德尔菲方法是德尔菲方法的进一步发展,采用收敛原则来判定专家们的 意见是否已经趋于一致宽带也即是带宽,代表着一定的容限,正如宽带网络的 带宽一样这个收敛原则一一带宽一一是专家们基于估计对象的特征和集体经验 讨论达成的共识,并在估计过程中用这个收敛原则来判断专家的意见是否已经趋 于一致相关角色及职责宽带德尔菲方法具有严格的过程,是集体智慧的充分运用。
下面介绍该方法 的相关角色项目经理:估计是为了制定合理的项目计划,因此估计工作也是项目经理的 关键职责之一为了确保估计专家能够充分了解项目状况,估计范围,项目经理 应确保明确、正确的估计范围,提供相关估计输入材料,并寻找内外部估计专家, 获得高级经理的授权,同时任命一位项目成员作为估计协调员比如,项目经理 在接受了项目任务书后制定计划时,则需要将项目任务书、前期市场/客户需求 等材料提供给估计专家进行估计,并依据估计结果制定计划估计协调员:一般由熟悉估计过程的项目成员担任在估计过程中,负责组 织整个估计过程,收集和整理各种来自于专家和估计过程的数据估计协调员不 参与估计估计专家:根据估计输入,对估计相关事项进行讨论,发表各自的估计数据, 就未达成共识部分进行多次反复磋商估计专家一般应具有相关项目经验,了解 公司的产品特点、技术路线、技术平台,对特定专业领域有专长通常估计团队 包括4至7名专家参与高级经理:基于公司的战略和市场状况、竞争状况、财务要求等审核估计结 果的合理性,批准估计的结果,以便项目经理根据估计结果制定项目计划质量保证(QA)人员:QA人员不直接参与估计过程,负责监控估计活动是 否遵循公司的估计过程,并提出估计过程改进建议和提供估计专家表现数据等。
对估计专家的要求宽带德尔菲方法是一种专家估计法这里的估计人员是具有丰富经验和专长 的专家,而有些估计方法则不然例如三点估计法,在有专家的情况下,为了更 好的估计结果,当然会选择这些专家;但如果缺乏真正的专家,一般也允许选择 普通项目人员来进行估计这种方法对专家要求的严格性远远不及宽带德尔菲方 法较高的估计成本为了获得更好的项目估计数据,选择有经验的人员来进行估计,无疑提高了 项目的成本同时,宽带德尔菲方法依赖于收敛原则来确保估计专家达成共识并 退出估计工作,而要能够满足收敛原则,从实践角度来看,仅依靠一两次估计是 无法达成的,因此通常宽带德尔菲方法都需要通过多次的反复估计才能达成共 识,这无疑有增加了估计的成本所以宽带德尔菲方法是一个成本相对较高的方 法,不过由于是经过多名具有丰富经验的专家反复多次对项目进行讨论形成的估 计结果,因此该结果的合理性大大提高估计过程第一步:估计开始前准备运用科学合理的方法对项目状况进行分析,积累专家的经验智慧得出合理的 数据用于制定项目计划,是项目经理应承担的责任项目经理任命估计协调员组织整个估计工作的开展,并且向研发部门高层征 询意见以确定参与本次估计的相关专家。
同时项目组对估计输入材料进行整理, 编写项目状况介绍材料,确定需要专家们估计的内容与范围估计协调员负责联络相关估计专家,制定估计实施计划,准备估计相关材料, 如估计表格、估计历史数据、估计过程/方法简要介绍等,以及其它事务性工作, 如会议室及其设备等第二步:估计准备会议按照计划在适当的时间地点召开估计准备会议估计准备会议是整个估计过 程的重点,其有效性严重影响估计结果的合理性和估计过程的效率在估计准备 会议上需要对本次估计达成以下共识:共识1:估计专家和项目成员就估计输入材料达成共识通过项目成员向估 计专家简明而要的讲解项目状况,涵盖项目范围、项目发起原因、项目当前状态、 来自客户和公司高层的意见、来自项目组的风险识别项等,让估计专家清晰的了 解到项目情况,并且在估计专家层面形成一致看法,以避免鸡同鸭讲的尴尬在 估计活动中,这点尤为重要如果估计专家没有共同的估计基础,则他们的估计 结果是不可以进行一致处理的比如专家A估计的结果是2个人月完成,专家B 估计的结果是8个人月完成请问,基于此可以认定该项目需要(2+8)/2= 5个 月完成吗?答案是否定的因为专家A认为本项目可以直接重用以前类似项目C 的成果进行适当的修改即可,所以仅需要2个月。
但是专家B根本不知道项目C 的存在,因此他在估计时完全基于重新开发的思路出发,给出的估计数据8个月 所以在进行数据处理时,想通过求平均的方法来弥合专家的意见差异变得不可 行只有他们都基于重用开发策略或者都基于全新开发策略,他们估计出来的数 据才可以被一起处理共识2:识别项目的约束与假设项目约束代表着项目的限制条件,界定了 项目的边界一般而言,项目任务书中应该清楚地界定项目的范围、项目的时间 约束、成本约束等限制条件项目范围代表项目团队成员应完成的事情的多少, 它对估计结果有很大影响比如项目A是某公司为开发一款而发起的,要 求项目组拿出10台样机及宣告项目结束;而项目B是该公司为开发一款同样规 格型号的,不过需要试产完成直到可以正式量产才结束项目AB开发的是 同样规格型号的,不过A仅要求开发出样机即可,而B不但要求开发样机 还要求完成量产前的所有工作,主要是增加了试产的过程显然两个项目的范围 不同那么估计团队在对项目估计时,有必要明确这些限制条件,即约束而项目假设对估计结果的影响同样很大假设是被认为合理的因素,是对 项目未来发生状况的某种假定通常项目团队在实施项目的过程中,面临解决方 案的多种选择,如果各位专家的选择不同,则无法得出共同的估计结果。
为了让 估计专家能够在共同的基础上进行估计,则有必要借助于估计专家的经验以假定 采用哪一种方案,然后所有专家都在此假定上进行估计,并对估计结果进行处理 大家可以想像一下,当基于这些真正有经验的专家的共同讨论并作出的判断,对 于项目组来说,在后续的开发工作中遵循这种假定去开发的概率非常高而项目 计划又是基于这样的假定制定出来的,所以,大家想象得到,这样的计划与现实 状况的契合度将非常高,因此计划的合理性也就提高了这就是为什么结构化的 估计方法能够提高计划合理性的内在原因有哪些情况需要做出假设来进行估计呢? 一般来说,如果公司开发某产品 具有多种技术路线、多种平台、多种方案可供选择,那么在进行估计时,估计专 家有必要首先针对这些内容进行讨论以假定项目团队应该选择那种路线、平台和 方案进行开发,然后基于此假定再进行估计;同时,在产品开发的过程中,还涉 及到是自己开发(Make)还是购买现货产品(BuyCOTS)的问题,这同样需要 做出假定;另外,企业在开发大部分产品时,都不是一张白纸上重新开始,往往 之前都有某些方面的积累和沉淀,因此估计专家团队也有必要对重用的程度进行 估计,以避免有的专家基于重用30%进行估计,有的专家基于重用80%进行估计。
总之,如果在这些存在多种选择的状况下,估计专家带有应该尽可能识别出来, 并沟通交流以达成共识,做出假定,然后再进行估计这样的话,不但估计专家 的估计结果具有共同的基础,同时这也是借助专家的经验,让专家们帮助项目组 思考该项目随后应该如何开发因此估计的过程不仅是得出估计结果的过程,更 是一个利用集体智慧对如何开发产品进行思考的过程共识3:针对估计的对象和范围,建立工作分解结构(WBS: Work Breakdown Structure)o WBS是项目管理中最为重要的工具之一WBS是面向可交付成果的 对项目元素的分组,它组织并定义了整个项目范围当面对较为复杂的项目任务 时,采用WBS有助厘清思路,选择最佳的项目实施方案,同时避免考虑问题不 全面带来的问题简言之,WBS有助于将化繁为简、便难于预测为易于预测、 难于控制为易于控制正式因为WBS具备如此优点,在进行估计时,运用WBS对估计对象进行 分解也有助于提高估计结果的合理性因为任何事物均可以无限细分,分解的越 细,颗粒度越小,那么分解过程的时间和成本就越高在估计中如果分解的越细, 估计的对象就越多,估计过程的时间和成本也越高因此根据经验,建议在进行 估计时,对目标估计对象的分解不要少于10项,多于30项。
分解项太少无法保证 估计准确性,分解项太多估计成本太高前面已经提到,可以对项目的规模Size和工作量Effort进行结构化的估计 当我们估计项目的规模时,进行WBS分解,实际上是按照产品结构进行分解, 形成的是PBS(Product Breakdown Structure),而非真正意义上的WBS[1]当我 们估计项目的工作量Effort时,既可以按照产品结构进行分解,也可以按照工作 任务进行分解共识4:确定估计的是项目的规模还是工作量,抑或进度当然我们建议不 要直接估计进度共识5:确定估计的单位如果估计规模,要明确是硬件、软件还是结构, 并确定对应的单位,是节点数、千节点数,还是代码行、千代码航,或者特征数、 千特征数等等对于前面5点准备事项,是结构化估计方法的要求,目的就是让我们的估计 专家们能够在理解一致、达成共识的共同基础上进行估计避免出现估计基础不 一致带来的估计数据不可用比如,如果专家A估计的是硬件节点数,而专家B 估计的硬件千节点数,那么专家AB的估计数据就不能直接用于处理,如简单的 算术平均共识6:确定宽带Delphi估计方法的收敛准则前面已经提到估计始终是有 偏差的,因此多位专家针对同样的估计对象给出的估计数据也肯定有偏差;同时 Delphi方法要求估计专家要达成共识。
因此在偏差与共识之间寻找一个合适的偏 差容忍范围就成了宽带Delphi方法的退出准则换言之,如果多为专家的估计 结果之间的偏差在某个范围内,如20—4。