我一直在阅读scrum.org上的《 Scrum指南》,它说:
开发团队不包含专门用于特定领域(例如测试或业务分析)的子团队。
在其直译中,这意味着没有令人困惑的测试人员。他们如何建议呢?
我一直在阅读scrum.org上的《 Scrum指南》,它说:
开发团队不包含专门用于特定领域(例如测试或业务分析)的子团队。
在其直译中,这意味着没有令人困惑的测试人员。他们如何建议呢?
Answers:
这意味着:
测试人员已集成到开发团队中-构建工具以帮助开发人员进行测试以及测试。
要么:
团队练习“测试驱动开发”-即,他们编写用于测试系统的自动化测试。
这些都意味着不需要单独的测试团队。
在其直译中,这意味着没有使人感到困惑的测试人员……他们如何建议呢?
对,这就是 正是他们的建议。换句话说-开发人员是测试人员,而测试人员是开发人员。
这个想法是为了提高代码的所有权和质量。
这并不意味着未对代码进行测试,而是意味着编写代码的人员就是测试代码的人员-没有职责分离。
这种方法试图解决的问题是开发人员和测试人员之间过于常见的分离,即开发人员将编写代码并将其“扔到墙上”给另一个团队,然后它来回往复,从而延迟了项目并生产了不合标准的软件。
对此的基本部分是,编码人员的责任是创建可以工作并满足要求的代码。这需要一种特殊的心态-“我正在编写的代码完成了应做的事情。”
混合编码人员的职责意味着现在需要编码人员为其他活动输入其他思维方式,但是,作为编码人员,很难将自己与该思维方式完全离婚。
测试人员的责任是查找错误和功能从所需功能转移到的地方。这需要“代码已损坏,我将找出方法”的思路。
同样,业务分析师正在尝试确定客户实际要求的要求。这需要另一种心态:“应用程序无法以这种方式工作,但是应该可以。”
为了使编码人员能够以任何其他身份工作,编码人员很有可能会出现思维冲突,并且编码人员将执行低于标准的要求:
这并不是说每个编码器都容易遇到这些问题(我遇到了一些非常有天赋的编码器/ QA类型……尽管不是针对他们编写的代码)。
这也扩展到了开发团队。将开发人员的职责和这些职责的相关心态混合在一起会损害最终产品(代码)。
该声明基本上是在试图避免孤立的工作。解决方案的一部分包括一些实践,例如-测试驱动开发-结对编程-拉取请求-测试自动化等,这些都使测试成为开发过程的固有部分,而不是孤立地在侧面或侧面完成。 '后'。
此外,《 Scrum指南》中关于角色的讨论非常有限。实际上,他们谈论的是开发团队。他们的意思是您想要一个强大的跨职能团队。这意味着,取决于项目的需要,您需要一系列技能,例如UX,BA,QA / Tester,Ops,Coder等,但是这是否是涉及这些的一个或多个人并不重要。
与我们一起工作的团队和我们的DevOps员工一样,肯定会担任质量检查的角色。但是他们都是开发人员,只是在这些领域具有专长。真正的诀窍是不要陷入孤岛,孤立地工作。
这不一定意味着没有测试人员。Scrum团队可能有专门的测试人员,也可能没有。
对我而言,有关Scrum的声明意味着您应该将整个交付流程视为一个团队来考虑。成为同一个团队的一员有以下几点建议:
如果他们在一个团队中一起工作,那么团队会一起成功而失败。我一直在一个非常成功的Scrum团队中,该团队有数名测试人员。在所有站立,梳理会议,计划等过程中,测试人员都在场。如果不清楚如何测试故事,团队将不会致力于。估算时,我们总是与测试人员交谈。
即使您认为自己确实这样做,也可能没有真正将测试人员视为交付团队的一部分的潜在迹象:
这些是主观的,不一定是错误的。我认为它们是危险信号。
综上所述,在没有指定测试人员角色的情况下,有可能建立一个Scrum团队。那也可以很好地工作。特别是如果您使测试自动化。TDD也有帮助。