Scrum中Sprint和Iteration有什么区别?每个Sprint的长度是多少?

63
  1. 在Scrum中,Sprint和Iteration之间有区别吗?或者说一个Sprint中可以包含多个Iterations吗?还是Sprint只是Scrum术语中代替Iteration的用词?如果有人能够解释一下,将会很有帮助。

  2. 假设有4个Sprints,并且您已经决定第一个Sprint将持续10天,那么其他3个Sprints是否需要与第一个决定的Sprint具有相同的长度?


4
这不是Scrum的方式,但最好停止使用“sprint”这个词,改用“iteration”。 “Sprint”的意思是你以人类可能达到的最快速度前进,因为这就是短跑运动员的做法。但当一个sprint结束时,下一个就开始了,这意味着每个人都应该全天都在极限状态下推动自己。但这不是一个有益的印象,因为这不是您打算或应该做的事情。术语“iteration”更加合适。它暗示着您将继续迭代,这更接近于sprint的主要目的。 - still_dreaming_1
@still_dreaming_1 https://twitter.com/timhc22/status/1281249714164453377?s=20 - timhc22
9个回答

68

所有的冲刺都是迭代,但并非所有迭代都是冲刺。迭代是迭代式和增量式开发(IID)中的一个常见术语。Scrum是IID的一种专业变体,因此对术语进行专业化处理是有意义的。这还有助于将该方法与其他IID方法区分开来 :)

关于冲刺长度:只要冲刺是时间盒定长的,即在计划日期完成而不是“准备好了”(或者在极少情况下,如果某些基本边界条件发生改变,则提前终止冲刺以开始新的冲刺),则任何时间长度都可以接受。

把冲刺的持续时间保持在类似的时间范围内确实有所帮助。这样可以减少对冲刺计划的记忆负担,使您的计划更加准确。我喜欢将我的计划保持在2个日历周,这将转化为节假日季节之外的8..10个工作日。


3
说一个迭代可以包含一个或多个冲刺是正确的。例如,我们可以有一个一周的冲刺和一个一周的迭代。此外,我们可以有一个一个月的迭代,其中包含3个冲刺。 - sensorario
从我的经验来看,我认为Iaalto的“迭代”和“冲刺”的“平等性”是一个很好的简短定义。话虽如此,你为什么会说一个“冲刺”比“迭代”更高级(包含迭代)呢?我认为你确实可以有某种层次结构,但是“冲刺”不再与Scrum相关,因为Scrum根本不以这种方式使用这个术语。 - Peter Branforn

13

冲刺==迭代。

长度可以变化,但让它们变化太多是一个不良的规划先例。

保持它们在持续时间上的一致性,您将在规划和交付方面变得更加娴熟。所有事情都将根据需要完成一系列用例所需的10天冲刺次数来衡量。

保持它们在长度上的一致性,您可以更准确地计划交付、最终用户测试等。

重点是按固定的步伐准时发布。定期的时间表使管理稍微简单和更可预测。


特定项目的冲刺周期长度应始终保持一致,否则很难实现您所提到的一致性带来的优势。 - Adrian K

4
一个Sprint的重要之处在于:在一个Sprint内,需要交付的功能是固定的。
一个Sprint通常是一个迭代。但是你可以比如说,在一个4周的Sprint中,有4个一周的“内部”迭代。
关于Sprint的长度有很多讨论。我认为,如果按照书上的方法做,它们应该都是相同长度的。
我们发现,一个短的第一个Sprint用于建立开发环境,然后是更长的基本功能Sprint,最后是短暂的Sprint,在项目结束时,这种方式对我们很有效。

3

“疲劳过度”主要是由于长时间工作、很少休息以及持续的同事、客户和上级监督而导致的组织问题。

这不是Scrum的定义,而是关于疲劳过度定义的维基百科摘录。

不要做太多短期的10天冲刺。这会最终使你的团队筋疲力尽。只在真正需要的地方使用短期冲刺,不要连续做太多。考虑长远。长跑运动员总是为整个比赛制定节奏,并仅在必要时进行短距离冲刺。

如果你让团队筋疲力尽,那么所有那些花哨的Scrum图表都将毫无作用,因为它们无法阻止团队生产力的下降。


1
你在这里说什么鬼?很多团队确实使用两周的冲刺周期。是的,冲刺是紧张的,但这绝对不意味着人们每周工作80个小时,那太荒谬了。为什么人们会因为两周的冲刺而筋疲力尽?你的回答听起来完全错误。 - Pascal Thivent
5
根据经验,大多数经理在两周的冲刺中不会留下任何余地或特殊休息时间,他们试图最大化利用时间,以此来展示他们是更好的管理者。对于完成并结束的小型项目,这是可以接受的,但是对于需要长期支持和增强的产品,每年都没有终点的情况就不同了。在永无止境的项目上进行连续的两周冲刺让人感觉像是在笼子里奔跑的老鼠。我的观点是,在长期项目中,连续的两周冲刺真的有必要吗?我不相信。 - McG
6
我的第二个观点是,仅仅因为很多人使用连续两周的冲刺并不意味着这种方式是正确的。在硅谷,我看到许多公司称对开发人员进行简单的微观管理,每天进行站立会议,并在两周的开发周期内进行开发,即使他们并不知道Scrum过程实际上是什么。 - McG
我希望我能够给你的答案点赞两次。 - J.S. Orris

2
迭代与冲刺是同义词,冲刺只是Scrum术语的一部分。
关于冲刺长度的问题,我唯一需要注意的是,在Scrum中,您使用过去的冲刺来获得团队在承诺冲刺方面交付能力的可预测性。他们通过在多个冲刺中开发速度来实现这一点。团队成员或冲刺长度的变化是影响冲刺速度的因素。
作为背景,速度是指在该冲刺期间完全完成的待办事项或故事分配的估算点的总和。大多数敏捷支持者(例如Mike Cohn、Ken Schwaber和Jeff Sutherland)建议团队使用“最近的天气”来基于他们认为自己在一个冲刺中可以承诺多少的未来估计。这意味着使用最近几个冲刺的平均值作为未来冲刺规划会议估计的基础。
再次强调,改变冲刺长度会降低团队提供速度统计数据的能力,而团队用于冲刺规划,产品负责人用于发布计划(即预测项目何时结束或项目最终包含什么)的速度统计数据。
我建议阅读Mike Cohn的《敏捷估算与规划》,以了解Sprint、估算和规划如何相互配合。

2
  1. 在我的工作中,我们将2个Sprint组成一个迭代。迭代演示是面向业务利益相关者的,他们不想在每个Sprint之后进行会议,但这是我们对术语的理解。一些地方可能认为这两个术语具有相同的含义,我只是指出在我的工作场所它们并不相同。

  2. 不,Sprint的长度可以各不相同。在我的工作中,我们花了半个Sprint的时间来将我们的Sprint与来自另一个部门的项目的迭代对齐。


1
  1. Sprint只是迭代的一个术语。
  2. 你可以更改Sprint的长度为任何你想要的,但通常你会想尝试找到一个“运行良好”的时间长度(这可能对于你的团队意味着任何事情),并且随着时间的推移坚持使用它。

0
根据我的经验,
  1. Sprint是迭代的一种形式,一个Sprint内可以有许多迭代(例如,如果某个任务失败且估计时间还剩得多,则可以重新开始或迭代该任务),也可以跨越多个Sprint执行正在进行的任务。
  2. 通常,一个Sprint的持续时间为1至2周,这取决于所需时间和任务的优先级(可以由产品负责人、Scrum Master或团队定义)从产品待办列表中确定。
参考资料:https://en.wikipedia.org/wiki/Scrum_(software_development)

-2

在纯Scrum中定义的Sprint持续时间为30个日历天。然而,迭代长度可以由团队根据需要进行定义。


2
实际上,冲刺周期为30天或更短。 - Eugene Yarmash

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接