软件项目管理Follow Me--如何进行项目估算
2008-10-27 14:04
316 查看
一个成功的软件项目首先要有一个好的起点,也就是一个合理的项目计划;一个好的项目计划,离不开一个准确的、可信的、客观的项目估算数据作为基础。如何提高估算的准确性,如何利用项目估算的数据来制定项目计划,本文就将带领大家学习、理解软件项目估算的一些最佳实践。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
为什么要对项目进行估算
对于庞大的、多变的软件项目来说有着太多的不确定性。之所以要先制定项目计划,目的就是为了让项目更加可控。如果项目的计划缺乏数据进行支持,或者根本不进行估算,只凭项目管理人员的经验进行管理,那么项目最终就会变成软件项目常见的“三拍”现象:“首先公司领导拍拍某个项目经理的脑袋,说你来负责这个项目;项目经理拍拍胸脯说没问题;最后项目失败的时候项目经理就只能拍拍屁股走人”。
当然,这只是个玩笑。不过由此可见项目估算是项目管理人员深入了解项目的第一步,做到“知己知彼,才能百战不殆”。
常用的软件估算方法
软件可以通过主观和客观两种方法对其进行估算。
主观的估算方法可以通过召集项目团队成员,或者邀请各方面的专家,共同对某个项目的属性进行评估。参与评估的每个人都要单独进行估算,如果发现大家对某个项目属性估算的结果存在较大偏差,那么就需要做进一步的讨论,直到取得共识为止。对个别特殊属性进行主观估算时,一定要有直接干系人的参与,例如:对某个文档工作量进行估算时,最好该文档的负责人参与估算,因为他才是最终的执行人。
客观的估算方法是利用公司提供的各种度量数据进行估算,例如:组织级的生产率,或者其他项目的度量数据。本文主要讲解项目管理人员如何通过客观的方法对项目进行估算。
项目的哪些属性可以进行估算
软件项目的属性有很多,建议至少以下属性要在项目计划时对其进行估算:
1、 项目规模
2、 项目工作量
3、 项目所需资源
4、 项目各阶段工作量
5、 项目成本
Ø 如何对项目规模进行估算
对项目规模进行估算是为了将项目的范围进行量化,项目规模的估算是整个软件估算中最核心、最基础的环节,也是整个估算的第一步。
软件项目的规模可以使用功能点估算法和代码行估算法两种方式,但是作为项目初期阶段,建议使用功能点法进行估算会比较合理。具体的功能点估算方法可以参考我之前在ITPUB上发表的相关文章。
Ø 如何对项目工作量进行估算
在项目规模的基础上,可以利用组织级生产率得到项目总的工作量。例如:一个公司组织级生产率如下图所示,在2008年中期时,该组织每开发一个功能点需要花费1.5个人/天的工作量。假如该公司某项目有200个功能点,那么该项目的工作量就可以通过以下公式计算出来:
项目工作量= 200 * 1.5 = 300 人/天
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
Ø 如何对项目所需资源、各阶段工作量进行估算
对这些项目属性进行估算的主要方法是通过与组织级度量库中的历史数据进行对比,找到相同规模的历史项目,参考其数据,根据本项目的特点对相关属性进行估算。假如本项目与公司之前的某项目A规模大体相当,项目A历史数据如表1和表2所示:
表1-项目A使用资源数
表2-项目A生命周期各阶段工作量分布
两个项目的规模相当,这是我们进行估算的依据,根据之前对项目总工作量的估算(300人/天),那么就可以得到本项目各个阶段的工作量分布,如表3所示:
表3-本项目各生命周期工作量分布
Ø 如何对项目工期进行估算
假设本项目采用瀑布式的开发模型,并且所需资源与组织级度量库中的历史项目A相同,根据表3对各个生命周期阶段工作量的估算,以及表1对各种资源的估算,那么通过表4的计算就可以得到完成本项目所需要的时间。
假如每月按照21个工作日进行计算,那么本项目估计5.82个月后可以结束。
表4-对项目周期的估算
Ø 如何估算项目的成本
假如本项目所使用的资源与项目A相同,那么就可以参考组织度量库中2008年各种资源的平均成本,如下图所示:
经过对项目周期的估算,可以得知本项目大概需要5.82个月的时间。基于以上数据就可以通过表5来对项目的成本进行估算,其结果如下所示:
表5-本项目成本估算
至此,对项目的规模、成本、工作量、资源和工期的估算方法和顺序就介绍完了,通过本文的介绍,希望广大项目管理人员可以掌握项目估算的技巧。对于使用客观方法进行估算时,组织级的度量数据是关键核心点。另外,软件项目始终伴随着各种各样的变更,这正所谓“变化是永恒的,不变是短暂的”。 作为一个成熟的项目管理者应该勇于面对变化,在每次重大变化后对项目进行重新估算是十分必要的。如果大家还需要了解更多的软件项目管理的知识,可以通过www.zhang-jin.net与我联系,谢谢!
本文已在ITPUB发表:http://tech.it168.com/a2008/1021/208/000000208691.shtml
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
为什么要对项目进行估算
对于庞大的、多变的软件项目来说有着太多的不确定性。之所以要先制定项目计划,目的就是为了让项目更加可控。如果项目的计划缺乏数据进行支持,或者根本不进行估算,只凭项目管理人员的经验进行管理,那么项目最终就会变成软件项目常见的“三拍”现象:“首先公司领导拍拍某个项目经理的脑袋,说你来负责这个项目;项目经理拍拍胸脯说没问题;最后项目失败的时候项目经理就只能拍拍屁股走人”。
当然,这只是个玩笑。不过由此可见项目估算是项目管理人员深入了解项目的第一步,做到“知己知彼,才能百战不殆”。
常用的软件估算方法
软件可以通过主观和客观两种方法对其进行估算。
主观的估算方法可以通过召集项目团队成员,或者邀请各方面的专家,共同对某个项目的属性进行评估。参与评估的每个人都要单独进行估算,如果发现大家对某个项目属性估算的结果存在较大偏差,那么就需要做进一步的讨论,直到取得共识为止。对个别特殊属性进行主观估算时,一定要有直接干系人的参与,例如:对某个文档工作量进行估算时,最好该文档的负责人参与估算,因为他才是最终的执行人。
客观的估算方法是利用公司提供的各种度量数据进行估算,例如:组织级的生产率,或者其他项目的度量数据。本文主要讲解项目管理人员如何通过客观的方法对项目进行估算。
项目的哪些属性可以进行估算
软件项目的属性有很多,建议至少以下属性要在项目计划时对其进行估算:
1、 项目规模
2、 项目工作量
3、 项目所需资源
4、 项目各阶段工作量
5、 项目成本
Ø 如何对项目规模进行估算
对项目规模进行估算是为了将项目的范围进行量化,项目规模的估算是整个软件估算中最核心、最基础的环节,也是整个估算的第一步。
软件项目的规模可以使用功能点估算法和代码行估算法两种方式,但是作为项目初期阶段,建议使用功能点法进行估算会比较合理。具体的功能点估算方法可以参考我之前在ITPUB上发表的相关文章。
Ø 如何对项目工作量进行估算
在项目规模的基础上,可以利用组织级生产率得到项目总的工作量。例如:一个公司组织级生产率如下图所示,在2008年中期时,该组织每开发一个功能点需要花费1.5个人/天的工作量。假如该公司某项目有200个功能点,那么该项目的工作量就可以通过以下公式计算出来:
项目工作量= 200 * 1.5 = 300 人/天
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
Ø 如何对项目所需资源、各阶段工作量进行估算
对这些项目属性进行估算的主要方法是通过与组织级度量库中的历史数据进行对比,找到相同规模的历史项目,参考其数据,根据本项目的特点对相关属性进行估算。假如本项目与公司之前的某项目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 |
Ø 如何对项目工期进行估算
假设本项目采用瀑布式的开发模型,并且所需资源与组织级度量库中的历史项目A相同,根据表3对各个生命周期阶段工作量的估算,以及表1对各种资源的估算,那么通过表4的计算就可以得到完成本项目所需要的时间。
假如每月按照21个工作日进行计算,那么本项目估计5.82个月后可以结束。
表4-对项目周期的估算
生命周期各阶段 | 工时数 人/天 | 参与角色 | 参与人数 | 天数 |
立项阶段 | 6 | PM | 1 | 6 |
需求阶段 | 15 | 需求人员 | 1 | 15 |
计划阶段 | 18 | PM | 1 | 18 |
设计阶段 | 66 | 设计人员 | 2 | 33 |
开发阶段 | 66 | 开发人员 | 4 | 16.5 |
系统测试阶段 | 75 | 测试人员 | 3 | 25 |
用户验收阶段 | 33 | 测试人员 需求人员 PM | 5 | 6.6 |
结项阶段 | 21 | 全体成员 | 10 | 2.1 |
项目周期(天) | 122.2 |
Ø 如何估算项目的成本
假如本项目所使用的资源与项目A相同,那么就可以参考组织度量库中2008年各种资源的平均成本,如下图所示:
经过对项目周期的估算,可以得知本项目大概需要5.82个月的时间。基于以上数据就可以通过表5来对项目的成本进行估算,其结果如下所示:
表5-本项目成本估算
工种 | 人数 | 参考数据 | 估算成本 |
(元/月) | |||
设计人员 | 2 | 8000 | 16000 |
需求人员 | 1 | 5000 | 5000 |
开发人员 | 4 | 6000 | 24000 |
测试人员 | 3 | 4500 | 13500 |
项目经理 | 1 | 9000 | 9000 |
每月成本(元) | 67500 | ||
项目为期5.82个月,总成本(元) | 39,2850 |
至此,对项目的规模、成本、工作量、资源和工期的估算方法和顺序就介绍完了,通过本文的介绍,希望广大项目管理人员可以掌握项目估算的技巧。对于使用客观方法进行估算时,组织级的度量数据是关键核心点。另外,软件项目始终伴随着各种各样的变更,这正所谓“变化是永恒的,不变是短暂的”。 作为一个成熟的项目管理者应该勇于面对变化,在每次重大变化后对项目进行重新估算是十分必要的。如果大家还需要了解更多的软件项目管理的知识,可以通过www.zhang-jin.net与我联系,谢谢!
本文已在ITPUB发表:http://tech.it168.com/a2008/1021/208/000000208691.shtml
相关文章推荐
- 如何更好的把控项目进度以及对资源进行估算
- 如何更好地把控项目进度以及对资源进行估算
- 如何进行软件项目估算
- 如何在项目中进行畅快的沟通
- 如何在项目中进行畅快的沟通
- 项目管理手记(24) ERP项目实施中如何进行项目督导
- mac如何使用infer进行maven项目源码静态分析
- 面试的时候如何进行项目讲解?
- 项目估算与计划不是一般的难!(3)——估算如何做出来?
- 如何用C#对Gridview的项目进行汇总统计?
- 项目经理如何有效地进行项目沟通?
- 在项目执行的过程中如何进行项目的控制,确保项目进度
- 如何将已经部署好了的web项目反编译,并对其中的类文件进行修改
- 让IT更精简,让项目更敏捷-如何成功运用敏捷方法进行项目管理与实施
- 项目实施如何解决项目估算中遇到难题
- 项目经理如何有效地进行项目沟通?
- 如何对多个文件进行MODELSIM仿真? (由于是一个很大的项目,不可能把所有MODULE都放在一个文件里。 如何在ModelSim中对多个.V文件进行仿真?)
- 从Eclipse到Android Studio:Android项目如何进行迁移
- 项目中如何进行敏捷建模
- 【转】如何在项目管理中进行版本控制