5大评估方法对比
评估方法
优势

劣势
适用场景

专家评估法
- 基于专家经验和专业知识,能够考虑到项目的各个领域的特点和复杂性
- 受限于专家的经验和知识水平,可能存在主观因素
- 适用于各种类型的项目
- 可以进行评估和修正,提高估算的准确性
- 需要花费较多的时间和资源来进行专家评估
- 特别适用于领域专家较多的项目
类比法
- 基于已完成项目的数据,能够提供相对准确的估算结果
- 需要找到与新项目相似的已完成项目,差异较大的项目可能导致估算结果不准确
- 适用于相对简单和常见的项目
- 可以快速进行估算,节省时间和资源
- 需要进行适当的调整,以考虑新项目与参考项目之间的差异
- 适用于已有可靠数据的项目
自下而上估算法
- 能够对项目的每个任务进行详细估算,提供更准确的工作量估算结果
- 需要对项目进行详细的任务分解,需要花费较多的时间和资源
- 适用于复杂和大型项目
- 可以逐步细化任务,提高估算的准确性
- 受限于任务分解的准确性,可能存在遗漏或重复估算的问题
- 适用于需要详细任务分解和估算的项目
参数估算法
- 可以根据项目的特性和技术要求,确定适当的参数和指标,提高估算的准确性
- 需要根据项目的特性和技术要求,确定适当的参数和指标,需要专业知识和经验
- 适用于需要考虑项目特性和技术要求的项目
- 可以综合各项任务的工作量,得到总的工作量
- 参数的准确性和适用性对估算结果有重要影响
- 适用于需要综合各项任务工作量的项目
算法估算法
- 可以模拟整个项目实施过程,提供相对准确的工作量估算结果
- 需要具备编程和数据分析的能力,对团队成员的要求较高
- 适用于特定的、比较复杂的项目
- 可以适用于特定的、比较复杂的项目
- 需要花费较多的时间和资源来编写和运行模拟程序
- 适用于需要详细模拟项目实施过程的项目
1. 专家评估法
专家评估法是一种在项目工作量估算中经常使用的方法。该方法依托于项目相关专家的经验和专业知识,对项目的各个领域的任务和工作进行评估。然后将专家们的评估结果进行汇总,最后再对估算结果进行评估和修正。
举个栗子:
1. 项目背景
ABC公司计划开发一个在线教育平台产品。该产品主要包含学习管理系统、内容管理系统、在线课堂等模块。ABC公司对该类系统缺乏开发经验。
2. 选择专家
ABC公司从HR系统筛选出5名高级软件架构师,具备5年以上在线教育相关产品研发经验。通过初步电话和远程会议访谈,确定选择张三丰和逍遥子两位专家进行评估。
3. 专家评估
项目经理分别与张三丰和逍遥子两位专家进行1对1需求评审会议,讨论产品功能需求、技术架构选型等,并请他们提出独立的工作量评估报告。
4. 归纳评估结果
张三丰估计前后端编码工作量为9.5人月。
逍遥子估计为10人月。
5. 优化和确认结果
经项目经理与两位专家讨论,考虑到有20%的开发任务为新的创新点,双方同意将工作量上调20%作为风险准备。即张三丰调整为11.4人月,逍遥子调整为12人月。最终确认为12个人月。
6. 整合其他模块评估结果
根据专家评估结果和其他模块的自下而上估算结果,形成项目总体工作量评估报告。
2. 类比法
类比法是一种将已经完成的类似项目作为参考,用已有的数据估算项目工作量的方法。该方法的核心是将已完成的项目作为参考标准,比较新项目和已完成的项目之间的相似性,然后将已完成项目的数据应用到新项目上。需要特别注意的是,新项目与参考项目之间的差异会影响结果,需要进行适当的调整。
举个栗子:
1. 选择参考项目
选择了ABC公司最近完成的一个类似的CRM系统升级项目作为参考。该项目总工作量为9个人月。
2. 分析参考项目
将参考项目的功能需求、技术方案等资料进行分析,与当前项目进行对比。
3. 匹配工作包
根据对比,确定当前项目与参考项目有80%的工作包可直接匹配使用。
4. 评估新增工作
当前项目新增了移动端功能,评估移动端开发工作量约为2个人月。
5. 评估变更影响
当前项目使用了更新的框架,据评估使开发效率提高10%。
6. 计算初始估算数
参考项目为9人月,新增工作2人月,调整效率提升10%,,获取初始总工作量估算为9.8人月。
7. 进行风险储备
由于项目使用新框架,预留20%的风险准备,最后工作量估算为11.8人月。
8. 形成评估报告
形成类比法评估报告,与其他方法的评估结果进行比较和校正。
3. 自下而上估算法
自下而上估算法是一种逐步细分任务,然后对每个任务的工作量和所需时间逐个进行估算,并相加得到总的工作量的方法。
该方法首先对整个项目进行任务分解,然后在最底层的任务开始对时间和工作量进行估算,逐步向上汇总,知道整个项目的工作量得以确定和估算。
举个栗子:
项目背景:
某公司需开发一个B2C电商网站。
自下而上估算法过程:
1. 拆分工作包,共计划划分为4个子系统,18个功能模块,76个工作包。
2. 评估底层工作包工作量:
开发人员根据经验估算每个工作包的工作量,例如购物车功能工作包估算需要8人天。
3.汇总工作包,模块层级工作量估算:
购物车模块包含4个工作包,共计估算工作量为25人天。
4. 生成整体估算:
按模块汇总,项目总体上自下而上的工作量估算结果为:
开发:153 人天
测试:46人天
项目管理:24人天
总计:223人天
5. 经理层修正:
根据项目经理经验,上调总工作量15%,则最终估算结果为:
257人天
6. 形成评估报告。
4. 参数估算法
参数估算法是通过某些指标和参数来计算每个任务所需的时间和工作量,并最终综合各项任务的工作量来得到总的工作量。该方法需要根据项目的特性和技术要求来确定适当的参数和指标。
举个栗子:
背景:
某公司需要开发一个移动商城App。
参数估算法过程:
1. 确定指标参数
根据开发经验,确定选择“规模点数”作为估算参数。
2. 评估各模块规模点数
登录模块:35点
商品展示模块:210点
购物车模块:89点
结账模块:76点
3. 按参数计算工作量
根据历史统计,每规模点开发时间约为8小时。
则:
登录模块工作量=35 x 8 = 280小时
商品展示模块工作量 = 210 x 8 = 1680小时
......
4. 汇总估算结果
按模块汇总,得到项目总工作量估算结果:
开发工作量 = 3472小时
测试工作量 = 1022小时
5. 形成参数估算法评估报告
报告中给出参数选择依据、计算过程等。供参考使用。
5. 算法估算法
算法估算法是编写程序来模拟整个项目实施过程,并计算出项目实施所需的工作量。该方法通常只适用于特定的、比较复杂的项目,需要具备编程和数据分析的能力。
举个栗子:
背景:
ABC公司计划开发一个自动驾驶仿真系统。
算法估算法过程:
1. 分析功能需求,确定主要模块包括环境感知、路径规划、车辆控制等。
2. 根据模块特点,设计了环境生成算法、路径优化算法、控制稳定性算法等。
3. 使用Python编写仿真程序,可以配置不同算法参数进行多次仿真测试。
4. 进行了120次自动驾驶仿真,自动记录时间和代码量数据。
5. 分析结果,环境感知算法平均需开发190小时,路径规划算法需260小时,控制算法需300小时。
6. 加总三类算法结果,估计自动驾驶系统总开发工作量约为1250人天。
7. 形成算法估算报告,提供给项目经理作为参考依据。
5大方法轻松评估项目工作量【附方法使用实例】