因此,Scrum冲刺是一个固定的时间段,在此期间应实现一组特定的功能。Scrum团队由致力于提供这些功能的所有人员组成,其中大多数通常是开发人员和测试人员。
建立了这些规则后,您可能会想知道如何在整个冲刺期间让所有这些人都忙。在sprint的开始阶段,没有什么要测试,而在sprint的末尾,通常没有什么东西可以开发/修复。
我已经看到了两种方法可以解决此问题,但是它们似乎都无法正确解决问题。
1)让团队成员决定在任务结束时应该做什么。
缺点:
- 如果他们的工作没有得到充分的计划(例如,重大的重构,改用新的测试框架),那么他们的工作可能会变得毫无用处,或者被困在中间
- 另一方面,计划这样的工作可能要花费大量时间,并且客户可能会失望地看到团队浪费时间在无法带来即时价值的事情上
- 通常无法对这些任务进行彻底的估算,因此,无原则的工作人员很容易花时间看YouTube猫,而不会在Scrum板或其他任何地方反映出来
2)在sprint中留出仅用于开发的空间,并在sprint完成后开始测试(当开发人员开始处理下一个sprint的功能时)
缺点:
- 在为当前sprint开发功能时,开发人员会通过修正前一个bug来分心,而他们可能无法执行估计在当前sprint期间完成的工作量
- 需要两个Scrum板:一个用于当前的sprint功能,一个用于以前的sprint错误
所以我的问题是:如何在开发人员和测试人员之间的冲刺期间正确分配工作,以使任何人都不会负担过多的工作,或者在任何时候都没有任务而最终失败?有什么方法可以改善上述方法?还是有更好的方法?