首先我们来举一个现实例子:
乙方:某软件开发公司
初始预算:500万美元
终止时花费(仅部分完成):1.5亿美元
然后我们从实际项目推进过程中分析一下可能造成失败的原因:
团队实际生产率只有计划中的1/30?
项目开始后发生了3000%的变更?
项目实际上是早期估算结果的30倍?
总结一下失败的项目最常见的六个原因:
估算重要性:何时需要估算
既然估算如此重要,那我们应该从那些内容进行估算
如何做好估算---现实中的“六拍法”
---拍脑袋 – 得出进度和成本的承诺
---拍肩膀 – 领导充满期待
---拍胸脯 – 表决心能力
---拍桌子 – 遇到问题客户抱怨
---拍大腿 – 感到自责
---拍屁股 – 另谋高就
举个例子:
一个300ML玻璃杯的成本是5元钱
1.加了盖子300ML的玻璃杯成本是多少?
2.硬度、样式一样,要生产一个600ML的玻璃杯成本是多少?
3.最近生产的200ML、220ML、320ML、350ML、400ML玻璃杯成本分别是5元、6元、8元、8元、9元,现在要生产300ML玻璃杯成本是多少?
4.10个300ML玻璃杯的成本是多少?
经验法(专家法)
根据管理人员以往项目或者领域的经验对 未来的工作量进行估计。
类推法
将本项目的部分属性与高度类似的一个或几个完成的项目进行比对,适当调整后获得待估算项目工作量、工期或成本估算值的方法。
类比法
将项目的部分属性与类似的一组基准数据进行对比,进而获得待评估项目的工作量、工期和成本估算值的方法。
基于基准数据通常以50百分位数为参考而非均值。
方程法
根据一个相对稳定的公式对未来的工作量进行估计。
基于基准数据建模,可以与行业和企业数据相结合。
自下而上估算
先分解估算,而后汇总
例如: WBS细分估算;
例如:功能点规模估算;
自上而下估算
先估算或获得确定总数,而后分解估算;
例如:确定项目总估算工作量,估算需求、设计、开发等工作量
例如:已知预算,估算本期能开发多少功能
PERT法: (经验法变形一)
采用乐观、悲观和最可能的估算值, 并进行平均值、标准差等有关计算
估算值=(a+4b+c)/6;
标准差=(c-a)/6
DELPHI法: (经验法变形二)
组织3名以上专家对目标进行估算
召集专家讨论估算相关因素
匿名填写估算表格
设定估算接受的目标要求
通常可以设定为极差与均值的比例不超过某阈值
如果估算未能收窄至目标要求则迭代
交叉验证法
成本估算过程中宜采用不同的方法分别估算并进行交叉验证。
如果不同方法的估算结果产生较大差异,可采用专家评审方法确定估算结果,也可使用较简单的加权平均方法。
估算数据基础:
企业历史数据库:收集企业已完成项目的数据,分析企业项目规模、工作量、成本、工期、质量缺陷等原始度量数据内容,促进企业的持续改善。
基准数据库主要是通过收集历史项目数据,分析项目的各种原始度量数据,如工作量、成本、工期,质量缺陷等原始数据。对企业的各种比例数据进行分析,如开发效率、单位成本、产品缺陷率、各阶段工作量占比等;开展行业基准比对、准确定位企业研发管理的改进点,促进企业生产力的持续改进。
基础数据库的作用:
制定合理的目标;
合理估算,制定合理的项目计划;
科学预测项目的成功率
定位主要待改进的机会
数据库主要字段:
属性 |
字段 |
项目基本信息 |
度量方法、开发地区、业务领域、开发类型、编程语言、操作系统、生存周期模型、开发技术、团队规模、需求稳定性 |
规模 |
软件规模、需求变更规模 |
进度 |
项目总周期、阶段周期、休眠周期、 |
工作量 |
项目总工作量、阶段工作量、 |
质量 |
缺陷密度、缺陷数 |
基准数据库:
基准(benchmarking)数据是指对历史数据经过筛选并维护在数据库中的一个或一组测量值或者派生测量值,用来表征目标对象(如项目或项目群)相关属性与这些测量值的关系。
行业基准数据
国际ISBSG(国际软件基准比对用户组)
国内CSBSG(由SSM®Institute负责收集和维护,并定期发布,包括国际、国内项目数据)
企业组织级基准数据库