用于软件项目工作量估算的方法有以“估”为主的专家法和类推法,以“算”为主的类比法和方程法。在软件估算的实践中,类比法和类推法也是普遍使用的估算方法,但很多人搞不清二者的应用范围和估算步骤,现在笔者就对这两种估算方法做一下详细介绍。
1、类比法
类比法是指将本项目的部分属性与类似的一组基准数据进行比对,进而获得待估算项目工作量、工期或成本估算值的方法。类比法是基于大量历史项目样本数据来确定目标项目的预测值,通常是以50百分位数为参考而非平均值。选择类比法进行估算,应根据项目的主要属性,在基准数据库中选择主要属性相同的项目进行比对。
类比法适合评估那些与历史项目在应用领域、系统规模、环境和复杂度方面相似的项目,通过新项目与历史项目的比较得到估计数据。类比法估算结果的精确度取决于历史项目数据的完整性和准确度。因此,用好类比法的前提条件之一是组织建立起较好的项目后评价与分析机制,对历史项目的相关属性建立基线数据。
适用范围:
当需求极其模糊或不确定时,如果此时有与本项目类似属性(如规模、应用类型、复杂度、开发团队经验等)的一组基准数据,则可直接采用类比法,充分利用基准数据来估算工作量。类比法可以在整个项目级上做基准比对,也可以在子系统级上进行。
估算过程:
1) 确定待估算项目所具有的属性特点,如系统的规模、复杂度、应用类型、业务领域、开发人员的经验和能力等。
2) 查询历史数据库并筛选“最相似”的项目属性数据。
3) 如果待估算项目属性与历史项目的主要属性类似,则可依据历史项目的基线数据直接得出待估算项目的工作量合理范围。
4) 如果同时满足待估算项目主要属性的历史项目太少,则可针对待估算项目的每个属性与历史项目相应属性的基准数据分别比对,再分别计算得出P25/P50/P75的平均值作为估算值。
5) 一般情况下,取P50的工作量数据作为待估算项目工作量最可能的值。
应用示例1:
项目范围描述:为某银行新开发应用驾驶舱项目,以支持金融相关业务数据的图形化展示和决策分析,如经营指标、绩效指标、财务指标、风险指标、监管指标等,使用仪表盘技术,综合展示现状及目标完成进度以帮助了解目前经营指标是否均衡发展,市场规模是否具有良好发展态势。
对待估算项目的主要属性进行识别,分别为:应用类型(BI)、业务领域(银行)、新开发项目。
经查询企业基准数据库后发现,公司做过55个与待估算项目属性基本相同的项目。
查询结果如下:
从表中数据可得出待估算的项目最可能的工作量为3845人时(P50),合理的工作量范围在3366人时(P25)和4210人时(P75)之间。
应用示例2:
项目范围描述:为某集团企业开发一套结算报销审核和资产管理系统,以支持该单位的报销单据的填写、审核和审批,并支持固定资产采购的申请、审批和资产的借用、分配和淘汰管理。
对待估算项目的主要属性进行识别,可以识别出项目的3个主要属性是新开发类型、业务领域和应用类型,分别为“新开发”、“集团企业”、“业务处理”。
经查询企业基准数据库后发现,同时符合3个筛选条件的项目只有5个,数量过少,参考价值不大。因此选择单一属性分别比对,查询结果如下:
从表中数据可计算出,该项目最可能的工作量为5238人时,计算方法为(5500+5240+4975)/3。工作量估算的合理范围在4744人时和5938人时之间(采用P25和P75的值分别计算平均值)。
2、类推法
类推法是指将本项目的部分属性与高度类似的一个或几个已完成项目的数据进行比对,适当调整后获得待估算项目工作量、工期或成本估算值的方法。选择类推法进行估算,通常只参照1~2个高度类似的项目,同时根据待估算项目与参照项目的差异,进行适当调整。
适用范围:
1) 当需求极其模糊或不确定时,较难估算工作量,如果此时具有高度类似的历史项目,则可直接采用类推法,充分利用历史项目数据进行估算。
2) 适用评估一些与历史项目在业务领域、应用类型、环境和复杂度等方面的相似项目,通过新项目与历史项目的比较进行估计。
3) 该方法估算结果的精确度取决于已完成项目数据的完整性、准确度,以及两个项目之间的相似度。如果没有类似的项目,该方法就不能应用。
估算过程:
1) 识别出待估算项目的主要属性。
2) 查找本组织曾经做过的类似的历史项目。
3) 对比历史项目,标记差异点,经过调整后计算出待估算项目的工作量。
应用示例:
以下项目是基于某公司银行监管报送产品框架,依据人行和银监会要求的报送制度,做相应的功能定制开发。示例中的甲、乙客户都属于城市商业银行。
项目范围描述:采用公司自有产品框架,为乙银行开发一套满足监管报送制度的系统。银行业务系统包括核心业务系统和信贷管理系统,监管报送数据来自这两个系统,经过数据抽取、清洗、汇总后按要求分别上报人行和银监会。
历史项目情况:公司为甲银行开发过类似的系统,并已上线运行。经统计,项目开发总工作量为75人天,其中监管报送部分的工作量为60人天,行内报表部分的工作量为15人天,即甲银行在监管报送业务功能的基础上,增加了3张行内定制报表。
需求差异:经过对甲、乙客户项目的分析,确认二者的应用类型相同,项目复杂度和业务领域类似,并且在监管报送方面的项目范围相同,但乙银行对行内报表没有提出额外的开发要求。
基于以上信息,采用类推法估算乙客户项目最可能的工作量为60人天,与甲银行在监管报送部分的开发工作量相同。
类比法和类推法估算都依赖于项目的历史数据,类比法要求组织建立基准数据库,而类推法要求新项目和历史项目具有高度类似的部分属性。(本文版权归北京软件造价评估技术创新联盟所有,转载需标明出处)
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/193784.html