迭代工作完不成 ,在敏捷中是比较常见的情况。

那么我们该如何应对这种情况呢?

很多人的条件反射就是——如果当前迭代工作没有完成,就顺延到下个迭代继续完成就行了。

这真的对么?

恐怕有那么点问题。主要表现在两点:

  1. 敏捷是以“价值驱动”的,当前迭代的工作,到了下个迭代是否还有价值,以及优先级是否还可以这么高?这个是存疑的;
  2. 如果每次工作没有完成就直接顺延到下一个迭代,那么迭代计划的严肃性就会受到挑战。这个才是最大的问题。

一旦计划被挑战,那么以后不会有人再尊重这个计划,那么更谈不上让大家为了这个计划去冲刺了。

但是!这并不意味着我们每次冲刺都需要100%完成所有的工作内容!

冲刺计划本质是“我们需要共同努力才能达到的目标”,这本身就意味着这个目标并不是简单就能达到的,需要团队共同协作来完成。它可以认为是团队在一个迭代内能完成的工作的上限,而不是平均值。换言之,它是一个需要踮起脚来才能够得着的目标。这也是团队认为他们在共同努力后可以最可能完成的目标。在这种情况下,完成不了是可以接受的。相反,如果每次冲刺目标都能达到,那就意味着我们计划的工作量偏低了。

既然冲刺目标有可能完成不了,那么没有完成的工作应该怎么办呢?

首先,直接放入下个迭代时肯定不对的。正确的做法是将未完成工作放入产品待办项(Product Backlog),再由PO 决定是否需要在下个迭代中完成。

其次,加班完成未完成的工作,是不值得鼓励的。敏捷软件开发宣言之敏捷原则中也明确要求以“可持续”节奏来开发,所以加班完成肯定是不被接受的。

最后,我们应该在回顾会议(retrospective meeting)中反思,为什么我们没有完成预定目标,并且在这个过程中学到一些东西,为下一次可以完成目标做准备。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注