在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

用户故事点数的依据是复杂度还是时间?

  • 2010-07-08
  • 本文字数:1146 字

    阅读完需:约 4 分钟

很多敏捷团队将故事点和复杂度点作为同义词来使用,他们相信这比使用“小时”更好,因为这些点数是基于复杂度和相对大小的 Mike Cohn 则表示,使用故事点来描述特性的开发复杂度是不对的,应该使用工作量。

Mike 提到:

我发现太多的团队认为,故事点应该基于用户故事或特性的复杂度,而不是开发所需的工作量。这些团队通常将“故事点”定义为“复杂度点”,这看起来不错,可能还更精确,但却是错误的。故事点与特性的复杂度无关,而与开发特性所花费的工作量有关。

Mike 给出了一个有趣的例子,他比较了舔 1000 枚邮票和做一个简单的脑外科手术。Mike 认为,抛开复杂度上显而易见的不同,这两件事应该有相同的故事点数,因为它们需要花费相同的时间。

Scrum Development group 上有一个类似的讨论.Adam Sroka 提到,为了能够比较稳定的测量 velocity,团队需要测量的数据能够接近所耗费的时间。因此,故事应该基于相对工作量,而工作量应与花费的时间有关。

但是,这并不意味着应该以小时为单位进行估算。许多人已经发现以小时为单位的估算是一种浪费,而且也不准确。 Mark Levison 说到:

估算本身就是浪费。使用小时进行估算则更加浪费,人们花费几个小时去讨论细枝末节,还不如赶快开始工作。虽然使用点数进行估算也是浪费,但为了可以使项目的进度更加易于预测和透明,用户故事应该大致上有相同的大小,再加上一定的差异。对于大多数(成熟或者不成熟的)团队来说,这并不容易,因此他们需要故事点。

Jeff Sutherland 也比较了故事点与基于小时的估算。Jeff 说:

估算故事点比小时更快速、更好也更经济,高效团队会完全弃用任何以小时为单位的估算,因为他们认为这是一种浪费,只会拖慢他们。

Mark Kilby 提出,应该确保那些新接触敏捷的人不会假设故事点=工作量=小时。Mark 认为,在决定故事点时,虽然工作量很重要,但还需要充分考虑不确定性。Mike 则同意点数和小时之间不存在等价关系

Mike 还说

或许我们可说,点数是工作量、风险和不确定性的函数,SP=f(E,R,U)。(如果你愿意,也可以把其中一个称为复杂度,但这不重要。)重要的是,点数是关于工作量的估算。风险、不确定性、复杂度、未知因素以及其他相关的事,仅当他们会影响工作量时才应被包含进去。如果某些事确实很复杂,但却不会影响实现特性所花费的时间,那么复杂性就不应该对估算产生影响-这才是故事点。

因此,故事点应该基于工作量,而工作量应该考虑风险、复杂度、未知因素等等。关键是明白故事点要回答的问题。就像 Mike 说的:

估算的目的是回答如“什么时候才能完成?”或者“到某天为止我们可以得到多少功能?”这样的问题。如果这确实是真的,那么不管用什么单位、什么途径进行估算,都必须是与时间相关的。

点击查看相关的讨论。

查看英文原文: Do Story Points Relate to Complexity or Time?

2010-07-08 05:122929
用户头像

发布了 63 篇内容, 共 28.1 次阅读, 收获喜欢 1 次。

关注

评论

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

ARTS|Week 01 (2020第22周)

MiracleWong

算法 写作 ARTS 打卡计划

云上基础产品之内容分发网络

韩超

CDN 公有云 内容分发网络

RocketMQ - 如何实现事务消息

Java收录阁

RocketMQ

除了直接看余额,谁更有钱还能怎么比(二)

石君

去中心 零知识证明

Go: 使用GODEBUG改善Goroutine的使用

陈思敏捷

debug 协程 Go 语言

ARTS Week2

丽子

JMM的前世今生

fkc_zyk

重排序 volatile happens-before JMM cpu

谈谈控制感(12):选择什么样的工作

史方远

读书笔记 个人成长 随笔杂谈

程序员的晚餐 | 5 月 30 日 入梅天,来一盆小龙虾

清远

美食

云上基础产品之虚拟私有云

韩超

公有云 VPC 虚拟私有云

一款霸榜 GitHub 的开源 Linux 资源监视器!

JackTian

GitHub Linux 开源 bashtop 资源监视器

直面一个复杂世界

史方远

读书笔记 个人成长 随笔杂谈

用大数据分析了一线城市1000多份岗位招聘需求,告诉你如何科学找工作

程序员柠檬

Python 数据分析

带你学够浪:Go语言基础系列-环境配置和 Hello world

程序员柠檬

后台开发 Go 语言

Prometheus 2.18.0 新特性

耳东@Erdong

Prometheus

Linux命令-df

一周思进

关于 Windows 10 2020 年 5 月更新

FeiLong

云上基础产品之对象存储

韩超

对象存储 公有云 S3

N皇后问题

孙苏勇

算法 DFS 深度优先搜索

架构之路

强哥

极客大学架构师训练营

戒掉手机吧

鼎玉谷

人生 手机 时间 浪费 控制

工作那么久,你还具备学习能力么?

punkboy

学习 程序员

是什么奠定了架构师的职场地位?

刁架构

极客大学架构师训练营

云上基础产品之负载均衡

韩超

负载均衡 公有云

遇事不决,请先 「搜索」

小匚

个人成长 职场 随笔杂谈

你想活出怎样的人生

Janenesome

读书笔记 思考

程序猿邂逅相亲妹,默默无语两行泪

码农神说

程序员 相亲

带你学够浪:Go语言基础系列 - 8分钟学基础语法

程序员柠檬

程序员 后台开发 Go 语言

Python 进阶与核心技术 dict & set

Bonaparte

Python 极客时间

【摘】Git-从零单排 02期

卡尔

git 原理 开发工具 工具链

浅说Docker基础知识与核心原理

岿然独存5

Docker 软件 Go 语言

用户故事点数的依据是复杂度还是时间?_研发效能_Vikas Hazrati_InfoQ精选文章