场景1:合同前的工作量估算
场景描述:
(1)未实施CMMI2级
(2)合同未签,需要给客户报价
(3)有客户的一般需求和类似的项目数据供参考
(4)为了估计总成本,向客户报价,需要估计整个项目的总工作量
估算步骤:
(1)寻找类似的历史项目,分析项目的类比,根据历史项目的工作量和经验估计项目的总工作量;
(2)进行WBS分解,力所能及地分解整个项目的任务;
(3)利用经验法对类似项目的数据进行估计WBS各类活动的工作量;
(4)总结项目总工作量;
(5)根据分析结果的结果进行验证分析,并根据分析结果确定估计结果。
场景二:根据详细需求的经验估计
场景描述:
(1)只有详细的需求,没有历史数据
估算步骤:
(1)WBS将任务分解到一个人或一个小团队可以执行的粒度;WBS分解时要识别出所有的交付物、项目管理活动、工程活动等。
(2)用经验法估计每项活动的工作量;
(3)总结:每个阶段的工作量目总工作量。
其他说明:
在这种情况下,只使用经验法,无法确认结果,难以判断结果的合理性。
场景三:整体编码估算
场景描述:
(1)类似项目的历史数据
(2)编码活动的生产率数据
(3)有详细要求
(4)实施了CMMI2但历史项目的工作量分布数据没有积累
估算步骤:
(1)产品分解,将系统分为子系统,分解为模块;
(2)WBS将任务分解到一个人或一个小团队可以执行的粒度;WBS对所有交付物、项目管理活动、工程活动等进行分解。
(3)建立WBS识别分解中活动与产品元素的映射关系WBS模型法可以估算哪些活动;
(4)估计产品元素的规模,可采用代码行法或功能点法,并估计各产品元素的复杂性和复用率;
(5)每个产品元素的编码工作量按照历史编码阶段的生产率数据和产品元素的规模估计、复杂性和再利用率计算;
(6)根据类似历史项目的数据和估算人的经验,可以采用经验法来估计其他活动的工作量。
(7)总结:各阶段工作量和项目总工作量。
其他说明:
在这种情况下,经验法和模型法相互补充,而不是相互确认。
场景4:基于总体确认WBS的估计
场景描述:
(1)类似项目的历史数据
(2)具有类似项目全生命周期的生产率数据(包括管理工作量)
(3)有详细要求
(4)实施了CMMI2但历史项目的工作量分布数据没有积累
估算步骤:
(1)产品分解,将系统分为子系统,分解为模块;
(2)可码行法或功能点法可用于估计产品元素的规模;
(3)累计整个产品的总规模,估计产品的整体复杂性和复用率;
(4)采用模型法计算类似项目全生命周期生产率数据和产品总规模、复杂度、复用率的总开发工作量;
(5)WBS将任务分解到一个人或一个小团队可以执行的粒度;WBS对所有交付物、项目管理活动、工程活动等进行分解。
(6)根据类似历史项目的数据和估算人的经验,可以采用经验法来估计所有活动的工作量。
(7)总结:各阶段工作量和项目总工作量。
(8)与第(4)步获得的工作量进行比较确认。如果偏差不大,以第(7)步的结果为准。如果偏差较大,应仔细分析原因。可能的原因如下:
类似项目的生产率数据不适合本项目;
WBS分解粒度不够详细;
估计专家的经验不适合本项目;
具体任务估计不合理;
针对
原因是调整估算结果,使其趋于合理。
其他说明:
在这种情况下,项目总工作量有两个或两个以上的结果,可以相互确认,以发现估算过程中的不合理性更为合理。