Leadge.com首页 > 知识库
文章搜索
软件项目管理FollowMe:如何估算项目
2009-3-12 18:09:42  作者:张瑾
  一个成功的软件项目首先要有一个好的起点,也就是一个合理的项目计划;一个好的项目计划,离不开一个准确的、可信的、客观的项目估算数据作为基础。如何提高估算的准确性,如何利用项目估算的数据来制定项目计划,本文就将带领大家学习、理解软件项目估算的一些最佳实践。

    为什么要对项目进行估算

    对于庞大的、多变的软件项目来说有着太多的不确定性。之所以要先制定项目计划,目的就是为了让项目更加可控。如果项目的计划缺乏数据进行支持,或者根本不进行估算,只凭项目管理人员的经验进行管理,那么项目最终就会变成软件项目常见的“三拍”现象:“首先公司领导拍拍某个项目经理的脑袋,说你来负责这个项目;项目经理拍拍胸脯说没问题;最后项目失败的时候项目经理就只能拍拍屁股走人”。

    当然,这只是个玩笑。不过由此可见项目估算是项目管理人员深入了解项目的第一步,做到“知己知彼,才能百战不殆”。

    常用的软件估算方法

    软件可以通过主观和客观两种方法对其进行估算。

    主观的估算方法可以通过召集项目团队成员,或者邀请各方面的专家,共同对某个项目的属性进行评估。参与评估的每个人都要单独进行估算,如果发现大家对某个项目属性估算的结果存在较大偏差,那么就需要做进一步的讨论,直到取得共识为止。对个别特殊属性进行主观估算时,一定要有直接干系人的参与,例如:对某个文档工作量进行估算时,最好该文档的负责人参与估算,因为他才是最终的执行人。

    客观的估算方法是利用公司提供的各种度量数据进行估算,例如:组织级的生产率,或者其他项目的度量数据。本文主要讲解项目管理人员如何通过客观的方法对项目进行估算。

    项目的哪些属性可以进行估算

    软件项目的属性有很多,建议至少以下属性要在项目计划时对其进行估算:

    1、 项目规模
    2、 项目工作量
    3、 项目所需资源
    4、 项目各阶段工作量
    5、 项目成本
 > 如何对项目规模进行估算

    对项目规模进行估算是为了将项目的范围进行量化,项目规模的估算是整个软件估算中最核心、最基础的环节,也是整个估算的第一步。

    软件项目的规模可以使用功能点估算法和代码行估算法两种方式,但是作为项目初期阶段,建议使用功能点法进行估算会比较合理。具体的功能点估算方法可以参考我之前在ITPUB上发表的相关文章。

    > 如何对项目工作量进行估算

    在项目规模的基础上,可以利用组织级生产率得到项目总的工作量。例如:一个公司组织级生产率如下图所示,在2008年中期时,该组织每开发一个功能点需要花费1.5个人/天的工作量。假如该公司某项目有200个功能点,那么该项目的工作量就可以通过以下公式计算出来:

    项目工作量= 200 * 1.5 = 300 人/天



    > 如何对项目所需资源、各阶段工作量进行估算

    对这些项目属性进行估算的主要方法是通过与组织级度量库中的历史数据进行对比,找到相同规模的历史项目,参考其数据,根据本项目的特点对相关属性进行估算。假如本项目与公司之前的某项目A规模大体相当,项目A历史数据如表1和表2所示:

    表1-项目A使用资源数

人力资源估算
设计人员 2人
需求人员 1人
开发人员 4人
测试人员 3人


    表2-项目A生命周期各阶段工作量分布

瀑布模型生命周期各阶段
立项阶段 2.00%
需求阶段 5.00%
计划阶段 6.00%
设计阶段 22.00%
开发阶段 22.00%
系统测试阶段 25.00%
用户验收阶段 11.00%
结项阶段 7.00%


     两个项目的规模相当,这是我们进行估算的依据,根据之前对项目总工作量的估算(300人/天),那么就可以得到本项目各个阶段的工作量分布,如表3所示:

    表3-本项目各生命周期工作量分布

瀑布模型生命周期各阶段 人/天
立项阶段 2.00% 6
 需求阶段 5.00% 15
计划阶段 6.00% 18
设计阶段 22.00% 66
开发阶段 22.00% 66
系统测试阶段 25.00% 75
用户验收阶段 11.00% 33
结项阶段 7.00% 21





文章来源:中国项目管理资源网
发表评论    【推荐】 【打印
我来评两句 查看最新评论〗 
请您注意:
·遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而导致的法律责任
·本网留言板管理人员有权删除其管辖留言内容
·您在本网的留言,本网有权在网站内转载或引用
·参与本留言即表明您已经阅读并接受上述条款
昵称: 匿名
 

热点文章
论坛精贴