一个成功的软件项目首先要有一个好的起点,也就是一个合理的项目计划;一个好的项目计划,离不开一个准确的、可信的、客观的项目估算数据作为基础。对于庞大的、多变的软件项目来说有着太多的不确定性。之所以要先制定项目计划,目的就是为了让项目更加可控。 但在执行过程中,出现各种矛盾和问题,导致预算实施起来非常不宜操作。如何提高估算的准确性呢?在管理过程中想必大家都会遇到以下问题:
1、软件项目预算要作到什么程度,才算是一个合格的预算?
2、由于做预算,需要对项目进行深入分析,作出工作量核算,需要投入人员与时间,那么作预算书是不是要有预算?
3、预算在软件项目开发和项目管理中应该是什么样的流程?怎样才能做好预算?
对软件项目的费用预算,主要从以下几个方面着想:
1、工作场所使用的预算,包括自建场所和租用场所2种。
2、硬件费用,对纯软件项目,主要是PC机,工作站,服务器等。
3、软件费用, 包括操作系统(如NT),办公软件(如LOTUS NOTES),软件开发软件(如NT,ORBIX开发LICENSE,VC++等)。
4、软件开发人员报酬,即开发人员工资,奖金等。
5、软件开发人员出差费用,如外出调研,参加研讨会等。
以上因素的1,4实际上都是由软件项目的规模和开发周期决定的。如何预测软件规模,在CMM中有几种比较流行的预测方法,如WIDEBAND DELPHI,COCOMO。
这里以WIDEBAND DELPHI为例简单介绍软件规模预测(详细流程可以参考相关软件项目管理材料):
1、将软件项目根据概要需求分割成功能点(FUNCTION POINT),越细越好。
2、由至少3名领域专家对每个功能点进行逻辑代码行预测。针对每个功能点可进行多轮预测直到大家的结果的误差不超过20%。
3、总结所有的预测结果,得到此项目的逻辑代码量。
4、根据业界人均日代码量(指整个生命周期,非只编码阶段)经验值或本公司对相关项目的经验值,以及在各个软件开发阶段(指需求分析,设计,编码,测试等)工作量的百分比分布,以及每月的工作日,就知道需要多少人月来开发这个项目。
5、然后在根据市场需求时间,项目的人员到位情况,就能定出项目计划和进度表(包括项目起始结束时间,每个阶段的进度安排,每个月的投入人员,等等)。
6、这样,以上的1和4的费用预测就出来了。
至于其它因素,要看项目的具体情况而定,不难得到。
软件项目预算要做到什么程度,要看实际情况。严格来讲,在项目实施过程中所要涉及的人、财、物都要折算成现金表现方式,明确表示出要多少人、多少物资花多少时间,才能完成此项目。并且最重要的是,所有人、财、物最后的表现方式均为多少钱。
但是这种方法本身实施起来就要消耗一定的资源,如果公司内部已有一个统一完善的资源数据库,实施比较容易。但如你所说,你们公司刚刚开始实行预算制,恐怕是没有这样的数据库的。如果为一个小项目大动干戈,就有点得不偿失了。因此,实际上,在制定预算当中所消耗的资源,也是要纳入考虑的,虽然这些并不表现在项目预算表上。
对于大型项目,只有通过