工期与工作量:为什么你的估算总是落空
问三位项目经理,一项两天的任务意味着什么,你可能会得到三个答案。一位指的是十六小时的实际动手工作。另一位指的是条形从周一延伸到周二。第三位理解为交付物在两天后到位,连周末也算在内。这是三种不同的度量,把它们当作同一个数字,正是估算悄然落空的原因。本指南先把工作量、工期和实耗时间拆开,再诚实地把它们拼回去。
三个被混用的词
工作量、工期和实耗时间是各自独立的量,只是表面上恰好共用相同的单位。工作量是纯粹的工作内容。工期是任务在你的甘特图上占用的工作日。实耗时间则是干系人数日历格子时所感受到的那段日历跨度。当你把它们当作一个数字时,你的计划就会承诺团队永远无法达成的日期。
这个陷阱很容易落入,因为每个人都用天数回答。但一天的工作不等于日历上的一天,二者也都不等于一天的等待。先把它们分开,其余的估算就会轻松许多。
工作量:工作本身
工作量是一项任务的工作内容,以人时或人天计量。它回答一个问题:如果有人除此之外什么都不做,双手放在键盘上,这件事要做多久?写一份报告也许是十二人时的工作量。粉刷一个房间也许是六。工作量不在乎今天是星期几,不在乎这个人是否也要开会,也不在乎是否有同事分担这项工作。
工作量是三个数字中最稳定的,因为它是工作的属性,而非围绕它的日程的属性。先估算它,而且用人时来估算,这样日历就不会污染你对任务究竟有多大的判断。我们关于如何估算任务工期的指南,更深入地讲解了如何把这第一个数字估准。
工期:日历跨度
工期是一项任务占用的工作日天数,从开始那天到结束那天。这正是条形长度所代表的含义。工期是推导出来的,而非根本性的。它取决于工作量,但也取决于这个人每天能投入多少小时、有多少人分担、以及任务中夹着多少等待。
正因为工期是推导出来的,它才是会变动的那个数字。一项十二小时的任务,如果有人全职处理,工期可能是一天半;如果他在其他事务之间每天只碰一小时,工期则可能是两周。同样的工作量,条形却大不相同。整个问题就浓缩在这一句话里。
实耗时间:墙上的挂钟
实耗时间是从开始到结束的日历跨度,把一切都算进去:周末、节假日、晚上,以及任务搁在那里等回复的那些天。当客户问某件事什么时候完成并开始数日子时,他指的就是这个。实耗时间总是等于或长于工期,因为工期只数工作日,而实耗时间把所有天数都数进去。
| 度量 | 单位 | 受什么影响 |
|---|---|---|
| 工作量 | 人时 | 范围和技能 |
| 工期 | 工作日 | 可用率、投入比例、等待 |
| 实耗时间 | 日历天 | 工期加上周末和节假日 |
三者都要盯住。你用工作量来估算,用工期来排期,用实耗时间向干系人承诺。一旦你把其中一个数字用在了另一个该出现的位置,麻烦就开始了,因为它们之间的差距并不小。在一个忙碌的团队里,实耗时间可能是纯工作量的两到三倍,而没有人会察觉,直到截止日期到来。
为什么这种混淆会毁掉日程
经典的错误是把工作量当作工期填进去。有人把一项任务估为三天的工作,也就是二十四人时,然后在工期栏里敲下 3。甘特图此刻便假设是三个日历天的全职工作。但被指派的人只有一半时间投入这项任务,每个上午都耗在会议上,还要等一天才能拿到签字批准。真实的跨度接近八个工作日。
下游的每一项任务都会继承这个错误,项目结束日期随之漂移。把它乘以五十项任务,日程在工作开始之前就已是虚构。一张只画一次、再不触碰的甘特图不是计划,而是愿望。解决之道不是事后的英雄壮举,而是一开始就诚实地换算。
可用率:没有人能百分之百地工作
没有人能在八小时的一天里交付八小时的任务工作。会议、邮件、休息、上下文切换,以及职场中寻常的摩擦,都会侵蚀它。对大多数知识工作者而言,专注的任务时间现实数字是每天五到六个有效小时,而对于整天都在为他人扫除障碍的管理者,还要更少。
如果你按八小时来规划,而这个人只交付五小时,那么在任何事情出错之前,你算出的每一个工期就已经偏差了三分之一以上。选一个你的团队真正能维持的每日有效小时数,把它写下来,并在每一次换算中都使用同一个数字,这样你的估算在整个计划中才能保持一致。
兼职投入会把一切拉长
大多数人并非全职投入一项任务。他们把一周分摊在多个项目、支持职责和自己的待办清单之间。投入比例是指一项任务能占用某人工作日的那一部分。在 50% 的投入比例下,一项任务每天只得到一半,因此在工作量相同的情况下,其工期相对于全职工作大约翻倍。
| 投入比例 | 有效小时/天 | 16 小时工作量的工期 |
|---|---|---|
| 100% | 6 | 2.7 天 |
| 50% | 6 | 5.3 天 |
| 25% | 6 | 10.7 天 |
投入比例正是估算悄然崩塌之处。一个假设人人都全身心投入的计划,是在为一个并不存在的团队做规划。去问每个人的时间里究竟有多少真正落在一项任务上,并让这个数字去拉长条形。
多任务会向你征两次税
把注意力分散到多项进行中的任务上,不只是分割时间,还会额外征税。每一次切换都要付出重新进入状态的代价:重新打开文件、回忆上次停在哪里、重建脑中的上下文。对于同时周旋于三项或更多在办任务的人,这种切换成本会吞掉一天中相当可观的一块,而它从不出现在任何工时表上。
实际结果是,一个在两项任务上各投入 50% 的人,往往在每项上交付的还不到一半。当你为一个频繁多任务的人把工作量换算成工期时,要为切换税留出缓冲,而不是假设小时数被干净地平分。更好的办法是减少同时进行的任务数量,好让这笔税变小。
陷阱在于,多任务让人感觉很高效。一天碰五件事看起来很忙,然而每一件都进展缓慢,因为没有一件能得到一段不被打断的时间。如果在你已经把可用率和投入比例都考虑进去之后,工期仍然屡屡超出,那么通常就是一笔未计价的切换税,正藏在众目睽睽之下。
等待:悄无声息的工期吞噬者
有些工期根本不是工作,而是等待:等一次批准、等一次代码评审、等一个依赖完成、等供应商回复,或是等油漆干。等待不给工作量增加任何东西,却给工期和实耗时间增加了一切。一项只有两小时工作量的任务,如果要等五天签字批准,也能横跨一周。
等待在估算中往往是隐形的,因为没有人在工作,于是它感觉像是免费的。其实不然。把等待显式地建模出来,要么作为某个依赖上的延隔,要么作为它自己单独的一行工期,让条形讲出真相。隐藏的等待是一个在纸面上看起来很紧凑的计划一周又一周地往后滑的最常见原因之一。
诚实地把工作量换算成工期
一旦你有了正确的输入,把工作量换算成工期就是算术,而非猜测。公式很简单:工期等于工作量除以(每天有效小时数乘以投入比例),再加上任何等待。写成步骤,它是这样的。
- 用人时估算工作量,完全不去理会日历。
- 设定每天的有效小时数,也就是这个人真正投入的专注时间,通常为五到六。
- 设定投入比例,也就是这项任务能占用每天的那一部分。
- 用工作量除以(每天有效小时数乘以投入比例),得到实际工作的工作日天数。
- 把等待或评审时间作为额外工期加上去,或作为依赖上的延隔。
- 如果你的甘特工具以天为单位排期,就向上取整到整天。
对每一项任务都这么做,你填进去的工期就能经得起现实的检验。这些数字不再是乐观的猜测,而成为站得住脚的预测。
一个算例:那份落空的报告
那份落空的报告。Priya 把一份市场报告估为 16 人时的工作量。她的经理在甘特图里敲下 2 天,假设每天八小时。但 Priya 的投入比例是 50%,每天约有六个有效小时,还需要等一天的法务签字批准。
诚实的工期 = 16 /(6 x 0.5)= 5.33 个实际工作的工作日,向上取整为 6,再加 1 天等待 = 7 个工作日。天真的计划说 2 天。真实的跨度是 7。这个差距在整个计划中反复出现,正是项目失误的原因。
请注意,没有任何事情出了差错。没有人偷懒,范围也没有蔓延。估算之所以落空,纯粹是因为工作量被当作工期填了进去,而可用率、投入比例和等待从未被计价。这道算术就是故事的全部。
把它落实到甘特图上
一旦你的工期变得诚实,甘特图就成了一份你能够为之辩护的预测。更长、更现实的条形会把你的依赖往后推,并揭示出真正的关键路径。有余地可挪动的任务会显示出它们的浮动时间,告诉你哪里的延误无伤大雅,哪里的延误会威胁到截止日期。
两个人,同一项任务。一项 40 小时的开发工作,先单独指派给 Sam(全职,六个有效小时),然后在一个假设情景里指派给 Sam 加 Dana,两人各投入一半。单独:40 / 6 = 6.7,取整为 7 天。两人各一半:合计每天六个有效小时,仍约为 7 天,再加上协调开销。
加人并没有缩短它,因为设定下限的是工作量,而非人数。只有当有人转为全额投入时,工期才会下降。
用你真实的数字建模,而非你的期望,你就能在几分钟内在 gantts.app 中构建图表。调整投入比例,看着工期重新计算,你就是在规划,而不是在祈愿。
常见问题
工作量和工期有什么区别?
工作量是一项任务以人时计的工作内容:双手放在键盘上,这件事要做多久。工期是这项任务在你的甘特图上占用多少个工作日。工期是从工作量推导出来的,但会被可用率、投入比例、多任务和等待拉长,因此这两个数字很少相等。
为什么我的任务花的时间比我估的小时数还长?
因为你估的是工作量,却把它当作工期来排期。没有人每天能专注工作八小时,很少有人全职只做一项任务,而且大多数任务都包含等待评审或回复的时间。可用率、兼职投入比例和等待,都会把日历跨度拉长到远超纯粹的工作小时数。
我该如何把工作量换算成工期?
用工作量除以(每天有效小时数乘以投入比例),再加上等待。以 16 小时工作量、每天六个有效小时、50% 投入比例为例:16 /(6 x 0.5)等于 5.3 个工作日,再加上任何评审或批准的等待。如果你的工具按天排期,就向上取整到整天。
增加人手总能缩短工期吗?
不能。工作量设定了下限,而且很多任务无法被干净地拆分。两个人各投入一半,合计的小时数与一个全职的人相同,因此工期几乎不动,而协调开销甚至可能把它拉长。只有当工作确实可以分割、而且人员确实有空时,增加人手才有帮助。
我每天应该规划多少有效时间?
对大多数知识工作者,每天规划五到六个专注小时,管理者则更少。会议、邮件、休息和上下文切换会消耗掉八小时工作日里剩下的时间。在换算中使用八小时,会把产能高估三分之一以上,单凭这一点就足以让一个本来周密的计划落空。
延伸阅读
本文也提供英文版本。