Scrum方法中Sprint结尾的非测试产品

时间:2009-09-01 18:38:15

标签: scrum

这是一个问题。 开发人员有某种任务(开发某些功能),这需要大约一个sprint的长度。因此,在sprint结束时,开发人员很高兴,因为他们刚刚完成了他们的工作。

BUT。该产品不是QAd,因此无法将其区分为“可能可交付”,因为它很可能包含一些错误。

所以,问题是:如果没有自动化测试,只有人类QA工程师,那么计划我们冲刺的最佳方法是什么?有一个延迟的冲刺(QA测试在前一个冲刺中开发的项目)?

在这种情况下,有什么可以帮助我们?开发人员在质量保证程序中应该做些什么?

6 个答案:

答案 0 :(得分:5)

Scrum的一个非常重要的方面是在Sprint期间让事情“完成”,以及完成的定义。如果某个功能在冲刺期间完成,但未经过测试,则仍然无法完成。

>解决此问题的方法是增加Sprint的长度。短期冲刺仍然主要是首选。我建议两件事。

第一个非常重要,但不一定容易实现。将QA集成到您的团队中。拥有一个单独的QA部门,在您完成“产品”之后验证您的产品,这真的是瀑布。您可能仍希望在产品发货之前进行质量检查验证,但是在冲刺期间应该完成并测试sprint中生成的内容。要做到这一点,您需要合格的QA人员加入您的团队 - 或者您需要培训开发人员尽可能地进行QA。在我的公司,我们的QA部门太小,所以我们无法为我们的团队获得一些。相反,我们了解了质量保证,并在我们的任务板上添加了一个标题为“准备验证”的栏目。每当一个功能完成时,它就会转移到“准备验证”,其他一些开发人员会看到这个。即使我们可能没有像专门的QA那样熟练,但我们一直都是这样发现问题,将它们移回修复,然后再重新验证。这个过程让我们对我们在sprint期间所分类的功能更加自信,以及后来发现的bug大幅下降。

其他的事情是开始定义较小的任务,或者在将功能分解为更小的部分方面做得更好。您不希望处理符合您的esimations可能需要整个sprint的功能。如果你的“差不多完成”你在冲刺期间真的没有完成任何事情。代替;将功能分解为更小的部分并逐一解决。当有人正在开发第2部分时,第1部分正在由其他团队成员进行验证,从而使整个开发过程和QA更加集成 - 在sprint结束时更好地调用新功能“完成”。

祝你好运!

答案 1 :(得分:3)

不幸的是,但你不是在做scrum。你在短跑中做瀑布;又名scrum-fall。

1)将QA整合到团队中。它们不应该是您“传递”代码的单独组。他们应该每天与开发人员一起测试他们的工作。

2)让你的故事更多,更小,更小。一个故事应该需要1-2天才能完成(一周是绝对最大值,除非你正在建造火箭,否则只是偶尔)。您需要团队致力于更好地垂直切割功能,以创建小型可测试,可用,增值的故事。

3)Scrum没有职称。如果开发人员完成了所有编码,那么他/她会测试其他人的代码。或者努力创建您说缺少的自动脚本。

4)在主要版本发布之前就可以进行“强化”冲刺,但肯定会在与开发相同的冲刺期间进行测试。几乎每次签入代码时,测试都会完成。

5)修复“完成”的定义。完成意味着代码可以根据需要进行编写,测试,部署和记录。

6)你需要做很多关于“团队”和承诺的工作。你的评论只要编码完成就会让开发人员感到“高兴”,这与scrum及其原理完全相反。

根据您的意见,如果您认真对待变得敏捷,我认为团队需要投资培训。

答案 2 :(得分:2)

您可能需要更改冲刺的长度,并将其定义为已完成QA或准备进行生产。

这很难做到,但这也意味着确保你在电路板上有任务进行测试。

此外,这将意味着缩减,所以在中点检查期间要诚实并删除将无法完成的任务,以实现完成的定义。

或者,这不太理想,基本上有两个sprint /功能。第一个应该是通过单元测试来实现它,第二个是通过QA来实现它。所以,第二个冲刺可能会更短,但是,如果你打算这样做,那么只需将它们组合成一个更长的冲刺。

答案 3 :(得分:1)

你的任务太大了。您需要具有较小的任务(最多几天)才能为客户带来价值(以便可以对其进行测试)。完成任务后,从开发角度来看,QA可以开始验证它。

也许您还需要为Sprint计划更少,以便在Sprint结束时验证增量。

团队过渡到Agile,让QA验证上一次迭代中开发的内容并不少见。但他们必须赶上。

  

开发人员在质量保证程序中应该做些什么?

Scrum没有阶段,开发人员代码在测试人员进行验证时,测试人员正在测试,而开发人员正在测试代码。当计划任务的开发完成后,他们可以编写文档,修复QA报告的问题,支持QA,估计下一个Sprint的任务......

答案 4 :(得分:0)

我们在Sprint开发过程中对各个功能进行质量保证。在Sprint结束时,我们确保我们的主要源代码分支是最新的,然后开发人员继续使用Dev分支。这样可以释放QA以进行发布测试,并且不会对它们进行计时。任何错误修复都可以轻松应用于Main分支,而无需在Dev分支中“撤消”任何新内容。

您更大的问题可能是缺乏自动/单元测试。这减少了你的QA人员必须做的工作量,因此,他们更有可能更快地完成工作。

我也不认为增加短跑的长度会有所帮助。这将迫使你添加更多的开发人员任务,或让你的开发人员坐在他们的手上,同时QA赶上。

答案 5 :(得分:0)

定义完成开发和测试(没有错误或任何其他验收标准)。将测试人员集成到您的团队中。正在为sprint计划功能将其划分为小任务并测试其中一项任务(甚至多于一项测试任务)。因此,您将拥有功能A,包括数据库更改,UI更改,应用程序更改,测试 - 所有任务最多可添加一个功能。另外,尽早聘请测试人员,不要等到开发结束。当测试人员仍在测试时,开发人员已经完成了他们的任务(开发和测试之间总会有一些时间差距)让开发人员开始研究其他功能。