BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

“Sprint冲刺”:用词失当?

| 作者 Mike Bria 关注 0 他的粉丝 ,译者 郑柯 关注 3 他的粉丝 发布于 2008年11月7日. 估计阅读时间: 7 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

“以迭代的方式”工作,是敏捷开发最基本的一个概念;也就是在反复出现的过渡性里程碑节点上,逐步交付更好的产品版本。每一种敏捷方法论都有自己相应的比喻标签。极限编程的“迭代”和Scrum的“sprint冲刺”是最为人知的两种。Kevin Schlabach认为“sprint冲刺”可能是一个糟糕的比喻

Kevin Schlabach最近的帖子认为:Scrum对于“sprint冲刺”这个单词的使用经常会传递错误的信息:

有些人听到“sprint冲刺”这个词汇,经常会感到疑惑。他们会问:要是我们总以全速前进,怎么可能不会感到疲惫呢?

人们很容易这样理解“冲刺”这个比喻:你的目标触手可及、近在眼前,因此你情绪昂扬,准备付出更多的努力来达成目标……它传递了一种高度重视的感觉,并让人觉得应该力图而且有可能马上完成目标。

实际上这个词汇并没有说人们应该全速前进……但是对大部分人来说,这就是“冲刺”的定义。

接下来,Schlabach将敏捷开发与优秀马拉松选手完成比赛的方式进行了比较。他指出,马拉松选手在前进时会检查自己的速度,这是非常重要的;马拉松选手“如果想在20英里的比赛中达到平均每英里用时5分钟的速度,他们必须在第1英里就用5分钟跑完”。优秀的选手在整个比赛过程中都会非常重视自己的节奏,他们会留心自己是超出还是落后于自己的速度目标;而且,他们会留心自己是否保持了一个“可持续的步调”,这跟“短跑选手”的比赛方式大相径庭。

Schlabach将话题拉回到软件开发之上,他使用“步调度量”这个想法,来阐述他所认为的“sprint冲刺”的关键所在:

Sprint的关键,是要建立度量周期。如果不经常测量进度,你就无法验证之前的预测是否准确。事先声明会在定义好的周期上展开测量,你可以让自己避免陷入麻烦之中,也就不必再想办法如何摆脱麻烦了。

Agile Journal上,Doug ShimpDan Rawthorne“Scrum中的比喻”这篇文章中也谈到了类似的话题:

Sprint是“用尽全力冲过终点”
这就是sprint在田径运动中的含义,而且会使得Scrum中的Sprint总是给人急迫的感觉。可人们不是说:要是总这么跑,那就会喘不过气来么?可持续的步调又到哪里去了?我们已经见过人们有意避开这个词汇,因为他们觉得以后的工作将会变成一系列令人疲惫不堪、呼吸困难的比赛。

我们建议不要从速度、而是从跑道的角度思考sprint。人们可以看到终点,而且以直线的方式到达。距离并不长(30天甚至更少),而产品负责人的定义确定明确的终点。

以“可持续的步调”进行“迭代”,这对敏捷开发的成功至关重要。使用“sprint冲刺”这个单词是不是会让人们远离这一点呢?对于这个问题,您有没有什么想法或是故事要分享?

查看英文原文: “Sprint”: a Misnomer?


在InfoQ英文站新闻的评论后,读者纷纷发表了自己的看法。

Dave Rooney说自己经常跟人就Scrum的用词进行讨论,他说Scrum听起来就像是让人会把自己的头撞得头破血流的地方【译注:此处应该是指Scrum 的原义——橄榄球中的争球仪式】,而sprint则像是只能在短时间内做的事情,很难重复。另外,他对“马拉松”这个词汇的运用也表示怀疑,认为既然第一个跑马拉松的人在最后死掉了,也许这个词汇很难让人产生应有的感觉和印象。他觉得也许用5000米或10000米跑来形容更合适。

Barrett Nuzum也同意这些词汇容易产生误解,尤其是对于刚刚接触Scrum的人来说:

我的第一个敏捷项目举行了不少回顾会议,团队成员都说他们很难找到可持续的步调。我想“检视和适应(Inspect and Adapt)”应该有助于解决这个问题。但是是否所有的团队都愿意花费时间来吸取这个教训呢?我不这么认为,虽然我觉得他们应该这么做。

我总是试着用“迭代”来替换“sprint冲刺”,特别是这个词汇暗示着你不仅仅在不断提供解决方案,同时这个过程也并不是马上结束的(也就是说不能立即发布)。

“韵律(cadence)”是另外一个我喜欢用的词。这意味着要创建有规律的节奏,而不是筋疲力尽的“冲向终点”。

Barrett Nuzum还建议大家去看他的前同事Dave Nicolette的文章,其中特别解释了一些容易引起争议的Scrum词汇。最后,Barrett指出:要想成功,指导新人必不可少。

Jim Leonardo认为:考虑到“计划、执行、发布”这个反复的过程,正确的田径运动比喻应该是“圈(lap)”。

Ben Hall则觉得“冲刺”这个比喻没啥问题,只是大家没有完全理解,而且它跟其他Scrum的比喻混在一起了。

人们觉得“冲刺”就是竭尽全力,而在径赛运动中并非如此。有一句教练的名言:“想破世界纪录,你得放松,而不是出尽全力。”冲刺是受到控制的表现。

在现代的径赛训练中,间隔训练已经成为绝大多数运动各级水平的基本常识了。举个例子,在热身时,跑8个400米,每次用时68秒左右,两次跑之间间隔2分钟的休息和舒缓时间。每个间隔包括两部分:工作和休息。实际上,“工作”也是通过“冲刺”来完成的。其他活动都是对工作努力的支持。你也许会说:很多冲刺会有好几个轮次。没错,即使是在比赛时,你也得经常在轮次之间控制个人的体力分配。

我是个Scrum的支持者,不过我也觉得很多现代的体育训练概念可以用到软件工程的实践中来。很多学校的径赛教练都使用名为“周期化(periodization)”的概念。“周期化”会将一年或几年分为大小规模不等的时间阶段,并在这些阶段中应对不同的压力,以在长期内产生最佳的成绩。在某种程度上说,这些概念与软件开发的工作有共通之处。我们的工作阶段也可以分月、周、日,还做一些练习,我们也不是总是在“冲刺”那样小粒度的阶段上工作。我们也希望得到长期的出色表现,而不是一次性的工作投入和产出。而Schlabach似乎还是陷入了他的“马拉松”比喻之中。

 

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT