如果多个开发团队使用同一产品,则定义为“完成”


12

一项Scrum测试包含有关定义的问题,该定义最能描述当多个开发团队对同一产品执行工作时的“完成”。

一个正确的答案是,这些开发团队必须对“完成”进行这样的定义,使他们的合并工作有可能被释放。

从这个测验的正确答案中,我不清楚:

  • 团队可以对“完成”有不同的定义吗?在什么程度上?
agile  scrum 

想想一个直接发布产品以及其他团队正在使用的相同作品的团队。
伊恩

或者,例如,可以在翻译成法语之前发布该软件的英语版本。
伊恩

这种混乱就是为什么我从不说要做什么。相反,我总是准确地说出我们所做的。决定是否做某事是谈判。不是声明。无论您遵循什么定义。
candied_orange

Answers:


16

当所有团队以考虑其他团队完成的工作的方式定义“完成”时,您将确保功能完成。

如果每个团队对“完成”的定义不同,只是希望其他团队知道该定义,那么您将遇到几个问题:

  • 当出现集成问题时,没有团队会愿意负责修复它。毕竟,当他们开始整合事物时,这是“完成”的,因此这必须与其他团队的工作有关。

  • 当您的团队不多时,很难记住每个人的“完成的定义”,尤其是当团队之间存在差异时。

  • 完成的定义不保证包括集成工作正常。

公认的答案清楚地表明,直到所有团队的工作整合并正常运行之后,事情才能完成。它必须是可释放的,并因此能够被最终用户整体接受。


编辑以回应评论:这并不意味着每个团队都具有完成的定义。这意味着每个团队的完成定义的一部分是更大的系统,而其他集成组件未损坏。


不好意思,但是在我看来,正确的答案并没有说明“完成”的单一定义。而且,我不确定是否必须包含集成特性。说两个团队是否都致力于针对不同客户的同一API的完全不同的实现?但是正式地,他们仍在使用同一产品。

2
@Andremoniy,正确答案的确没有对单个国防部说任何话,但这确实意味着所有团队的国防部都应该有一个共同的要素,即整个产品必须保持功能正常。您在不同团队中从事API不同实现工作的示例并没有使我相信这可以被称为单一产品。
Bart van Ingen Schenau,

2
@Andremoniy,只要一个团队依赖于另一个团队的工作,即使将零件部署到不同的位置,也会(将)发生集成问题。这也是一个集成问题,例如,当一个微服务以意外的,可能不正确的方式使用另一个微服务时。
Bart van Ingen Schenau,

2
@Andremoniy:没错,这两个团队不应该使用相同的DoD,但是他们可以分享这样的规则:任何更改都不得对另一个团队产生负面影响(如果工作涉及对背面的界面进行更改,则这通常会触发-端服务器)。
Bart van Ingen Schenau,

1
@Andremoniy:感谢您的评论。我已经更新了答案,以解决您提出的一些问题。
格雷格·伯格哈特

6

我可以想象一种情况,一个团队将“完成”定义为“开发完成”(即代码合并到仓库),而另一个团队将其定义为“测试完成”(即发布到Q / A并经过测试的代码)。

这将固有地导致严重的问题,因为整个产品状态在很大程度上是不确定的,因此很难说我们是否可以实际发布它。


您是否认为正确的答案就是说所有团队都应该拥有相同的定义?

是的,我同意出于简单的原因应该有一个通用的定义-可以将一个复杂的项目视为一个树形结构,其中子项目(例如微服务)构建了整个产品(例如MyCool ERP)。因此,在给定的时间内,您想知道是否可以发布该产品的新版本。但是,如果您对特定子组件使用不同的DoD,则很难推断出此信息。
Pawel Gorczynski,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.