一. 什么是软件估算
做软件项目开发的时候,经常遇到的问题包括: 软件项目有多少功能?成本是多少?开发团队找什么样的?开发周期要多久?如何控制好开发质量?
在项目正式开发实施前,这些问题必须搞清楚。那么搞清楚这些问题了,就属于软件估算。
二. 估算的内容
软件估算的内容包括:
软件规模
软件质量
软件成本
开发周期
等等。
这其中最根本的是软件规模,即软件功能量化,我们这里称作“功能点”。软件的质量、成本、周期等估算内容都是依赖于功能点的,所以功能点数量是根本。
三. 软件估算的重要性
为什么要进行软件估算呢?根据估算内容,我们也大概能够了解到估算的重要性了。
科学标准的估算结果可以给出更加准确的成本价格,避免成本价格偏差太大。特别是在当前国家严格审批和审计的情况下,科学合理且有据可依的成本价格有助于项目更容易获得申请通过,且经得起审计部门的审计。
此外,估算结果可以更好的帮您选择开发团队及人员投入。为什么这么说呢?由于地域及发展水平的问题,不同地区的开发团队其人员成本是不同的,北京这种一线城市是最高的。还有比如开发团队之前是否做过同类项目?用什么语言开发?等等,这些因素都会决定项目的成本价格、开发周期,及投入的人时数等。
假如一个项目没有事先做估算,可能会出现的结果:
- 项目按计划如期顺利完工(极少项目,也是理想状况);
- 功能增加或调整;
- 前期项目费用不足,需要补充;
- 项目延期,迟迟没有交付;
- 项目烂尾,导致无法交付;
- 甲乙双方相互扯皮
- 等等
近期爆出的一个法国的项目就很有代表性。这个项目本来不大也不复杂,结果乙方用了12年,写了600多万行,甲方支付的开发费用也从几百万欧元不断上涨。最终的结局是项目不合格,甲方负责人被判入狱。结局很可悲,但也说明了如果事先做好了估算,这种结局就基本不会出现。
四. 何时进行估算?
那么何时需要进行估算呢?
我们认为从项目立项到实施的全过程都可以进行估算。
比如立项阶段,需要估算有多少功能,需要投入多少资源,协调哪些单位和部门,用户是谁,有多少用户,能简化多少流程,能提高多少效率,或者能有多少收益等等。
预算阶段就需要估算出来申报或投资额度的合理区间。
那么在招标阶段,项目的合理标的应该是多少?如何面对较大的投标额?
还有在项目实施阶段,如何更好管理功能变更调整,参与人员的灵活调配,及合理的变更费用等等。