最近,我的公众号后台和公司茶水间,频繁出现这类灵魂拷问。作为某产研团队的“玄学交付大师”,我决定摊牌了:我们团队确实在“算命”——用蒙特卡罗模拟预测需求交付概率!
今天,就带大家看看这个“科学算命”的骚操作。
一、同事的困惑—为什么他们能“弹射下班”?
上周五下午6点,A团队产品经理赵姐哼着歌准时打卡下班,而会议室里,B团队产品经理老刘正对着屏幕怒吼:“这个计划明明评估了3天,为什么实际用了5天?”其实,两个团队迭代的需求总规模都是50故事点,但结果却天差地别:
A团队10个需求,全部按时交付,但B团队却只交付了3个。问题出在哪?答案藏在需求的“不确定性”里。
二、交付神器——蒙特卡罗模拟
1. 科学算命,拒绝拍脑袋
蒙特卡罗模拟听起来高大上,其实就像火锅店老板算备菜量:
你知道了每桌点餐中肥牛的规律:
- 一般情况点3盘肥牛
- 最少点一盘
- 最多点5盘
根据历史数据模拟1000次“顾客点菜”,就能算出“备50盘够不够用”的概率。同理,把“肥牛”换成“需求开发工时”,就是我们的交付预测神器!
2. 第一步:建立“需求工时算命模型”
一般情况来说,需求规模小于4的需求,风险可控,符合正态分布。所以我们假设,一个规模2的需求,实际开发工时可能是:
正态分布:平均2小时,±1小时波动
而对于需求规模大于4的需求,风险不可控,可以使用三角分布。所以我们假设,一个规模5的需求,实际开发工时可能是:
三角分布:最乐观3小时,最可能5小时,最悲观8小时
3. 第二步:开始“算命”
假设本迭代有14个需求,总规模50故事点,团队可用工时60小时。
首先,设置不同需求规模的消耗工时分布
然后,统计不同需求规模的需求个数
模拟10000次
可以看到在60小时内完成14个需求的概率为25%
4. 第三步:调整计划,逆天改命
经过上面的初步预测,25%的概率想必在座的各位是不能容忍的,那么就需要调整计划,来让概率提高。
调整计划无非三种方式,砍需求、加人、延长工期。首先我们来尝试砍掉一个高风险需求,再次预测,概率提高到了78%,可喜可贺!
78%的概率可能还是有较大的概率无法全部交付,一般来说,工期是不能延长的,所以我们去其他团队借调1个开发,再次预测,概率提高到了98%!稳了稳了,这下稳了。
蒙特卡罗模拟的终极奥义:不是预测命运,而是创造命运!
三、为什么总规模相同,结果却不同?
回到开头两个团队的对比:
用蒙特卡罗模拟后,真相浮出水面:
- 开源版团队:需求颗粒度小,整体风险可控。
- IPD版团队:大规模需求占比超80%,延期风险极高。
四、让“不确定性”为你打工
过去,我们靠“项目经理的直觉”和“程序员的头发”对抗不确定性。现在,蒙特卡罗模拟让我们学会用概率思维掌控风险。
最后送大家一句话:
“不能测量的交付,都是玄学;
能用概率解决的焦虑,都不叫事儿!”