发布于 2026-01-05 7 阅读
0

Why developers are SO sh*t at estimating! The 10x striver: A short story, about you. It is not YOUR fault We want to impress Pressure from above It's not all bad (Parkinson's Law) So how do I get better at estimating? Finally

为什么开发人员的估算能力如此糟糕!

追求卓越者:一个关于你的小故事。

这不是你的错。

我们想给人留下深刻印象

来自上方的压力

并非全是坏事(帕金森定律)

那么,我该如何提高估算能力呢?

最后

追求卓越者:一个关于你的小故事。

第一章 - 规划

你是一名程序员,正在和团队进行迭代计划会议。客户提出了一项新功能需求,并且已经获得了批准。这个功能看起来很简单:添加一个友好的弹出窗口,告诉用户他们在年龄选择器中输入字符串是错误的。你思考了一下这个应用,知道它在某些地方使用了弹出窗口,虽然你没有看过代码,但你知道它就在那里。

你瞥了一眼其他正翘首以盼的开发者,他们都在等着你问:“所以,你觉得这要花多长时间?” 这是你的机会,这是你大放异彩的时刻,没有什么能阻止你,你可是超人。你长叹一口气,确保所有人的注意力都集中在你身上。“半天。”

第二章 - 半天

半天,半天,半天。这就是你的口头禅。

自从你说出那句话已经过去一周了。每天早上你都不得不拖着疲惫的身体去参加晨会,一遍遍重复着“我还在处理……”。你编造各种借口,比如代码难以理解、难以阅读,或者测试用例不足。你多么希望时间能够倒流,让你能够给出更合理的预估。

这不是你的错。

我们很多人都有过这样的经历:完全低估了一项看似微不足道的任务,结果却花费了远超预期的时间。这不是你的错,而是人类天生的弱点。

这是算命

图中是一位算命先生,双手捧着算命球。

这通常被称为计划谬误,指的是对完成特定任务所需时间的预测过于乐观,往往忽略了先前类似任务的经验。

计划谬误只会在我们为自己的任务做计划时出现,有趣的是,当为他人做计划时,我们人类往往会采取更加悲观的态度。

而且,你对某个领域的了解越多,乐观偏差就越小。所以这就解释了为什么那位从一开始就参与这款应用开发的高级开发人员,在听到你说半天就能完成时会摇头。

我们想给人留下深刻印象

每个人都想在自己的工作中表现出色,每个人都想成为团队的宝贵财富。你想成为那个能把事情做好的开发人员。

我们为了表现自己,反而会更加低估任务难度(就像上面那个精彩的例子一样🤣)。不幸的是,作为程序员,我们的大部分迭代计划会议都是小组会议,这反而加剧了我们想要表现自己的需求。

来自上方的压力

通常,导致我们判断出现偏差的不仅仅是想要给人留下好印象的需要,它也可能来自你的团队领导、项目经理,甚至是公司的首席执行官。

我们都喜欢埃隆·马斯克,但他定的期限也太疯狂了吧!我简直无法想象为他工作的工程师们要承受多大的压力!

并非全是坏事(帕金森定律)

帕金森定律指的是,工作量会不断膨胀,直到填满所有可用的时间。所以,你肯定有过这样的经历:必须在两天内完成一项学校作业,而你最终设法把所有事情都安排妥当并完成了它?这就是帕金森定律。

低估实现某个功能所需的时间可能会让你更加努力地赶工,但这只有在你高度重视完成任务的情况下才会发生。如果你并不太在意工作时间比预期长,那么帕金森定律可能对你影响不大。

这很可能就是埃隆·马斯克给他的工程师们设定疯狂截止日期的原因,让他们一直处于帕金森定律的影响下,被迫拼命工作。

那么,我该如何提高估算能力呢?

在史蒂夫·麦康奈尔的《软件估算》一书中,他建议:

  • 将问题分解成子问题或子任务
  • 使用范围进行估算,而不是给出明确的日期(这取决于贵公司的估算方法)。
  • 找到类似的已完成任务,了解你在同一领域实现类似功能花了多长时间。本质上就是运用你之前的知识。
  • 了解你的利润率——如果你要估算一些全新的东西,你可能需要采用 100% 甚至 400% 的系数。
  • 在完善估算的过程中,要与相关人员沟通。

最后

我写这篇博客是因为,正如我所说,人类天生不擅长估算,而我自己可能比一般人还要糟糕。就在这周,我还低估了一张我以为只需要几个小时就能处理的工单,这可能就是促使我写这篇博客的原因。

这个故事告诉我们:
如果你不擅长估算,别担心,我们都一样。

我很想听听你们的想法,或者你们曾经低估过某项任务的经历,甚至是你们自己进行估算的技巧。同样,我也很想听听那些每次都能准确估算任务的“十倍开发者”的经验分享😄。

本博客由Code Canvases赞助。

用市面上最酷炫的编程/代码主题画布,让你的房间焕发生机!codecanvases.com是编程主题画作的销量冠军,所有画布均为 100% 独家设计。现在购买可享20% 折扣!
[https://codecanvases.com/](https://codecanvases.com/)

文章来源:https://dev.to/lukegarrigan/why-developers-are-so-sh-t-at-estimating-41mg