在我们的迭代计划中,我们经常发现自己和这个人处于同一个位置——如果你没有经验,如何估计一个编程任务
在您给出合理的估计之前,我绝对同意原型设计。但这同样适用于任何需要一点架构和设计的东西——但我不太愿意在 sprint 的范围内做这一切。
基本思想是,您尽可能多地确定您有信心的任务,并按照正常情况估计这些任务。对于那些你不确定的领域,应该确定两种“类型”的任务:调查和实施。
调查任务是对您不确定的工作的简要描述,例如“调查如何将 Control X 绑定到数据”。为这些提供了估计。
实施任务是传统的粗略猜测,可能基于分配的故事点,您认为实施该功能需要多长时间。
在 sprint 期间,当调查任务完成时,开发人员应该处于对正在发生的事情有更好了解的阶段。然后可以识别“适当的”任务,它取代了实施占位符。此外,在此阶段可能会确定进一步的调查任务,并继续循环。
在上面的示例中,我们从 7 小时开始的调查任务和估计在 14 小时的实施任务开始。一旦完成第一次调查,任务 1、2 和 3 将在一定程度上被识别和估计,其中任务 3是另一项调查任务,稍后将确定任务 4 和 5。如您所见,第一次实施估计在 14 小时内交付了该功能 - 但实际情况是至少需要 4 + 7 + 3 + 4 + 2 = 20。比最初的估计多三分之一。
替代文字 http://www.duncangunn.me.uk/myweb/images/estimate.png
欢迎所有想法 - 我的直觉是这会飞 - 我是对的还是我是错误的兄弟?
干杯!