写点什么

“Sprint”一词对过渡敏捷不利?

  • 2008-10-16
  • 本文字数:1186 字

    阅读完需:约 4 分钟

于 Agile Journal 九月刊登的文章中,Joe Kreb,AOL 策划总监, 认为“Sprint”一词对向敏捷开发过渡有负面影响。他认为软件项目像马拉松多于全速冲刺(“Sprint”一词字典上的意思):

我们假定软件项目需要多于四星期的时间。所以他们不能看作如运动那样一系列的“冲刺”,但应该看成长跑的“时间盒”(time-boxes)或者里程碑。

所以,当团队尝试以全速进行开发,每个迭代都“冲刺”,马虎、筋疲力竭、失误就会渐渐产生:

就有如运动员不断冲刺也会有容易出错一样,敏捷团队可能为了维持高速度而出错。最后执行时表现很有限,而 团队也不能以可维持的速度下开发。到了那时,团队亦已经筋疲力竭,技术债台高筑(technical debt,意思指维持不良代码所需要更多的时间精神,而且因为没有改善而累积)以及士气低落。即使团队开始时很好,几个迭代之后就有落后。虽然我们希望团 队自我管理而且可以满足期望,团队教练会保护团队免受外面骚扰。

所以 Joe 认为我们应该留意团队工作的质量和士气,留意有没有这种消耗过早发生:

所以当我们观察组织敏捷程度时,我们留意的不仅仅是团队在早期的开发速度(velocity),更必需留意之后的迭代去肯定团队燃尽的是未完成的系统功能,而不是开发团队的精神。要留意团队是否找到自己的稳定状态,管理人员需要留意开发速度以外的度量(metrics)。质量和士气跟速度同样重要。质量可 以简单理解为跟踪未解决的缺陷,士气就是在回顾(Retrospective)时收集回来的团队平均满意程度。较长的项目特别会受到早期迭代中稳定速度的 好处。虽然这“冲刺”是很有鼓励性的双关语,但其好处只能持久一段很短的时间,可能半路中途就出问题,像很多马拉松选手一样。

Joe 最后提出这个建议:

一 方面,冲刺可能给团队和其他行政人员带来错误讯息,这需要很少的解释,因为人人都知道冲刺是很短的,可以理解成为“快”,但也会理解成“加班”或者“过份进取的安排”。解释增量迭代可能不会给人像冲刺那样的理解,但如果期望长远的敏捷,可能马拉松的比喻会较易找到团队稳定的状态。如果有很好的理由去“冲 刺”,或者考虑多花些时间在迭代中回气。

这是个有趣的论点;我们知道“全速冲刺”和“可维持速度”(eXtreme programming 提倡的 sustainable pace)互相矛盾。而且也是原文作者经验中新团队使用 Scrum(以及敏捷)时尝试开发的太快所遇到的问题,这是其中一个原因嘛?

查看英文原文 Is a “Sprint” Detrimental to an Agile Transition?

译者附注:

在译者印象中,这方面的误会很少发生,这很可能是在中文社区当中从来没有过份强调“冲刺”字面上的意思,即使英文社区也没有同样问题发生过。

不过类似的问题却发生在 Scrum 常用的“猪”和“鸡”的比喻上出现。提出问题的主要指出有些人认为用“猪”来形容人是很冒犯性的事情。不过很多时候一些导师都指出,其实提出足够的解释是没有问题的。问题不在于用什么字眼,而是如何带出其讯息。

2008-10-16 19:391895
用户头像

发布了 21 篇内容, 共 65467 次阅读, 收获喜欢 3 次。

关注

评论

发布
暂无评论
发现更多内容

Kafka 源码解析:Server 端的运行过程

华为云开发者联盟

kafka 网络 Server 端 SocketServer

云小课 | 云硬盘不用了如何处理?

华为云开发者联盟

华为云 云硬盘 退订 删除 回收站

融云年中大促 新老用户同享超值优惠

融云 RongCloud

超清音质实时会议系统的背后 ,深入剖析 AliCloudDenoise 语音增强算法

阿里云CloudImagine

阿里云 音视频 语音 视频会议 算法实践

同样都是使用接口,JAVA和Go差距咋就这么大呢?

面向加薪学习

Docker被谁干掉了?

BUG侦探

Docker 云计算 Go 语言

不知道我写的链表是否能看懂

八点半的Bruce.D

php 数据结构 链表

bzz|chia矿池挖矿系统APP开发搭建

薇電13242772558

区块链

anyRTC 重磅推出在线实时 K 歌解决方案

anyRTC开发者

音视频 WebRTC 实时通讯 在线KTV

去中心化的互联网,区块链域名如何对抗在线审查

CECBC

HarmonyOS 实战—服务卡片初体验

爱吃土豆丝的打工人

HarmonyOS 服务卡片 鸿蒙卡片

使用 Java 编写 Apache APISIX 插件

API7.ai 技术团队

Java 云原生 后端 插件 网关

RS485通信如何设计EMC电路?

不脱发的程序猿

电路设计 通信总线 RS485 EMC设计 通信抗干扰

测试开发之网络篇-IP地址

禅道项目管理

IP 协议 IP地址

从网络平台到城市平台——城市数字化的另类思考

CECBC

“区块链指导意见”重磅发布 场景化应用昭示新蓝海

旺链科技

区块链应用 区块链供应链金融落地

nodejs学习记录

Node

一觉醒来,发现自建的数据库被勒索了,好可怕…

华为云数据库小助手

数据库 高可用 安全性 DAS

EBean ORM 框架介绍-3.实体草稿功能

Barry的异想世界

jpa ORM Ebean

从五大结构体,带你掌握鸿蒙轻内核动态内存Dynamic Memory

华为云开发者联盟

鸿蒙 内存管理 结构体 动态内存 Dynamic Memory

破局团伙作案风险——图卷积神经网络(GCN)算法

索信达控股

金融科技 数字化转型 数据建模 风险管理 图卷积神经网络

JAVA面向对象(十一)--多态

加百利

Java 6月日更 多态

拍乐云 x 美上美学|监管当下,如何回归教育本质,打造品质和体验?

拍乐云Pano

RTC

构建WEB项目的 25 个HTML建议

devpoint

html 6月日更

一进商场就迷路?ThingJS用室内导航拯救路痴!

ThingJS数字孪生引擎

程序员 大前端 可视化 3D可视化 数字孪生

高性能计算对生命科学研究有何帮助?

北鲲云

云计算 高性能计算 生命科学 虚拟筛选

马士兵强推面试前必刷:Alibaba内部Java高级架构师380道面试题

Java架构追梦

Java 阿里巴巴 面试 java架构

原来 spring.xml 配置的 destroy-method 需要用到向虚拟机注册钩子来实现!

小傅哥

Java spring 注册虚拟机钩子 init-method destroy-method

如何设计好一个接口

🎄新

架构 设计 接口

不愧是Alibaba技术官,Kafka的精髓全写这本“限量笔记”里,服了

Java 架构 面试 分布式

Rust从0到1-自动化测试-如何编写测试

rust 自动化测试 如何编写测试 Automated Tests

“Sprint”一词对过渡敏捷不利?_研发效能_Amr Elssamadisy_InfoQ精选文章