如何处理Hofstadter定律?

时间:2009-07-08 17:59:32

标签: language-agnostic estimation

在估算任务时,如何摆脱Hofstadter's law的抓地力?

12 个答案:

答案 0 :(得分:14)

如果你可以在政治上:在小块中进行估计,在小的迭代中工作,并将注意力集中在导致偏离估计的因素上,以使下一个估计更好。

根据我的经验估算不佳的一个主要原因是缺乏实际使用项目计划架构的经验。通过调整估计值,事情变得更加具体和明确,估计值随着时间的推移会变得更好。

估计不佳的另一个主要原因是虚假估计。估计人为压低,以赢得出价。咨询公司打破这一周期的唯一方法就是给出良好的估计并赢得足够的项目,并通过估算来获得他们达到预期的声誉。足够的客户会尊重这一点,以便从中获得合理的业务,但建立起来将很难。

答案 1 :(得分:7)

霍夫施塔特定律不应该被认真对待 - 如果这封信是真的,如果考虑到霍夫施塔特定律,每项任务都会花费无限的时间。

答案 2 :(得分:5)

  1. 估计应该花多长时间来编写代码。
  2. 乘以pi。
  3. 惊讶于它接近实际需要多长时间。
  4. (这也不是一种科学方法,但它是表达正确估计时间有多难的另一种方式。我有时会使用它,但是......)

    :)

    编辑:
    一种更科学的方法:为任务指定绝对最小和最大时间的时间,例如,它肯定需要5到30小时。 (分为子任务可能会缩短时间跨度。)你得到的时间跨度很长,但至少它比猜测更可靠。

答案 3 :(得分:4)

虽然“Hofstadter's Law”有点诙谐,但有几种做法可以帮助你,尤其是首次通过/大项目估算:

  • 相对大小的估算。这意味着您没有说项目需要X时间,您说项目A是项目B的两倍,项目B大约是项目C的4倍。

  • 从之前的估算回合中收集数据并将其用作基线。因此,当您估算项目时,并注意到项目A与上一次迭代/项目中的项目B一样大,并且您知道项目B花了2天时间,您知道项目A最有可能需要长

  • 使用“人群智慧”来获得更高质量的估算。我在几个项目中使用了Planning Poker,结果相当不错。

如果您想了解更多相关信息,可以先观看Mike Cohn的演讲(Part 1Part 2)和/或阅读他的book。虽然这不是最终目标,但总的来说,他确实提出了一些好的做法,最重要的是,这些做法背后的原因。

答案 4 :(得分:3)

Evidence-Based Scheduling。已经有一些关于其中一些陷阱的讨论here

答案 5 :(得分:3)

我用过骰子。公然。在我的经理面前。通常我使用3个标准的六面骰子。

老板:“这需要多长时间?”

我:(roll)“大约11天。”

老板:“不,认真。”

我:“哦,说真的。” (卷)“大约7天。”

我曾经在我的墙上贴了一张海报,上面写着“Deadlines Am Me Me”。从中得到你想要的东西。

答案 6 :(得分:1)

根据过去的表现估算,而非最佳情景。这确实需要您跟踪项目所花费的时间。我不在乎你是否“知道”它只需要“6周”才能完成,如果你上次花了3个月完成一个类似的项目,那么下次你可能需要3个月。

答案 7 :(得分:0)

对@Yishai来说,

+1 - 像scrum这样的敏捷方法的好处之一就是人们实际上得到了他们估算准确性的反馈。

如果你不知道自己是不是错了,你永远不会变得更好......

答案 8 :(得分:0)

我喜欢这种方法:

  1. 对该任务所需的工作做出诚实的估计。
  2. 将乘数应用于估算值。至少1.5可能是2.0。通过将实际工作量与估计工作量进行比较,您将能够计算出真实的乘数。
  3. 收集估计和实际的努力是提高估算的关键。

答案 9 :(得分:0)

敏捷估计总是使用“理想时间”,这隐含地考虑了霍夫施塔特定律。所以你不需要捏造。

如果您以员工身份回答......

  

“哎呀,老板,在一个完美的世界里吧   需要X天。我们来添加一个   缓冲它,我会尽我所能   在这段时间内得到它。   如果估计发生变化,我会告诉你   马上就知道了。“

这是老板耳朵的音乐!

如果您作为企业主回答......

您只需在支持角落时向客户提供估算值。然后你使用明确免责声明的理想日子并随时准备调整因为你了解Hofstadter定律。

答案 10 :(得分:0)

如您所知,估算是一门艺术,并且有一种子艺术是估计偶然性的艺术。 :)为了正确估计意外事件(通常是总估计的百分比),必须理解risks and mitigations。基本上,您将发生事件的风险与可能造成的损害相乘以提出风险因素。然后,您总结所有风险因素并估算您的总风险。对于非常低风险的项目(我从未低于15%的应急费用),应急率应该从15%到非常高风险的50%(根据我的经验,除了超过50%的应急估算之外,很少有客户)。

答案 11 :(得分:0)

霍夫施塔特定律只是臭名昭着的自我引用的另一个含义!......微妙的幽默具有深远的影响。事后看来,这项法律确认了由逻辑构成的每一条法律/原则/公理都是不完整的(Godel喜欢),因此即使关注这些法律,逻辑也许永远不会完整。无限感再次成为芝诺悖论(乌龟与阿基里斯)的游戏......阿基里斯完成比赛的无限时间......等......这些都是自我引用的无所不能的邪恶的例证,污染了所有仿射逻辑结构。