为何「完成」如此重要

2017-04-18  本文已影响37人  卧寅
原文链接 https://www.mountaingoatsoftware.com/blog/why-getting-to-done-is-so-important 
翻译已经获得Mike Cohn先生的授权
为何「完成」如此重要为何「完成」如此重要
图片文字:一个好的Scrum团队认识到,完成5项产品待办项比产生10项半成品更好。

在每个迭代结束交付「已完成的功能特征」是敏捷的一项重要原则,这里是该原则的原因。

Scrum的一项宗旨就是完成工作的价值。在每个Sprint开始时,团队在产品待办项中选取部份工作,并且以完成他们为目标。

一个好的Scrum团队认识到,完成5项产品待办项比产生10项半成品更好。

为什么呢?

更快的反馈

强调「完成」的原因之一,是因为它可以缩短反馈环路。当某项工作被完成了,用户就可以接触到并且使用它。因而用户可以提供更好的反馈。

即使在开发功能阶段,团队也应该尽可能早的从用户那里获取反馈。相比半成品,已完成的功能特征可以让反馈更加容易、更明智且更可靠。

更快的回报

第二个原因是,已完成的功能特征可以被售卖,而半成品不可以。

所有的项目都代表一项经济投资——投入时间和金钱,用以开发功能特征。

一个组织无法通过交付半成品来收回其投资成本。一个具有10项半成品的产品,可以被认为是仓库中的库存而已,在每个功能特征没有完成之前,这些库存都不可以被售卖。

相反,拥有5项已完成的功能特性的产品是可以被售卖的。这个时候,投资就已经开始得到回报了。

进度难以估算

第三个原因是,工作的进度难以估算。

假设一种情况,你问一个研发人员工作完成了多少,研发人员回答你“90%完成了”。

你觉得这个答案很棒,因为那项工作基本上是完成了。一周后你向相同的人,问了相同的问题。此时你希望该功能特征已经开发完成,也就是100%完成。但是该研发人员依然告诉你“90%完成了”。

为什么会这样?

这是因为问题的规模已经增加了。当你第一次询问时,研发人员确实完成了他/她能看到的问题的90%。一周后,该研发人员可以看到更多的问题,所以工作的规模增加了,而研发人员依然充满信心的认为已经完成了90%的工作。这就导致了我们所熟知的“90%综合征”:前90%的代码要花费90%的开发时间,剩余的10%的代码要再花费90%的开发时间。

未开始 & 已完成

在敏捷中,为了避免90%综合征,我们在每个迭代末我们都要确认,所有的工作要么处于「未开始」,要么处于「已完成」状态。

我们很擅长知道哪些事情没有开始、哪些事情已经完成,但我们极度讨厌任何中间状态的事务。

你的经验?

你的团队有过90%完成这种问题么?你是如何克服这些问题的?请在下方的讨论区与我们分享你的想法。

上一篇 下一篇

猜你喜欢

热点阅读