如何进行软件项目估算
政府扶持基金-乱世佳人电影
如何进行软件项目估算
一个成功的软件项目首先要有一个好的起点,也就是一
个合理的项目计划;一个
好的项目计划,离不开一个准确的、可信的、客观的项目估算数据作为基础。如
何提高估算的准确性,如何利用项目估算的数据来制定项目计划,本文就将带领
大家学习、理解
软件项目估算的一些最佳实践。 为什么要对项目进行估算 对于
庞大的、多变的软件项目来说有着太多
的不确定性。之所以要先制定项目计划,
目的就是为了让项目更加可控。如果项目的计划缺乏数据进行支
持,或者根本不
进行估算,只凭项目管理人员的经验进行管理,那么项目最终就会变成软件项目
常见的“三拍”现象:“首先公司领导拍拍某个项目经理的脑袋,说你来负责这
个项目;项目经理拍拍胸
脯说没问题;最后项目失败的时候项目经理就只能拍拍
屁股走人”。 当然,这只是个玩笑。不过由此可
见项目估算是项目管理人员深入
了解项目的第一步,做到“知己知彼,才能百战不殆”。
常用的软件估算方法 软
件可以通过主观和客观两种方法对其进行估算。 主观的估算方法可以通过召集
项目团队成员,或者邀请各方面的专家,共同对某个项目的属性进行评估。参与
评估的每个人都
要单独进行估算,如果发现大家对某个项目属性估算的结果存在
较大偏差,那么就需要做进一步的讨论,
直到取得共识为止。对个别特殊属性进
行主观估算时,一定要有直接干系人的参与,例如:对某个文档工
作量进行估算
时,最好该文档的负责人参与估算,因为他才是最终的执行人。 客观的估算方
法
是利用公司提供的各种度量数据进行估算,例如:组织级的生产率,或者其他
项目的度量数据。本文主要
讲解项目管理人员如何通过客观的方法对项目进行估
算。 项目的哪些属性可以进行估算
软件项目的属性有很多,建议至少以下属性
要在项目计划时对其进行估算: 1、项目规模
2、项目工作量 3、项目所需资源
4、项目各阶段工作量 5、项目成本
Ø如何对项目规模进行估算 对项目规模进
行估算是为了将项目的范围进行量化,项目规模的估算是整个
软件估算中最核心、
最基础的环节,也是整个估算的第一步。软件项目的规模可以使用功能点估算法和代码行估算法两种方式,但是作为项目初期阶段,建议使用功能点法进行估算
会比较合理。具体的
功能点估算方法可以参考我之前在ITPUB上发表的相关文章。
Ø如何对项目工作量进行估算 在项
目规模的基础上,可以利用组织级生产率得
到项目总的工作量。例如:一个公司组织级生产率如下图所示
,在2008年中期
时,该组织每开发一个功能点需要花费1.5个人天的工作量。假如该公司某项目有200个功能点,那么该项目的工作量就可以通过以下公式计算出来:
项目
工作量=200*1.5=300人天 Ø如何对项目所需资源、各阶段工作量进行估
算
对这些项目属性进行估算的主要方法是通过与组织级度量库中的历史数据进
行对比,找到相同规模的历史
项目,参考其数据,根据本项目的特点对相关属性
进行估算。假如本项目与公司之前的某项目A规模大体
相当,项目A历史数据如
表1和表2所示: 表1-项目A使用资源数
作量分布
瀑布模型生命周期各阶段
表2-项目A生命周期各阶段工
两个项目的规模相当,这是我们进行
估
算的依据,根据之前对项目总工作量的估算(300人天),那么就可以得到本项
目各个阶段
的工作量分布,如表3所示: 表3-本项目各生命周期工作量分布 瀑
布模型生命周期各阶段
Ø如何对项目工期进行估算 假设本项目采用瀑布
式的开发模型,并且所需资源与组织级度量库中的历史
项目A相同,根据表3
对各个生命周期阶段工作量的估算,以及表1对各种资源的估算,那么通过表4<
br>的计算就可以得到完成本项目所需要的时间。
假如每月按照21个工作日进行计
算,那么本项目估计5.82个月后可以结束。
表4-对项目周期的估算Ø如
何估算项目的成本 假如本项目所使用的资源与项目A相同
,那么就可以参考组
织度量库中2008年各种资源的平均成本,如下图所示:
经过对项目周
期的估算,可以得知本项目大概需要5.82个月的时间。基于以上
数据就可以通过表5来对项目的成本
进行估算,其结果如下所示: 表5-本项目
成本估算至此,对项目的规模、成本、工作量、资源和工期
的估算方法和顺
序就介绍完了,通过本文的介绍,希望广大项目管理人员可以掌握项目估算的技
巧。对于使用客观方法进行估算时,组织级的度量数据是关键核心点。另外,软
件项目始终伴随着各种各
样的变更,这正所谓“变化是永恒的,不变是短暂的”。
作为一个成熟的项目管理者应该勇于面对变化,
在每次重大变化后对项目进行重
新估算是十分必要的。