欢迎您访问山东道普测评技术有限公司!
成功案例

软件研发成本评估问题剖析

发布时间:11-05-2015    来源:山东省道普测评技术有限公司    

什么是软件研发成本评估

软件研发成本评估指的是确定软件项目开发时间和开发成本的过程,包括软件规模估算、工作量估算、项目进度估算、成本估算等内容:

软件研发规模估算:软件研发规模即软件大小,可用代码行数表示。软件规模只与需求有关,不受平台、人力等因素影响,是计算软件项目工作量、成本、进度的主要输入;

软件研发工作量估算:是对软件产品开发所需人力的估算,通常以人时、人天、人月、人年来衡量,是由软件规模和与项目有关的因素所驱动的,如团队的技术和能力、所使用的语言和平台、平台的可用性与适用性、团队的稳定性、项目中的自动化程度等。

软件研发项目进度(工期)估算:是对项目时间的估算,可用月表示,主要受工作量、外部进度限制等因素影响。

软件研发成本估算:是指软件费用成本,可用万元表示,是根据软件工作量、人月费用确定。

为什么需要软件研发成本评估

当前软件研发成本存在的问题

随着软件系统规模的不断扩大和复杂程度的日益加大,从20世纪60年代末期开始,出现了以大量软件项目进度延期、预算超支和质量缺陷为典型的软件危机,至今仍频繁发生,根据Standish组织在1995年工作的CHAOS报告中显示,在来自350个组织的8000个项目中,只有16.2%是“成功的”,即能在预算和限期内完成;31.1%是“失败的”,即未能完成或取消;其余52.7%被称为“被质疑的”,虽然完成,但平均预算超支89%。2004该组织统计项目数量累计达到50000多个,结果显示,成功项目的比例提升到29%,而被质疑的项目比例仍有53%。虽然有些研究认为,CHAOS报告中关于预算超支89%的数据被夸大了,实际情况应该平均在30%~40%。但有一点却能够取得共识:人们经常对软件成本估算不足,它与需求不稳定并列,是造成软件项目失控最普遍的两个原因。

在实际软件研发项目中,存在着软件研发企业报价差异大的问题,有的软件研发企业为了争取项目案例,会以低于实际成本的方式参与报价,有的软件研发企业为了争取更多利润,会以高于实际成本及合理利润的方式参与报价。而在软件研发项目实施过程中,有的软件研发企业也会通过重进度轻质量的方式去降低项目成本,只完成用户看得见的软件功能部分,对于软件的安全性、可靠性、性能等非功能质量不进行必要的人员、时间等方面的投入,有的软件研发企业则对软件用户前期已购买的软件功能模块或开发源代码的组件进行改头换面,冒充新开发的功能模块或组件。

软件成本评估一直是软件项目管理的一个薄弱环节。对于一个项目的管理者,必须对软件的开发成本有一个相对准确的估计。如果对软件成本估计过高,则会造成丧失签订合同的机会;如果估计过低,则使软件开发组织投入不足导致软件质量下降。

当前软件研发成本评估问题剖析

软件研发成本问题产生的直接原因,在于软件研发规模、软件研发工作量、软件质量等方面度量的复杂性、专业性。问题的根本原因在于软件自身的特殊性,即软件代码可复制性高,软件代码复用率高。

软件用户、软件研发企业由于缺乏软件研发规模、软件研发工作量、软件质量等方面度量的方法、工具以及相关人员,多数情况下只能依赖于有限的经验、市场信息等评估软件研发企业的报价是否合理,而软件研发企业则主要根据同地区、同类型、同规模的软件研发项目经验、市场信息进行报价的评估。

软件研发成本评估意义

无论是产业界还是学术界,越来越多的人认识到,做好软件成本评估是减少软件项目预算超支问题的首要措施之一,不但直接有助于作出合理的投资、外包、竞标等商业决定,也有助于确定一些预算和进度方面的参考里程碑,使软件组织或管理者对软件开发过程进行监督,从而更合理地控制和管理软件质量、人员生产率和产品进度。正如美国Southern California大学Boehm教授(COCOMO模型作者)所指出的“理解并控制软件成本带给我们的不仅仅是更多的软件,而会是更好的软件”。

软件研发成本评估的作用

软件成本评估从20世纪60年代发展至今,在软件开发过程中一直扮演着重要角色,在项目管理和控制中占据非常重要的地位,且贯穿于项目立项、系统招标、项目决算以及软件生命周期的各个阶段:

项目规划初期粗略的成本评估是必要的,它往往用于进行项目的可行性分析。在项目计划阶段进行详细的成本评估,设定项目工作分解表中每项任务可能的成本,作为项目实施阶段进行成本控制的基准。在项目实施阶段,当项目实际成本与计划成本出现差异时,还需对项目后期的成本重新进行必要的评估。因此软件成本评估在项目的管理和控制中占据着非常重要的地位。

信息化相关文章