导航菜单

软件开发项目工作量核算探讨

摘要:在移动互联网时代,各类软件项目百花齐放,在各自领域独领风骚。在某种程度上,制约软件项目的开发,决定项目能否顺利启动的关键因素,是对软件项目开发工作量的估算与评审。项目开发工作量超过预算或与实际估算偏差太大,极容易导致项目夭折。如何评估或核算软件项目的工作量,一直是软件项目造价师的攻关重点。文章结合平时工作经验,对前期使用的工作量评估方法进行了总结,旨在让工作量评审的手段日益科学化。

关键词:软件项目;工作量;评估方法;单元库;功能点

1概述

在日常工作中,经常要对一系列开发项目(包括维护类合同、框架合同、基于工单驱动的临时需求开发等)进行工作量评估与核算。软件开发项目的工作量核实,工作量大、指标数量多,各类核减因子关系错综复杂,让核算专家或软件项目造价者战战兢兢、如履薄冰。软件项目工作量的估算,对项目的预算、成本控制、企业经费决策、项目审计等,具有重要影响。在进行软件项目工作量估算时,要掌握好5个要点:(1)工作量估算方法的选择:根据不同的应用场景进行估算方法的选择。(2)正确看待估算结果:估算结果应是一个范围值,而不是一个固定值。(3)交叉验证:同一个项目,可以选择多种方法进行估算,选择最有利于甲方的估算方法,但也应获得乙方的认可。(4)估算修正:对假设条件进行检查与修改,避免蝴蝶效应。(5)估算结果的沟通:工作量的估算,不是一项一蹴而就、一劳永逸的工作,需要不断沟通和多次迭代。结合日常生产中的工作经验,本文对软件项目工作量估算方法进行了初步分析与探讨,一是对前期的工作进行总结,二是为后期工作的开展做铺垫。本文研究的目的在于,让工作量的评估或估算,拥有更科学的方法,而不是继续拍脑袋。

2软件开发项目的工作量核算

2.1基于单元库的工作量核算

很多软件项目的费用,采用最简单最原始的计算方式:费用(单位:元)=工作量(单位:人天)*单价(单位:元/人天)。其中,总的费用预算由财务部制定;工作量由计划部规划,由应用部门或生产部门进行最终确认;单价由采购部谈判确定。各个部门各司其职,共同目的是将总费用控制在财务部所规定的预算内。所谓单元库,就是根据软件的目的,细化到不同的功能模块,为每个模块设置一个比例,从而实现对整个项目工作量的评估。如某小型软件项目,按照其规范,软件具有3个功能模块:通用界面(视图展示)、数据管理(后台数据分析)、告警监控(事件管理与推送),其单元库模型如表1所示。

2.2基于功能点识别的工作量核算

在软件总费用的逻辑模型中,软件的成本由4个部分组成:直接人力成本、间接人力成本、间接非人力成本、直接非人力成本,其中,直接人力成本指项目组成员的工资、奖金、福利等人力资源费用;间接人力成本指服务于研发管理整体需求的非项目组人员的人力资源费用分摊,如项目经理、管理人员的费用;间接非人力成本指服务整体人员而产生的非人力费用分摊,如房租、水电、物业等;直接非人力成本指服务于组员的相关费用,包括办公费、差旅费、培训费等。在该逻辑模型下,软件项目成本的计算公式为:SDC=(S*PDR)*SWR*RDF/176*F+DNC其中,SDC指软件的总成本;S指软件的规模,单位是功能点数;PDR指生产率,单位为人时/功能点;SWF指软件因素调整因子;RDF指开发因素调整因子;176指全月的小时数,每月工作22天,每天8小时,22*8=176;F指人类成本费率;DNC指直接非人力成本。在该公式里,规模S需要通过功能点的统计进行计算。常用的是预估功能点和估算功能点。所谓预估功能点,是指在计算功能点时,仅计算ILF和EIF,一般地,设置ILF=35FP、EIF=15FP。所谓估算功能点,是指在计算功能点时,全面计算ILF、EIF、EI、EO、EQ,一般地,设置ILF=10FP、EIF=7FP、EI=4FP、EO=5FP、EQ=4FP。这里,ILF和EIF属于数据功能类别,其中,ILF指内部逻辑文件(本系统内维护的业务数据),EIF指外部接口文件(本系统引用由外系统维护的业务数据);EI、EO、EQ归属于事务功能数据,其中,EI指外部输入(会带来本系统状态的改变,如增、删、改等操作),EO指外部输出(对数据加工后进行输出或呈现),EQ指外部查询(不进行任何加工)。

2.3其他估算方法的工作量核算

工作量的估算,不是一层不变的,可以根据实际情况采用不同的估算方法。除了常用的单元库、功能点工作量估算方法,还可以使用其他方法,说明如下:(1)方程法:将工作量描述成y=f(x1,x2,…xn)的形式,通过确定变量X,最终达到确定整个项目的工作量Y。方程法基于基准数据进行建模,常用于行业数据与企业数据相结合的项目开发场景。(2)类比法:寻找与当前项目高度相似的项目,如项目的功能、应用场所、应用范围、使用人员、使用人员的情况、厂商背景等均具有很大的相似性。该方法基于基准数据,对差异部分进行调整,通常以50百分位数(而非均值)为参考。(3)类推法:通过不同项目的某些相似性类推出其他项目的相似性,从而预测出项目之间在其他方面存在类似可能性的方法。说到底,类推法是基于量化的经验法,理论上,这是最可靠的估算方法。而现实中,估算的结果常常产生极大的偏差。(4)基于WBS的软件工作量估算方法:一种目标细化管理方法,也是一种经验法。WBS是WorkBreakdownStructure的简称,中文意思是工作分解结构,创建WBS是把项目按阶段可交付成果将项目工作分解成较小的,更易于管理的组成部分的过程。(5)DELPHI法:一种背靠背成本估算方法,即函询调查法,将提出的问题和必要的背景材料,用通信的方式向有经验的专家提出,然后把他们答复的意见进行综合,再反馈给他们,如此反复多次,直到认为合适的意见为止。

3结语

软件项目的工作量评审,一直是日常项目管理的重点。该项工作在我省项目管理工作中,获得了一致的支持和广泛的应用,取得了良好的效果。下一步将从两个方面开展工作。一方面,继续对现有的工作量评估方法进行优化,对不同的评估方法进行组合使用,检查评估效果;另一方面,在大数据和人工智能时代,引用新型技术,试图开发新的评估方法,让工作量评估手段更加智能化。

参考文献:

[1]顾逸宸,朱祯,史成霞,司小平.综合运用护理时数评估和工作量考核系统进行绩效改革的尝试与体会[J].中国继续医学教育,2018(04).

[2]朱明英,姚文胜,邢豫,陈春华.基于功能点法的软件工作量评估方法研究与应用探讨[J].现代计算机(专业版),2017(11).

[3]岳斌.一种面向统一需求的软件工作量估算方法[J].电信网技术,2017(09).

作者:王雪纯 周小翠 吴娟 潘杨 单位:中国移动通信集团湖北有限公司

下载文本