写点什么

迭代你好,我是冲刺

  • 2021 年 12 月 28 日
  • 本文字数:1629 字

    阅读完需:约 5 分钟

摘要: 一会“迭代”,一会“冲刺”,一会“sprint”,这些词到底是不是一个意思呢?

 

本文分享自华为云社区《迭代你好,我是冲刺》,作者:敏捷的小智。

 

很多团队在使用 Scrum 的时候,都知道两到四周为一个周期,这个周期叫冲刺;进入到冲刺后,团队一定会有人提到“这个冲刺我们要 xxx”、“本迭代还有 xxx 没完成”、“这个 sprint 还要 xxx”——一会“迭代”,一会“冲刺”,一会“sprint”,这些词到底是不是一个意思呢?

“迭代”和“冲刺”的定义


按照惯例,先查验身份——我们看看这俩词的定义。


在维基百科中,迭代(iteration)在软件开发领域没有单独的词条解释,而是将迭代与增量开发捆绑到一起,即迭代增量开发(iterative and incremental development),在敏捷软件开发这一词条中,有一句关于迭代的介绍:“Iteration, or sprints, are short time frames that typically last from one to four weeks”——即迭代/冲刺都是一个时间盒的概念,通常持续一到四周。


冲刺(sprint)源于 Scrum,在最新 2020 版的 Scrum Guide 中,对于冲刺的定义是“Sprints are the heartbeat of Scrum, where ideas are turned into value.They are fixed length events of one month or less to create consistency.”。


通过两个定义可以看出,冲刺和迭代大方向上好像确实没啥区别,都是时间盒的概念,持续时间也都差不多,那细节方面有没有啥不同呢?

“迭代”与“冲刺”的区别


迭代这词诞生的比较久——20 世纪 60 年代就已经开始出现迭代增量开发了。最早的迭代增量开发不是出现在软件行业,而是航天事业——美国通过迭代增量的开发方法,造出了水星太空舱,帮助美国完成了第一次航天载人计划。后来迭代增量开发被应用到软件研发行业。


“软件研发的每个迭代都涉及一个跨职能团队,负责所有职能:规划、分析、设计、编码、单元测试和验收测试”(Each iteration involves a cross-functional team working in all functions: planning, analysis, design, coding, unit testing, and acceptance testing. ——维基百科),“规划、分析、设计、编码、单元测试和验收测试”听起来是不是很耳熟?是的,这是瀑布模型的内容。迭代很像一个小瀑布,每个迭代产生一部分产品功能,多个迭代就可以堆砌成一个产品。和瀑布不同的是,迭代和迭代之间,可以对产品做出一定量的调整,保证产品沿着正确的方向发展。


冲刺一词则来源于 Scrum,Scrum 本意是橄榄球中争球,Scrum 团队应该像橄榄球游戏中的持球者一样,为了团队目标,朝着一个方向冲刺。在最新版的 Scrum Guide 中,能够查到 116 处“sprint”,而“iteration”出现的次数则是 0——在 Ken Schwaber 和 Jeff Sutherland 两位老爷子看来,冲刺 sprint 才是 Scrum 的官方唯一指定时间盒代名词。


Scrum 中的冲刺由计划会议展开,这点和迭代的规划比较像,评审会议则相当于软件的一次小的交付。但冲刺和迭代还是略有差别——首先,冲刺中我们提倡测试驱动开发,而不是必须等功能开发完成,再着手测试工作。


其次,冲刺中每天都会开每日站会,将一个大的冲刺分解成多个小的冲刺,团队成员通过“昨天做了什么”,“今天要做什么”,“遇到什么阻碍”三个问题,了解团队每个人的工作状况,以便于共享项目进度,早日发现问题,快速做出调整应对生产,而迭代则没有每日站会的相对的规定。


最后,冲刺完成后还有回顾会议,团队通过回顾这个迭代哪些做的好,哪些做的不好,可以对以后迭代做出调整。以上几个点是迭代没有明确的。

搞混了,没啥大不了


综上,严格意义上迭代和冲刺是两个概念。


从专业角度来说,Scrum 中应该使用冲刺(sprint),而非迭代(iteration),冲刺一词也会给团队成员带来一种紧张感,促使团队更好的完成计划会议制定的目标。


从非专业角度来说,只要教练和团队成员能够领悟彼此的意思或者能够做到术语统一,并且提到“迭代”或“冲刺”的时候知道对方说的是什么,把“冲刺”叫成“迭代”也无伤大雅,毕竟大多数时候,大家说的都只是一个时间盒。


点击关注,第一时间了解华为云新鲜技术~

发布于: 刚刚
用户头像

提供全面深入的云计算技术干货 2020.07.14 加入

华为云开发者社区,提供全面深入的云计算前景分析、丰富的技术干货、程序样例,分享华为云前沿资讯动态,方便开发者快速成长与发展,欢迎提问、互动,多方位了解云计算! 传送门:https://bbs.huaweicloud.com/

评论

发布
暂无评论
迭代你好,我是冲刺