> 如何对项目规模进行估算
对项目规模进行估算是为了将项目的范围进行量化,项目规模的估算是整个软件估算中最核心、最基础的环节,也是整个估算的第一步。
软件项目的规模可以使用功能点估算法和代码行估算法两种方式,但是作为项目初期阶段,建议使用功能点法进行估算会比较合理。具体的功能点估算方法可以参考我之前在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 |