问题 Sprint工作项目 - 敏捷Scrum [已关闭]


什么类型的任务可以作为Sprint Backlog中的工作项包含和跟踪?

是否可以包含分析,审核和单元测试(用户故事),或者只能在Sprint积压中包含和跟踪核心编码任务?

基本上我将用户故事分解为技术任务以更新Sprint积压,并且想知道是否可以在sprint backlog中更新和跟踪具有非编码角色的任务。


11166
2017-10-22 12:13


起源

我可以建议: area51.stackexchange.com/proposals/9543/... - gbjbaanb
+1同情你要从成员那里采取措施,以这种方式措辞你的问题,特别是最后一段:) - sjt
@gbjbaanb您可能会建议但是在SO上提出这个问题并没有错。 - Pascal Thivent
这个问题是偏离主题的,因为它不属于适合本网站的问题范围,如中所定义 我在这里可以问什么主题? 还请看: 我应该避免询问哪些类型的问题? 您可以获得帮助 另一个Stack Exchange站点。 - Makyen
我投票将此问题视为偏离主题,因为它与编程无关。 - Vadim Kotov


答案:


什么任务可以作为Sprint Backlog中的工作项包含和跟踪?

根据Scrum指南 - >在计划会议第2部分中,团队确定任务。这些任务是将产品Backlog转换为工作软件所需的详细工作。任务应该已经分解,因此可以在不到一天的时间内完成。此任务列表称为Sprint Backlog。 因此,无论满足上述指南的任何任务都需要包括在内。

是否可以包含分析,审核和单元测试(用户故事),或者只能在Sprint积压中包含和跟踪核心编码任务?

是的,他们可以而且应该被包括在内,如果这样做会导致Backlog转换为工作软件。 Scrum NEVER建议只在Sprint Backlog中包含编码任务。事实上,Scrum要求团队实现跨职能。

基本上我将用户故事分解为更新Sprint积压的技术任务,并想知道是否可以在sprint backlog中更新和跟踪具有非编码角色的任务。

这听起来很可疑。只是'你'谁打破了任务?应该是整个团队在计划会议的第二部分中分解任务。同样,非编码任务可以包含在Sprint中。 只是为了给你一个现实的例子:在我的Web开发团队中,典型的Backlog有以下任务。 1.定义和发现 2.设计和创建测试矩阵 3.将单元测试写入测试矩阵 3.使单元测试通过的代码 4.测试 5.回归测试 6.调试 7.查看'使用PO的工作软件(如果需要确保这是PO想要的)

编辑

关于任务的又一点。 规划期间添加的任务应在必要时不断分解/更新/重命名。这一点的重点是添加一组透明的分解事件,这些事情完全完成后,最终会导致按照QA标准运行的软件,最有效和最有效。这些任务应该在跨职能部门进行检索和处理,不应在团队成员之间阻止。

希望这可以帮助!


4
2017-10-22 16:05





您要将这些任务作为工作项进行跟踪。这样做要小心。

为什么?你开始具体化一个过程。这里有一个滑坡。一旦你开始具体化过程,你就会停止实际上敏捷并开始创建一个强制性顺序步骤的僵化瀑布。

如果您认为这些事情非常重要,以至于您必须将它们写下来,或者开发人员会忘记它们,那么您就不会让开发人员有责任保持敏捷,或者有权做出自己的决定。

你认为他们不值得信任。

  1. 分析用户故事。他们无论如何都会这样做。为什么写下来?他们会忘记吗?重点是 理解。不是文件。不是时间管理。

  2. 审查代码。你希望他们这样做。您必须创建完成此过程的文化并获得结果 奖励

    如果代码审查的结果是“你的代码很糟糕,再做一次”,那么没有人参与,除非通过命令,否则不会完成。

    如果代码审查的结果是“每个人都可以学习的新的最佳实践”加上“也许你应该根据其他最佳实践重新思考”,也许人们会参与其中。

  3. 单元测试是sprint的一部分,没有任何问题或讨论。
    实际上,它可能是 - 也许 -  冲刺的重要部分。在几乎任何其他代码之前,单元测试首先出现。你不需要说这个。事实上,说它的行为声称你的开发人员不能被信任进行测试。

当你感觉到为程序员写下任务的冲动时,你也必须仔细考虑问题的原因。

你为什么要把它写下来?他们在做什么?

这是重要的部分。

他们为什么不首先这样做?

他们没有分析?为什么不?你难以分析吗?用户是不是自己可用吗?

他们没有进行代码审查吗?为什么不?代码审查的障碍是什么?不够时间?没有足够的合作?没有足够的奖励?什么阻止他们?

他们没有进行单元测试吗?为什么不?测试的障碍是什么?不够时间?灵活性不够?没有足够的积极反馈进行测试?

为什么你觉得需要“控制”和“胁迫”你的开发者?他们为什么不靠自己这样做呢?


6
2017-10-22 12:23



感谢您的答复。我的意思是需求分析,代码审查和单元测试代码。是的,它们不是敏捷意义上的可交付成果,但在我看来对于确保代码质量至关重要,我们将不得不为此付出努力。 - jcs
@jcs:拜托 更新 你的问题要完全清楚。 - S.Lott
+1我喜欢你如何将一切都说成一个问题,一个伟大的回顾材料 - DancesWithBamboo


简短的回答是 - 无论哪种方式最适合您的团队和相关的用户故事。

例如,如果我们正在努力将一段代码重构为用户故事的一部分,我们可能会分出一个单独的任务来处理它首先进行测试。但如果它是新开发者,我们推断它将作为我们流程的一部分进行测试(通常使用TDD)。

其他示例包括有时会分开一项单独的任务,以涵盖协调与编码所花费的时间,与外部供应商的集成测试等等。 - 基本上,任何有助于弥补特定故事的谨慎和可衡量的任务(包括您拥有的一些示例)包括在上面)。

底线是每个故事应该没有一套公式,而是根据每个故事的个别需求定制任务(即使这些任务与代码无关)。


1
2017-10-22 12:26



谢谢。感谢您的回复。 - jcs


如果您在每个用户故事中为Analysis,Coding,Review,Testing等创建任务,您将接近称为Scrumfall的东西(每次迭代分为瀑布阶段)。这是Scrum的一种气味。基本上这些活动应该包含在单个任务中:“做某事”意味着做你需要的一切来完成“某事”=你是专业的开发人员而且你知道(或者政策说)完成任务需要做些什么。

这是一般情况。有时您确实需要将任务划分为“活动”,但首先应该从常见过程开始,并且只有在您有真正原因的情况下才使用此工具 - 例如一次迭代中的尖峰任务和第二次迭代中的实际任务。

编辑: 我曾将任务划分为一次。我们没有做TDD,但测试是在完成任务后编写的。因此,每个开发任务都与测试任务配对,以表明它可以由另一个开发人员完成,有时与开发并行。但是,另一个开发人员测试的责任是团队决策,而对于他们真正做到的复杂任务。


1
2017-10-22 15:57



我同意只是暗示每个Backlog都不应该遵循模板形式的任务。但有时积压可能实际上需要分析,编码,测试,并且没有任何关于它的淡化。我的理由?在瀑布式 - 整个组织结构不同 - 分析团队,编码团队,qa团队,都是孤立的。在scrum中,团队是跨职能的,理想情况下,每个阶段都有人参与从开始到结束的每个阶段。 - sjt
只有当团队中的任务被其他团队成员阻止并且不会让每个人都保持透明时,它才会被称为Scrum气味。我可以举例说明实现与瀑布的不同之处。它当然不能称为Scrumfall或迷你瀑布。 - sjt
@sjt:我没有写过他正在做Scrumfall,我写道他已经越来越近了。但非常好的一点,因为问题没有提到任何成员或特定成员是否可以完成每项任务。我的回答只是一个主要的敏捷原则=赋予人们权力。创建高级任务,并负责为将要完成任务的人选择活动。 - Ladislav Mrnka


如果您将所有应用于任务跟踪的工作集中在将您的故事分成更小(1-3分),那么您将努力变得更加敏捷。小故事几乎不需要任务级别估计或跟踪。您的PO的优势在于能够优先处理较小的功能集,并且您可以专注于提供价值,而不是重复记录明显的步骤。当然,按照每个小时的小时跟踪一个团队商定的标准做法并不是很有用。


0
2017-10-22 19:20