估算方法
对于一个大型的IT软件项目,由于项目的复杂性及IT项目的独特性,开发成本的估算不是一件容易的事情,它需要进行一系列的估算处理,因此,主要依靠分析和类比推理的手段进行,最基本的估算方法有以下几种:
● 成本建模技术
根据项目特征,用数学模型来预测项目的成本。一般采用历史成本信息(这些信息与项目成本的一些软件度量标准相关)来建立估算模型,并通过这个模型预测工作量和成本。
● 专家判定技术
也称为Delphi法,聘请一个或多个领域专家和软件开发技术人员,由他们分别对项目成本进行估计,并最后达成一致而获得最终的成本。
● 类比评估技术
根据以前类似项目的实际成本作为当前项目的估算依据。
● Parkson法则
Parkson法则表示工作能够由需要的时间来反映。在软件成本估计中,这意味着成本是由可获得的资源而不是由目标评价决定的。如果一个软件需要在12个月内由5个人来完成,那么工作量就是12 X 5 = 60个人月(PM)。
● 自上向下估算法
成本的估算,主要依据工作分解结构、产品的功能以及实现该功能的子功能组成形式逐层分配成本。
● 自下而上估算法
首先估计每个组成单元的成本,然后根据工作分解结构,通过累加方式得到最终的成本估计。
● 赢利定价法
软件的成本通过估计用户愿意在该项目上的投资来计算,成本的预算依靠客户的预算而不是软件的功能。
上面这些估算法都有它们的优势和不足,不能简单评价某种方法和好坏。在一个大型的IT项目中,通常要同时采用几种估算方法并且比较它们估算的结果,如果采用不同方法估算的结果大相径庭,就说明没有收集到足够的成本信息,应该继续设法获取更多的成本信息,重新进行成本估算,直到几种方法估算的结果基本一致为止。
成本预算是在确定总体成本后的分解过程。分解主要是作两个方面的工作:一是按工作分解结构和工作任务(工作包)分摊成本,这样可以对照检查每项工作的成本,出现偏差时可以确定是哪项工作出了问题;二是按工期时段分摊成本,将预算成本分摊到项目工期的各个时段,这样,可以确定在未来某个时段累计应该花费的成本,并检查偏差,评价成本绩效。
目前最常用且最好用的度量方法主要用3种:面向规模(LOC)、面向功能点(FP)及COCOMO模型的度量方法。