三点估算法评估开发工作量
概述
开发人员在进行开发工作之前都需要给出一个工作量的评估,以便后续的工作任务可以基于该时间进行排期。大多数开发人员评估工作量主要是基于过往的工作经验拍脑袋决定,并会给自己预留出一定的Buffer时间。这样可能的问题就是过度依赖个人的开发经验,且Buffer时间的没办法量化。我们需要一种科学的工作量评估方法——三点估算。
详解三点估算
什么是三点估算
先来介绍一下什么是三点估算法:三点法评估需要将一个任务的时间评估分成:最乐观时间、最可能时间、最悲观时间。好比上班路上花费的时间,一般最可能花费时间是30min;乐观情况不堵车都是绿灯只需要20min,如果悲观考虑到可能赶上上班高峰,路上很堵则需要50min才能到公司。将工作量模拟成正态分布的形式。那么就可以得到如下的公式:
期望值μ = (最乐观时间 + 4 x 最可能时间 + 最悲观时间) ➗ 6
标准差σ= (最悲观时间 - 最乐观时间) ➗ 6
通过计算得到的期望值μ是一个预期工作的持续时间,标准差σ代表由于开发过程中的不确定因素导致实际工期和期望工期的浮动时间。
Buffer时间的设定
我们先来回答一个问题:我们在计算得到的【期望值μ】之前完成开发工作的任务的概率是多少——没错,不论开发经验是否丰富都只有50%!明显如果你给出一个工作量评估并跟PM说我只有50%的可能性完成,他可能会告诉你,我也有50%的可能性不给你发项目奖金。学过概率论正态分布我们会知道点落在各个区间的概率存在如下规律:
标准差区间 | 区间概率 | 完成概率 |
---|---|---|
1倍标准差 | 68.3 | 84.15 |
2倍标准差 | 95.4 | 97.7 |
3倍标准差 | 99.7 | 99.85 |
因此我们我们可以通过在计算得到的期望值的基础上适当增加标准差时间作为Buffer,来保证我们的工作可以按时交付。
关于三点估算的思考
工作评估粒度问题
在评估前我们都需要对当前任务进行拆分,使用三点估算我们不需要粒度拆分的很小,因为最初没办法面面俱到考虑到所有功能点,粒度维持在一个中小型独立的功能模块为宜。
标准差的理解
数学上标准差代表着数据的稳定性,标准差越大数据波动越大,在三点估算中标准差也反映着开发者的对于当前工作熟练程度,因此,越是经验丰富在熟悉的领域最终的标准差就会越小,陌生的领域也会计算得到较大的Buffer时间,保证可以如期交付。
为什么使用三点评估
三点评估在评估过程中考虑到了项目中不确定性的风险,且有概率统计的依据,保证了评估的准确性,同时该方法计算简单、容易理解在实际开发工作中的使用门槛还是较低的
其他评估方法
除了三点评估,下面的一些方法也常常用来进行工作量的评估:
方法 | 描述 | 评价 |
---|---|---|
类比法 | 和过往类似项目进行类比估算 | 不同项目之间往往存在较大差异,存在较大风险 |
专家推断 | 行业内经验较丰富人员的给出指导性意见 | 过度依赖个人经验,不具备普适性 |
参数估算 | 根据任务进行中特定材料的耗费情况进行估算 | 不适用于软件开发 |
自下而上估算 | 将任务拆分成一个一个细致的工作包,并单独评估,最终汇总 | 最准确,但是评估成本较高,在开发中适用于小型简单的任务 |
总结
不要轻视启动阶段的计划评估工作,这一过程也是对需求深入理解的过程,从而规避复工、回炉重造的风险。一个好的工作量评估,需要建立在对当前的需求足够了解,可以识别潜在风险的基础上。评估中往往允许我们合理加入一定的Buffer时间,因为一旦延期,你可能影响到的是后续他人的工作计划,从而影响整体的交付时间。管理规范的团队延期后往往会组织复盘会,所花费的代价远不止少评估了工作量这么简单。当然也为了避免延期预留过多的Buffer时间,造成人力资源的浪费。最后分享帕金森定律中最常被引用的一句话:
Work expands to fill the time available for its completion. —— 你可以用来完成工作的时间有多少,你的工作就会拖延、膨胀、复杂到让你足以填满那段时间为止。
希望使用三点评估法可以帮助你合理科学的评估开发工作量。
https://juejin.cn/post/6932431639335141384
三点估算法评估开发工作量相关推荐
- 三点估算法 PERT计划评审技术
三点估算也称PERT法,在计算每项活动的工期时都要考虑三种可能性,计算最悲观的工 期.最可能的工期.最乐观的工期,然后再计算出该活动的期望工期,PERT法计算的是 期望工期. 用PERT法计算工 ...
- 软考:计划评审技术(PERT)三点估算法计算工期、标准差、完成概率
PERT(Program/Project Evaluation and Review Technique)计划评审技术 P 代表最悲观工期 pessimistic M 代表最可能工期 may O 代表 ...
- 【PMP】学习笔记 三点估算法 挣值管理 折旧法 沟通渠道计算
三点估算法 第一次出现是在书中的P175,6.5.2.4,估算活动持续时间的工具和技术. 通过考虑估算的不确定性和风险,可以提高活动持续时间估算的准确性. 可能时间 最乐观时间 最悲观时间 三角分布 ...
- 三点估算法_详解:三点估算法
经常有人调侃:PMP老玩文字游戏,来当语文老师吧!可是,语文不重要吗? 不光语文重要啊,数学也重要.先来三道题目试试: 1. 为了制作项目原型,项目经理必须采购三盎司的黄金.当前的市场价值为每盎司 1 ...
- 超简单!一种让你拍脑袋就能评估开发工作量和费用的方法
一.直接上结论 有很多时候我们想快速评判出一个项目到底需要多少耗时,但是又没有时间快速而准确的评估怎么办呢?笔者在这里提供一个可以让你实现当着客户或领导的面快速拍着脑袋就能大致估计出来项目时间的办法. ...
- 项目管理-计算专题(三点估算、PERT估算)
基本概念 通过考虑估算中的不确定性和风险,可以提高活动持续时间估算的准确性.这个概念源自计划评审技术(PERT).PERT使用三种估算值来界定活动持续时间的近似区间: 最可能时间(tM):基于最可能获 ...
- 三点估算与类比估算_为什么我们要估算?
三点估算与类比估算 这些天我一直在考虑估算. 在Healthcare.gov 网站惨败之后 ,以及所有的日程安排游戏 (其中许多都是估计问题),我想到了为什么进行估计. 付出的努力越大,我们就需要进行 ...
- 【第三章:Java开发岗:Redis篇】
点击:[第一章:Java开发岗:基础篇] HashMap.Synchronized.ThreadLocal.AQS.线程池.JVM内存模型.内存屏障.class文件结构.类加载 机制.双亲委派.垃圾回 ...
- 程序员如何精确评估开发时间?
一个程序员能否精确评估开发时间,是一件非常重要的事情.如果你掌握了这项技能,你在别人的眼里就会是这样: 靠谱 经验十足 对需求很了解 延期风险小 合格的软件工程师 正规军,不是野路子 评估开发时间的重 ...
- 如何精确评估开发时间的 4 个小套路?
一个程序员能否精确评估开发时间,是一件非常重要的事情.如果你掌握了这项技能,你在别人的眼里就会是这样: 靠谱 经验十足 对需求很了解 延期风险小 合格的软件工程师 正规军,不是野路子 评估开发时间的重 ...
最新文章
- 源程序,解释器,编译器
- 计算机二级vlookup引用怎么操作,VLOOKUP函数怎样引用二个条件
- Android性能优化——腾讯、字节、阿里、百度、网易等互联网公司项目实战+案例分析(附PDF)
- android小程序源代码_我从 Android 转到微信小程序的思考
- python中fib什么意思_Python斐波那契数列是什么?怎么用?
- Python3 文件操作
- 面经——嵌入式软件工程师ARM体系与架构相关
- vs 移除项目代码管理
- NSMutableString基本概念
- VMware虚拟机中Linux系统如何修改IP地址
- [html+css+js] 小米官网首页制作
- 【Unity】U3D ARPG游戏制作实例(二)人物基本动作切换
- Revit二次开发--为管道添加标注
- 二级计算机密码怎么设置,如何设置电脑密码
- 第三讲使用VPB切割和加载
- c语言注释含义,C语言编程规范——注释
- indexedDB复合索引
- java获取当前时间(年月日)
- 2021海兴中学高考成绩查询,2021金昌市地区高考成绩排名查询,金昌市高考各高中成绩喜报榜单...
- 浏览器版本破百,“千年虫”问题再现?
热门文章
- MySQL -> DML:删除(delete),(truncate table)
- 508. Most Frequent Subtree Sum
- (十五)使用任务通知实现命令行解释器
- python爬取英雄联盟所有皮肤价格表_python 爬取英雄联盟皮肤并下载的示例
- 怎么彻底禁用Cortana小娜?
- ES2015 for of 循环
- 【专升本计算机】经典Office 2003专升本复习题(Word、Excel、PowerPoint)
- 谢烟客---------Linux之文件系统管理挂载
- 哔哩哔哩下载视频,教程,下载b站视频来就对了,下载b站 视频电脑 pc端
- drools决策表的简单使用