免费下载案例集|20+数字化领先企业人才培养实践经验 了解详情
写点什么

出色的速度

  • 2009-05-19
  • 本文字数:1455 字

    阅读完需:约 5 分钟

Buddha Buck 最近向 Extreme Programming 讨论组 提出 这样一个问题 :对于由 7 个人构成、迭代持续两周的团队来说,是否存在一个“出色”的速度范围?在他看来,少于或等于 8 点的速度就表示团队的故事可能太大了。由此引发的讨论提供了一些答案,还揭示出问题背后的问题。

速度是用来预测团队未来工作效率的工具。如果团队在工作中涉及到的用户故事都是同样大小,也就是说要完成这些故事的工作量大致相同,我们就可以简单地计算团队每个迭代完成的故事数目。稳定的团队会倾向于在每个迭代中完成同样数目的这些大小相等的故事,并且管理层也会根据团队已知的能力来制定计划。

在很多情况下,故事的大小是不一样的。因此,故事都是估计出相对大小,经常称为“估算”。大小为 2 的故事就是大小为 1 的故事的两倍。大小为 3 的故事就是三倍,诸如此类。一般来说,如果估计大小为 2 的故事要花的时间是大小为 1 的故事的两倍,这也很正常。为了让这些估算更易于讨论,人们将故事大小的单位定为“点”,或称为“故事点”。因为,我们可以说完成 5 点的故事所需的时间是完成 1 点的故事的 5 倍。一般来看,稳定的团队会在每个迭代中完成固定点数的故事;这个点数就是团队的速度。因此,团队的能力决定了速度。速度可以衡量团队每个迭代中完成的工作量。

Steven E. Newton 这样描述“出色的”速度:“出色的速度可以用来准确预测在未来迭代中能够完成的工作量。”

Kent Beck 发现了另外一个了解团队速度的好处:

衡量能力的另外一个目的是要改善产出。如果你计划要完成的工作比实际能够完成的少,最后真正完成的也就少于实际可以做到的事情。如果你计划要完成的工作比实际能够完成的多,最后真正能够完成的同样也少于实际可以做到的事情。

Charlie Poole 提醒读者,开发人员喜欢思考实现故事需要多少工作量,而管理层和客户喜欢琢磨完成故事能够交付多少实际价值。大家都应该注意到:针对故事的估算和速度都与工作量大小、以及完成故事所用的时间有关。

Buddha 的问题表面上得到了答案,但是讨论组继续探讨问题背后的潜在议题。特别之处在于,Buddha 非常担心团队要完成的故事也许过大了。大家讨论认为小故事要比大故事更加值得采纳。

Tim Ottinger 指出小故事能够提供更频繁的里程碑,从而帮助团队与干系人总是可以了解到项目的实际进展情况。

很明显,没有哪个故事能够延续超过一个迭代的时间。想一想迭代中的故事,更大的故事总是更加不容易完成。没人希望自己处于要么完成 N 个点数,要么一个都不完成的境地。每个人都希望在迭代进行到一半的时候,有 40% 的故事点数已经完成了(我是指真正意义上的完成)。

Steven Gordon 分享了一些相关的指导方针:

  • 如果不确定故事是否足够小,那几乎可以确定它们确实太大了。
  • 如果故事太小了,团队会发现跟踪过小的故事会浪费很多管理成本。
  • 故事太小所造成的问题,远没有故事太大造成的问题严重。所以如果要犯错,也建议倾向于让故事变得过小。
  • 如果过小的故事是团队前进的最大障碍,那就应该恭喜团队:你们已经掌握了极限编程的要义。

Ron Jeffries 觉得,他希望看到一对程序员能够在一周内完成两到三个故事,这样的故事大小才是合适的。他对于故事点数的概念并不是特别在意:

我觉得整个的关注点有点过于偏移了,我也很后悔自己有些事情做得用力过度了。大家偏离了真正的重点,就是要将故事拆分得足够小,直到能够以大概相同的步调来完成它们。

您的团队是如何决定故事大小的?您是否认为团队的速度可以用来判断故事的大小是否没有问题?请在评论中提供您的想法。

查看英文原文: A Good Velocity

2009-05-19 10:441668
用户头像

发布了 479 篇内容, 共 157.4 次阅读, 收获喜欢 49 次。

关注

评论

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

花火交易所系统APP软件开发

系统开发

3面抖音犹如开挂,一周直接拿下offer,全靠这份啃了两个月「Java进阶手册」+[Java面试宝典]

编程 程序员 面试 计算机

15天成功拿到阿里offer 我是如何逆袭成功?全靠“Java程序员面试笔试通关宝典”真够可以!

比伯

Java 编程 架构 面试 程序人生

资深码农:拿下软件测试,只需掌握好这两种方法!

华为云开发者联盟

软件 工具 测试

Rust太难?那是你没看到这套Rust语言学习万字指南!

华为云开发者联盟

rust 语言 开发语言

真香~~看完看阿里P8大牛手写的450页文档总结,我精通Java并发编程了

Java架构之路

Java 程序员 架构 面试 编程语言

【Java入门】Array

Albert

Java 七日更

Java异常处理的9个最佳实践,看看自己是不是都用过?

geekymv

Java 异常处理

架构师训练营第五周作业

Geek_xq

腾讯五面、快手三面已拿offer(Java岗位),分享个人面经

程序员知识圈

Java 程序员 架构 面试 编程语言

得物App亮相QCon全球软件开发大会,分享百倍增长背后的技术力量

得物技术

效率 技术 得物 得物技术 Qcon

架构师训练营第五周总结

Geek_xq

软件测试中需要使用的工具

测试人生路

软件测试

自定义TBE算子入门,不妨从单算子开发开始

华为云开发者联盟

算法 算子 自定义

华为全栈AI技术干货深度解析,解锁企业AI开发“秘籍”

华为云开发者联盟

AI 全栈 开发

一周信创舆情观察(12.14~12.20)

统小信uos

乘百度AI之风,媒体从业者们这样登上智能云端

脑极体

GitHub标星78.9K的算法宝典,让你分分钟刷爆LeetCode,更有“左神”精讲视频加持,金三银四offer手到擒来

程序员 面试 算法 架构师

【得物技术】如何测试概率性事件-二项分布置信区间

得物技术

测试 开发 概率 得物 得物技术

别找了,这份PDF是目前Java程序员最全面的学习文档,没有之一

Java架构之路

Java 程序员 架构 面试 编程语言

四面美团大众点评归来,分享一下我总结的面试题及解析:并发+spring+分布式+jvm+缓存+数据库

Java架构之路

Java 程序员 架构 面试 编程语言

美团五面+滴滴四面,复盘总结117道面试题,大厂套路展露无遗

Java架构之路

Java 程序员 架构 面试 编程语言

《迅雷链精品课》第十三课:PBFT算法

迅雷链

区块链

关于自己的一个梦(控制)

Yuchen

情绪控制 心理 个人 控制感 自我思考

浅谈 WebRTC 的 Audio 在进入 Encoder 之前的处理流程

阿里云视频云

阿里云 音视频 WebRTC 音频技术 音频

够屌!看完“大牛程序员必修16课”足足让你超越80%Java面试者!赶紧冲!

比伯

Java 编程 程序员 架构 面试

游戏自动化测试——局内战斗

行者AI

测试

领域驱动落地实现

星际行者

DDD 领域驱动

普本开发三年,每天两小时面试备战,2个月后五面阿里定级P7

Java架构之路

Java 程序员 架构 面试 编程语言

架构师系列11 微服务架构的思考

桃花原记

LeetCode题解:42. 接雨水,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

出色的速度_研发效能_Chris Sims_InfoQ精选文章