在Sprint方法中何时应该完成自适应部分?

时间:2015-07-16 23:14:29

标签: agile scrum

在sprint中,我们计划在开始时尝试遵循未来2周的计划。 我经常看到sprint团队在sprint正在进行中改变事物。

问题:在遵循基于sprint的敏捷软件开发过程时,是否normal在sprint正在进行时是自适应的,或any adaptive changes should only occur at end the sprint因此这些更改可以被纳入下一个冲刺阶段?

对我来说,在冲刺期内适应能力似乎适得其反,因为那时我们违反了“执行计划以实现成功”的基本原则。

示例

作为一个例子,假设计划在接下来的两周进行sprint,并为团队中的四个开发人员分配5个任务。然后,在进入此sprint大约一周后,团队负责人为“开发人员1”和“开发人员5”添加了另一项任务。

这是改变事物的一个例子,即当冲刺正在进行时是自适应的。在我看来,这不应该发生,因为它相当于改变我们要实现的计划,最终它对团队或利益相关者没有帮助。

毕竟,我们只是试图遵循未来2周的计划而不是接下来的6个月计划,因此我们在2周后有充分的机会改变现状并具有适应性。

5 个答案:

答案 0 :(得分:4)

随时检查和适应是正常的。 sprint中最明显的例子就是Daily Scrum,这是一个重新规划的事件。

我所知道的任何敏捷方法都没有“执行计划成功的基本原则”。相反,我们接受我们的计划不完善,我们需要在工作进行时定期检查和调整。这是支撑Scrum的经验过程控制模型的基本要素。

此外,为了完整性,工作永远不会分配给开发人员。相反,他们自愿拥有它。此外,没有团队领导的概念。无论他们的技能或资历如何,每个人都被视为开发人员。

答案 1 :(得分:2)

在例行情况下,唯一一次将任务添加到sprint的时候是所有其他任务完成的时间。然后你最后会表明你的速度比上次高,你可以计划下次做更多。这让每个人都感到高兴,这是敏捷的全部目标:不断进步。

应该抵制在所有其他任务完成之前添加或更改任务 的诱惑。有一个很好的理由要抵制:它需要付出代价。你必须要问每次是否值得支付这个价格。

价格由

组成
  1. 剥夺团队提供他们同意的机会
  2. 剥夺团队测量速度的机会,从而正确预测未来可以完成的工作
  3. 第一个是团队合作/士气成本,第二个是计划能力成本。

    如果你在飞行途中不断改变冲刺,你就没有灵活性,你有临时性和不可预测性。这违背了整个目的:糟糕。

    在飞行途中改变冲刺相比,您每次都成功完成sprint中的任务,因此每次都会增加更多,您有以下两种情况之一:

    1. 你在不断进步。好极了。这就是应该发生的事情。
    2. 你对速度没有很好的把握。你应该检查一下。
    3. 但是在其中任何一种情况下都可以在最后添加 - 这与更改不一样。

      编辑:为了支持我在sprint中不应该改变sprint任务的说法,这里引用了Jeff Sutherland的书“Scrum”:

        

      “scrum的支柱之一就是团队一直致力于此   他们认为他们可以在一个冲刺中完成,就是这样。这不可以   被改变,无法添加。团队必须能够自主地完成他们预测的工作。“

      这非常明确。建议改变方法论的一个支柱似乎很奇怪。当然,我们生活和学习,也许从那本书开始就知道得更好,但由于我上面提到的原因,我的建议似乎仍然合理。

答案 2 :(得分:1)

一般来说,我会说这取决于变化是什么。理想情况下,自适应过程将适用于下一个sprint,但如果更改会对当前sprint周期中正在完成的工作产生巨大影响,则可以将自适应过程合并到当前sprint中。这是该方法的主要优点之一 - 您可以快速适应而不会抛弃整个项目。是(或应该)正常吗?根据我的经验,不,改变你的冲刺计划通常是不正常的(或建议)。

修改:根据编辑中的示例,这通常会添加到未来的sprint中。

答案 3 :(得分:1)

根据我的经验,添加任务根本不是GeenAsJade所描述的变化,它只发生在给定的2个条件下。适应性是敏捷方法的一部分。如果我们遇到可能影响我们在当前冲刺中完成的工作的变化,那么我们应该在冲刺期间对其进行调整。每日Scrum&回顾会议是建议改变和适应的来源。我们从下一个sprint开始这些变化。

建议不要在冲刺期间改变工作计划。所有适应都应该从下一个sprint实施。

答案 4 :(得分:1)

我完全赞同Dereks的回答,并希望对官方的scrum指南做一些参考。

首先,我们必须在冲刺目标和计划之间做出决定。在scrumguide中,它说“为此Sprint选择的产品Backlog项目加上交付它们的计划称为Sprint Backlog”

因此范围不应在冲刺期间发生变化,但可能会调整如何实现这一目标的计划。后来它说:“开发团队或团队成员经常在Daily Scrum之后立即开会,进行详细讨论,或者调整或重新规划其余的Sprint工作”。

所以在你的情况下我会说添加任务是好的,如果这些任务不是新的范围,但需要完成产品积压项目。

更好的问题是scrum中的团队领导力是什么?你说“......团队负责人补充......”一些任务给开发人员。因此,原则上,开发团队正在计划sprint,并且不应分配任务。团队应该是自我组织的。如果您的团队负责人是管理sprint积压的团队成员,那么好吧。但听起来团队领导不在团队之外,而是将工作添加到开发团队和sprint中。 这听起来很奇怪,因为这是自组织的对立面。我怀疑这些任务不会改变这里的范围。

产品所有者应该通过优先考虑产品积压来确定下一步开发的内容,并且团队决定如何实现这一点,而不是其他人。另请参阅scrum指南“只有开发团队可以在Sprint期间更改其Sprint Backlog”。

有关Scrum指南的详细信息,请参阅:https://www.scrumalliance.org/why-scrum/scrum-guidehttp://www.scrumguides.org/