软件开发成本评估过程中对成本分析的方法主要包括哪些?
对软件开发成本进行分析有助于软件组织了解自身开发过程的情况,提高估算准确性、控制成本并为改进提供重要的决策信息。
根据难度以及对成本分析的深入程度,可以分为:
a)成本估算偏差:分析估计成本与实际成本的偏差及原因。
b)成本构成:分析开发成本的构成情况,可以参考以下方式对成本进行分类:
——分为直接成本和间接成本,其中直接及间接成本中再分为人力成本和非人力成本;
——根据生命周期分为需求、设计、编码、测试、交付等阶段成本;
——根据工作类型划分为开发成本、项目管理成本、质量保证成本等。
通过以上分类的统计并结合“成本估算偏差”的信息了解成本估算产生偏差的主要原因。
c)成本关键影响因素相关性分析:软件开发过程中多种因素对成本产生不同的影响,这些因素对在各组织中的影响程度不尽相同,因此通过分析开发过程中各因素与成本间的关系可以让管理者了解本组织成本控制的重点。
相关性分析通常使用的方法包括散点图以及Pearson相关分析:
——散点图将实验或观测得到的数据用点在平面图上表示出来,显示了一个因素相对于另一个因素是如何变化的。
——Pearson相关分析是统计学中分析变量线性相关的方法,通过计算可以得到变量间量化的相关系数,并通过相关系数判断因素对成本影响的大小。
d)成本估算方程回归分析:软件开发活动的管理者除了希望了解成本关键影响因素的影响程度以外,还希望获得成本与关键影响因素的量化关系,即关于成本与关键影响因素的估算方程。
回归分析(regression analysis)是确定两种或两种以上变数间相互依赖的定量关系的一种统计分析方法,常用于建立回归方程。回归分析一般的步骤包括:
——根据预测目标,确定自变量和因变量;
——建立回归预测模型;
——进行相关分析;
——检验回归预测模型,计算预测误差。
建立回归方程后,管理者可以在项目初及项目中对成本进行预测并通过提前控制影响成本的关键因素达到控制成本的目的。
软件成本估算偏差的测量与分析可以使用挣值分析方法,该方法的核心是将项目在选定时间的计划指标、完成状况和资源耗费进行综合度量,将这些信息转化为统一的单位进行管理,例如:货币、工时等,从而能准确描述项目的进展状态。该方法的另一个重要优点是可以预测项目可能发生的工期滞后量和费用超支量,从而及时采取纠正措施,为项目管理和控制提供了有效手段。
挣值分析方法使用的一般步骤如下:
a)如5.2.1提到的,定期或者事件驱动地收集项目的数据,包括:
——PV(某阶段计划要求完成的工作量所需的预算费用);
——AC(某阶段实际完成的工作量所消耗的费用);
——EV(某阶段按实际完成工作量按预算定额计算出来的费用)。
b)计算评价指标,这些指标主要用于评价进度偏差及成本偏差:
——CV(费用偏差)=EV-AC;
——CPI(费用执行指标)=EV/AC;
——SV(进度偏差)=EV-PV;
——SPI(进度执行指标)=EV/PV。
分析各阶段的评价指标评价估计成本和实际成本的偏差及原因。
组织采用以上的成本分析方法得到结果后,应考虑结果对各利益相关方的影响,并与其就处理方法达成一致意见,包括处理问题、调整估算方法和改进开发过程等。