【IT168 评论】项目估算一般有两种用途,第一种是用来安排进度计划,另外一种用来估价,来报价或者做决策。正确估计项目的规模,评估项目的开发工作量,以便合理地安排人月已经成为项目经理或主管的一项重要生存技能。本站此前曾经刊发文章“项目规模估算失准 软件开发成空中楼阁”的文章(http://tech.it168.com/a2009/1122/813/000000813137.shtml),其中提到,“约有60%的软件项目的失败是因为估算偏差引起的,而不是因为技术实力不够。因此,估算偏差已被列为软件项目失败的四大原因之一。”
到底如何估算项目规模,目前有很多种观点,有说用代码行的,有说用功能点的。一般认为,功能点法太复杂,对人员经验要求比较高,而且也要求提供一定的估算时间,尤其对中小型快速项目并不实用;代码行更适合用于缺陷密度来对比。
在ITPUB社区的项目管理板块,针对项目经理和主管就“项目规模估计方法问题”做了一项调查,如图:
调查结果显示,时至今日,依然有高达16%的项目管理人员完全凭“拍脑袋”估计,而依靠代码行估计的比例仅仅为5.7%;通过功能点估计的人数比例最高,达到29%;通过“需求点”来估计项目规模的比例为27%,通过历时项目WBS分解估计的人占18%。
从ITPUB调查数据中可以看出,对项目工作量的估算方法已经越来越科学。
“尽管对于项目估算方法业界有很多观点和争论,但我们从调查结果来看还是能看出一些端倪。功能点法和代码行法比较适合项目类似的情形,在这种情况下它可以计算得较为准确。而对于新项目,采用WBS(Work Breakdown Structure任务分解法)分解估计较好。”一位参与调查的项目经理表示。
网友ebizs在调查留言中谈到,“IFPUG我们用了2年多,针对领导干预少的项目,基本能按照时间完成且质量能达到要求。我个人觉得:IFPUG估计出来的功能点基本与后来软件开发的所需实际时间相差不多,但是与领导要求的时间相差较远,举例如下:开发一个业务系统,领导要求3个月完成(人力资源固定:如10人,领导要求30个人月),实际估计出来需要5-6个月(估计出50~60人月)。领导看完进度不同意。要求必须3个月完成。结果系统能正式上线运行,比6个月多,其中后来修修补补的时间跟开发时间差不多。”
编者注:IFPUG的功能点分析(FPA)方法是一种目前被广泛接受的关于软件规模度量的有效方法。目前越来越多的组织在运用这个方法进行软件规模的度量。
不过,也有参与调查的网友对功能点法等其它方法提出怀疑,网友GX301在留言中提到,“项目规模评估我们做过很多次,也拍脑袋,也做做WBS。组织一堆开发人员评估,最终发现拍脑袋的最接近实际,因为参与拍脑袋的人都是相对经验比较丰富,预计的风险相对准确,实际上有些风险即便给开发人员讲了,他在估算的时候仍然会漏掉。”