关于循证式日程规划(Evidence Based Scheduling)的几个小问题

先思考一个问题:如果某任务计划在 3 个月内完成,那么如何根据这个3个月时长(estimatedTime)比较可靠地预估该任务实际的完成时间(actualTime)呢?

答案是:使用循证式日程规划(Evidence Based Scheduling,EBS)。

所谓“循证式,就是参考一系列的历史数据,这些历史数据准确记录了一个人、或一个组织、团队等,在最近一段时间内(通常不超过 6 个月)完成的所有同类任务的情况。每一份数据包含的评测指标仅有三个(其实本质上只有两个

1、估计时长 estimatedTime;

2、实际时长 actualTime;

3、速率 velocity(= estimatedTime / actualTime):表示该任务每实际执行一小时,对应完成的预估小时数,亦即计划时长的执行快慢

因此,根据历史数据的忠实记录,可以得到一个历史速率集合 { 0.6, 0.7, 0.65, 0.75, ... }。这样,就可以根据这个集合,选出或计算出一个适用于当前任务的速率 v,由此得到先前问题的答案:

actualTime 

= estimatedTime / v

= estimatedTime * v' (其中 v' = F ( { actualTime_i / estimatedTime_i } ))

这里的 v' 充当了修正系数,因为通常大家更倾向于做乘法,而不是除法。

该方法出自 Stack Overflow 创始人 Joel Spolsky 的一篇博客,中译版已收录进《More Joel on Software》第 20 篇(中文译名《软件随想录》,阮一峰译)。

看来要想准确估计时间,还得依靠可靠的数据支撑,用数据说话。

这不禁让我想起《奇特的一生》中的主人公——柳比歇夫。此人也是时间管理的顶尖高手,年轻时独创了一套“事件-时长”记录法,并且通过忠实践行 56 年直至去世,最终在他感兴趣的各方面都取得了常人难以想象的丰硕成果,因而享誉全世界。

如果,柳比歇夫这样的骨灰级大神活在今天这个互联网时代而非前苏联时期,估计早就成世界级网红了吧……细思极恐。

再如果,将 EBS 法和柳比歇夫的“事件-时长”记录法结合起来实践,效果会怎样呢?值得一试。

你可能感兴趣的:(编程杂谈)