软件成本估算从20世纪60年代发展至今,在软件开发过程中一直扮演着重要角色。依据个人主观经验、粗略地设置费用比例等方式来进行软件成本评估已经无法满足现在的管理需求。
首先我们来举一个现实例子:
甲方:某国政府某部门
乙方:某软件开发公司
初始预算:3500万元
终止时花费(仅部分完成):1.5亿元
从该项目的推进过程中,我们看到项目实际费用和早期估算出现了严重的偏差,这成为导致项目失败的一个重要因素。
当前,在大量软件项目实施过程中,由于成本估算缺乏科学性和合理性,导致项目开发费用超支、项目延期、软件质量低下的现象已经普遍存在。做好软件成本估算成为项目顺利进行的基本前提。在此,小编总结了软件成本评估领域常见的工作方法如下。
一般,对一个软件项目进行成本估算要经过以下2个阶段:
1、软件规模估算
估算软件规模主要方法包括功能点、代码行等方式。
1)功能点估算法
基于软件的需求分析,将软件项目功能相关的因素进行度量,以功能点为单位标示软件规模。常用的方法为 IFPUG的FPA分析法。
2)代码行估算法
将软件产品的源代码行数进行测量来估算软件规模,适用于在项目完成后进行计量。
2、软件开发工作量估算
软件开发工作量估算是在软件规模估算基础上通过一定模型算法、类比、经验等进行工作量的估算。
软件工作量估算主要有自顶向下估算法、自底向上估算法、差别估算法、模型估算法、类比估算法等方法。
1)自顶向下估算法
该方法将待开发的软件开发工作进行任务分解,分别估算每一个开发任务所需要的工作量,然后将各任务工作量相加,得到软件的总开发工作量。
2)自底向上估算法
该方法首先在最底层对组成项目或子项目的软件开发任务和子任务的工作量进行估算,然后层层汇总到最上层,形成总体工作量。
3)差别估算法
将开发项目与一个或多个已完成的类似项目进行比较,找到与某个相类似项目的若干不同之处,并估算每个不同之处对成本的影响,导出开发项目的总成本。
4)模型估算法
模型估算法是根据项目的特点,借助相应成熟的模型估算软件项目成本的方法。常用的模型为COCOMOII(构造型成本估算模型)方法。
5)基于类比方法的软件成本估算
通过特征来收集已完成的项目,形成类比项目库,然后寻找与需要预测项目在应用领域、环境和复杂度等方面最相似的项目,通过最相似项目的已知工作量估算目标项目的工作量,得出软件项目成本估算结果。
6)专家估算法
依据同类项目建设中成本管理的经验积累或案例分析、相关知识,组织专家推敲软件项目成本的方法。这种方法不能量化,专家或专家小组所使用的因素难以标准化,难以避免主观影响。
3、软件开发成本估算
软件开发成本估算是在软件工作量估算基础上,结合开发人员费率得出的开发成本,开发人员费率可以按照所属区域、行业、岗位等,参考统计部门数据或市场行情等进行估算。
同时,现实中还存在“六拍法”:
—拍脑袋 – 得出进度和成本的承诺
—拍肩膀 – 领导充满期待
—拍胸脯 – 表决心能力
—拍桌子 – 遇到问题客户抱怨
—拍大腿 – 感到自责
—拍屁股 – 另谋高就
小编在此提醒各位,软件项目成本不同于一般工程类项目,其成本受到众多因素影响,并且具有高度的复杂性与专业性,一定要进行科学合理的项目估算,切莫学习现实中的“六拍法”。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!