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