摘要:随着企业数字化转型的深入开展,信息系统的建设需求日益增多,如何把控软件开发系统的费用一直是行业的难题,传统的人天法是从开发者的角度评估费用,用户没有直观地了解。本文结合国际上通用的评估方法,以用户视角为出发点来开展费用评估。
关键词:软件开发;费用评估;用户
概述
在物联网、云计算、大数据等理念及技术的发展和推动下,软件服务成为信息消费中发展最快、最具活力的领域之一,我们正在进入一个“软件定义”的时代。与传统工程类项目不同的是,软件是一种知识密集型产品,其成本估算和度量有其特殊性,目前,公司的软件项目费用主要依据项目组的人天法,既由项目组先将项目按照需求调研、方案设计、系统开发、测试、验收等环节分别给出每一环节所需时间,单位为天,在结合人天费用,计算出总的费用,该方法主要依据项目组人员的经验给出,虽然计算简单,但有其不合理性,一是该方法是从开发者的角度来看的,用户对费用对应的工作量没有直观地感受,二是项目开发人员可以在同一时间进行多个项目,其在该项目上花费的时间与实际是不符合的,所以这种评估费用的方法是不合理的,在此背景下,迫切需要引入一种科学、统一的软件研发成本度量标准来规范软件项目的管理。
1、几种常见的软件评估方法简介
功能点方法最初由IBM的工程师AllanJ.Albrecht在1979年提出,经过几十年的实践与发展,在Allan功能点模型基础之上,逐步演化为ISO/IEC14143“信息技术软件度量功能规模度量”系列标准及NESMA、IFPUG、COSMIC、MarkII、FiSMA五个具体的操作方法标准[1]。这五种不同的功能点标准,在应用领域、应用范围、方法易用性和可靠性等方面有各自不同的特点,其对比如表2-1所示:
2-1五种功能点方法比较(用户角度)
.png)
通过对比可以看出,NESMA和IFPUG综合评价较高,而且,目前在全球使用功能点方法的企业中,超过90%使用IFPUG/NESMA方法,由于NESMA方法定义了预估功能点、估算功能点和详细功能点3种应用场景以支持项目不同粒度的估算,因此如果使用行业标准进行早期估算(如编制预算、招投标),NESMA方法更能满足实际需求。
2、NESMA方法介绍
NESMA评估方法包括规模估算、规模调整、工作量估算和费用估算四部分内容,是基于行业基准数据建立参数模型,并通过输入各项参数,确定待估算项目工作量、成本估算值的方法。采用方程法确定项目工作量、成本的典型过程如图2-1所示:
.png)
其中:UFP为未调整功能点数,ILF为内部逻辑文件数量;EIF为外部接口文件数量;EI为外部输入数量;EO为外部输出数量;EQ为外部查询数量;S代表调整后规模;CF为规模变更调整因子;AE代表调整后工作量,单位为人时;PDR代表功能点耗时率,单位为人时每功能点;SWF为软件因素调整因子;RDF为开发因素调整因子;D代表工期,单位为天;F2代表人月费率(含开发方直接人力成本、开发方间接成本及开发方毛利润),单位为元每人天;DNC代表开发方直接非人力成本,单位为元;P代表预算费用,单位为元。
3.项目应用
结合公司项目开发实际,现将某开发项目按照功能点方案开展评估。
3.1估算规模
在项目前期调研基础上,结合需求方案,梳理项目的内部逻辑文件(ILF)、外部接口文件(EIF)、外部输入(EI)、外部输出(EO)、外部查询(EQ),并判断每一项功能点的修改类型和复用度,统计结果如表3-1所示:
.png)
由上表可以看出,经过与用户以及项目组沟通确认后,项目的功能点数为US为150个。
3.2规模调整
结合规模调整公式可知,调整后的工作量S=US*CF,由于该项目需求阶段为“项目中期”,故规模变更因子取值为1.22,因此,调整后的规模S=150*1.22=183。
3.3工作量估算
工作量估算的公式如下:
AE=(PDR*S)*SWF*RDF
式中涉及的各类因子取值如表3-2所示:
.png)
3.4成本估算
在获得了工作量估算结果后,可采用以下公式估算项目预算:
P=AE/HM2*F2+DNC
式中:
P:预算费用,单位为万元;
AE:调整后工作量,单位为人时;
HM2:人月折算系数,单位为人时每人月,取值为176(按照每月22个工作日,每天工作8小时计算);
F2:平均人力成本费率(根据行业基准数据,项目组公司所在地区人均费用为1.9523万元),代入公式算得能好到站项目软件开发费用为:
.png)
由表得出,项目的总费用在11.53万元到17.30万元之间,经过谈判,最终报价为12.5万元(含税),和项目组报价18万元相比,节省了5.5万元。
4、总结
以用户视角出发、功能点分析为主的软件项目评估方法是对软件项目的功能点规模、工作量、工期、成本进行估算的一项技术,有效解决以往系统自主开发能力不足、开发成本受制于人的难题。该方法适用于需求管理、架构管理、系统开发等不同阶段,为项目管理人员提供了客观的、准确的评估数据,为领导的决策判断提供了全面的、科学的依据和支撑,具有良好的经济效益和社会效益。
参考文献:
[1]王海青.软件研发成本度量规范释义[M].北京:机械工业出版社,2017:13-14.