FCon7折倒计时最后一周:日程已上线70%!查看详情>>> 了解详情
写点什么

Sprint 规划:故事点数 vs. 小时数

  • 2009-09-23
  • 本文字数:1869 字

    阅读完需:约 6 分钟

长久以来,对于 sprint 规划中应该使用故事点数还是小时数,一直有着不分胜负的争论。双方阵营似乎都有一系列理由,支持人们采纳自己的方式而不是对方的做法。Mike Cohn 坚决支持将用户故事拆散成任务,然后再用小时数估算。而 Jeff Sutherland 提出:有些跟他一起工作过的、非常出色的团队一直在使用故事点数,并用其绘制燃尽图。很多敏捷资深人士都表达了自己的观点,说明自己喜欢哪种方式及其原因。

在 Mike 看来,他不喜欢在 spring 规划中使用故事点数,因为故事点数更适合用作长期度量,对于短时间规划没有帮助。他觉得:

假设有一支棒球队已经进入赛季中段。他们在已经进行过的 41 场比赛中,场均得分 98 分。他们可以说:“我们在剩下的赛季里大概每场平均也能得到 98 分。”但是他们不会在某场比赛前这样说:“我们之前的平均得分是 98 分,所以今晚我们会得到 98 分。” 这就是为什么我说速度可以用作长期预测,而不适合进行短期规划。

Tara Lee Whitaker不同意故事点数可以用作短期度量。在她看来:

如果每个故事都足够小,并因此可以“准确”估算,而且可测试性足够好,人们可以据之创建用以确认验收的测试,那么把故事拆成更小的部分,或是重新以小时数估算之,这样做也就没多大好处了。

对于以小时数估算故事这样的方式,她非常担忧:

当我们开始讨论将故事拆分成小时任务时,我主要担心的是:我们无法从这样做得到的早期警告信号中获益,并且当我们发现完成一个故事所需时间超过预期时,那已经太晚了。

Jim Schiel 提出:也许有可能以故事点数和小时数两种方式来做 sprint 规划。然而,用小时估算的回报也许会让这种做法看起来不值得这么做。他认为:

现在咱们来看这样一个 Scrum 团队,他们承诺要完成 10 个 2 点的产品 Backlog 条目。如果他们能够全部完成,他们在这个 sprint 中的速度就会达到 20 个故事点数。下一个 sprint,他们大概会尝试再次完成 20 个故事点数。此后的 sprint 的速度多少都会受上个 sprint 的影响。这种关系会一个一个 sprint 传下去,团队会得到一个大概的速度,在 18 与 22 之间。 你能用小时数来达到同样的效果么?可以,但是要想做好就得付出非常多的成本。你到底想为什么买单?是完整的、可用的软件,还是非常准确的估算?

Jack Milunsky 进一步阐述了故事点数的意义,他提到了下列优势:

  • 通用度量——故事点数是整个团队中通用的度量方式,不会因为经验、个人技术水平或团队某个人而受到影响。
  • 稳定状态——等到第三个或第四个 sprint 过后,团队的产出就会达到稳定状态,产品负责人也更易于把稳定的故事点数填写到 backlog 列表中。不会多,也不会少。
  • 鼓舞士气——一旦团队达到稳定状态,业务人员就能相信技术团队的能力,这能让团队士气高昂、充满自信。

Tomas Björkholm 提到选择故事点数方式的下列原因:

  • 原因之一:估算是为了描述故事的大小,而不是要知道实现这个故事需要多久。
  • 原因之二:理想化的人日作为度量标准,它会随时间推移根据团队的表现发生变化。故事点数相对稳定。
  • 原因之三:已经证明,相对估算要比绝对而且理想化的人日正确性更高;同时,由于人日是时间度量单位,尽管可以用其做出相对估算,但还是很容易偏向绝对的使用方式。

Tomas 补充道:

Staffan Nöteberg 在关于 Pomodoro 技术的演讲中提到:大多数人对于按实际时间估算都感到不舒服。由此我想到:不舒服的人,工作效率都不高;因此,按照天估算就会导致工作效率不高。

Mike Cohn 提及:在故事点数和工作小时之间没有线性的对应关系。在他看来,每个故事的大小都会基于标准差有个分布范围。

一个点数等同于一个分布范围,等同于 _x_ 和某个标准差的结果。同样的,2 点的故事也可以依此类推……

因此,人们不能告诉项目干系人:按照以故事点数方式计算的速度,团队能在某个确定的时间完成任务。一定是个时间范围:

这个范围可是是日期范围,比如“我们可以完成你的产品 backlog 中所有的条目,但是完成时间大概在 5 月或者 6 月。”或者可以是功能范围,“我们可以在 5 月 20 号完成,你也是这么要求的,不过我们到时会完成 120 个到 140 个点数,也就是在这两个产品 backlog 条目之间。”

Mike Cohn 还提供另一种方式,它可能符合精益原则,名为“承诺驱动的sprint 规划 ”。使用这种方法,团队不会讨论故事点数或是速度。他们就是从backlog 中取出优先级高的条目,根据各自的能力,把任务分配下去,按小时估算,并实现自己的承诺。

因此,这两种用作sprint 规划的技巧各有优劣。到最后,可能还要看团队更习惯哪一种做法。您喜欢哪一种呢?原因何在?

查看英文原文: Sprint Planning: Story Points Versus Hours

2009-09-23 09:132581
用户头像

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

关注

评论

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

MobPush:Android客户端SDK厂商通道回执配置指南

MobTech袤博科技

程序员 前端 sdk 客户端开发 Andrdoid

Nautilus Chain NautDID NFT 将上主网,Layer3 数字身份时代开启

EOSdreamer111

CodeArts Check系统规则集还不够?带你体验如何创建、启用自定义规则集

华为云PaaS服务小智

云计算 开发者 代码质量 华为云 代码检查

红队攻防之JS攻防

权说安全

网络攻防

联通 Flink 实时计算平台化运维实践

Apache Flink

大数据 flink 实时计算

虚拟ECU:助力汽车故障诊断

DevOps和数字孪生

软件定义汽车 虚拟ECU

新一代iPaaS全域融合集成平台ROMA Connect HDC.Cloud 2023内容值得再读!

华为云PaaS服务小智

华为 华为云 华为开发者大会2023

大佬带你体验华为云代码检查服务CodeArts Check

华为云PaaS服务小智

云计算 开发者 软件开发 华为云

在 Go 中如何编写测试代码

江湖十年

golang 测试 后端 单元测试 go语言

什么是“软件定义汽车”

DevOps和数字孪生

软件定义汽车 汽车仿真

虚拟ECU实践:汽车发动机控制器仿真

DevOps和数字孪生

软件定义汽车 虚拟ECU

Nautilus Chain NautDID NFT 将上主网,Layer3 数字身份时代开启

股市老人

Python如何获取页面上某个元素指定区域的html源码?

Python 源码 HTML5, CSS3

测试工程师如何做到初级测试管理(个人思考)?

团队管理 测试 测试管理 测试部门职责

华为云CodeArts Check IDE插件体验之旅

华为云PaaS服务小智

云计算 软件开发 华为云 华为开发者大会2023 代码检查

阿里云服务器安装宝塔面板教程。

百度搜索:蓝易云

云计算 Linux 运维 云服务器 ECS

来自内部有很多需求,如何协调处理这些需求?

Bonaparte

产品 产品设计 产品思维 产品需求 内部需求

Cnetos7编译安装Tomcat教程。

百度搜索:蓝易云

云计算 tomcat Linux centos 运维

河南理工大学高校专区入驻飞桨AI Studio,优质教育资源等你来学!

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

华为云ROMA Connect 的智能集成 – 现代企业数字化转型的新利器

华为云PaaS服务小智

云计算 华为云 华为开发者大会

当代数据库与数据管理技术的先驱者之一 Mohan 教授指导 IoTDB 时序数据库 Timecho 研发团队

Apache IoTDB

IoTDB Apache IoTDB

JMeter笔记15 | JMeter场景运行

单元测试 Jmeter 性能测试 自动化测试 接口测试

享受云原生技术红利,大数据不应该被落下

智领云科技

云原生 Kubernetes 集群 云原生大数据平台 智领云

每日站会如此简单,为什么总是开不好?

敏捷开发

项目管理 Scrum 敏捷开发 每日站会

少年侠客【InsCode Stable Diffusion美图活动一期】 | 社区征文

度假的小鱼

Stable Diffusion 年中技术盘点

JMeter笔记14 | JMeter场景设计和设置

单元测试 Jmeter 性能测试 自动化测试 接口测试

区块链第一代系统——比特币概念及业务流程

TiAmo

比特币 区块链

Flink 在新能源场站运维的应用

Apache Flink

大数据 flink 实时计算

Linux系统DolphinScheduler3.1.5安装部署教程。

百度搜索:蓝易云

云计算 Linux 运维 服务器 DolphinScheduler

Cnetos7编译安装Pure-Ftpd教程。

百度搜索:蓝易云

云计算 Linux centos 运维 Pure-FTPd

“数字孪生”:为什么要仿真嵌入式系统?

DevOps和数字孪生

数字孪生 嵌入式系统仿真

  • 扫码添加小助手
    领取最新资料包
Sprint规划:故事点数 vs. 小时数_研发效能_Vikas Hazrati_InfoQ精选文章