抖音技术能力大揭密!钜惠大礼、深度体验,尽在火山引擎增长沙龙,就等你来! 立即报名>> 了解详情
写点什么

是否应该为 Bug 分配故事点数?

2011 年 1 月 30 日

在将一个项目迁移至 Scrum 时,经常会面对一份 Scrum 时代之前的缺陷列表。如何最好地处理这份缺陷列表呢?Mike Cohn 推荐向以前的缺陷分配故事点数,并用标准的 Scrum 流程在每个 Sprint 对他们排序:

我通常推荐对缺陷修复分配故事点数。…那样,我们不仅能看到团队真正能完成多少工作,也能通过历史数据看出每个 Sprint 中花在修复缺陷上的工作量。知道这些对团队和产品负责人都很有用。比如,假想一种情况,产品负责人考虑在接下来的 6 个 Sprint 中暂停缺陷修复,为的是在下一次发布中增加一个有用的新功能。如果我们知道团队的历史平均速率是 25,但是其中 5 点花在缺陷修复上,那我们就可以知道暂停下 6 个 Sprint 的缺陷修复工作可以增加 30(6*5)个点数的新功能。

除了 Mike Cohn 推荐的 Sprint 排序策略外,Charles Bradley 想要有更多的选择,让开发团队在 Sprint 之内修改缺陷。

…PO 可以排序缺陷的优先级使他们出现在 Sprint 中,开发团队也可以任意挑选他们认为需要修改的缺陷(不管缺陷是否在 Backlog 中),并且把它列为 Sprint 中的一个任务(他们不会为此得到速率中的点数,无论缺陷是否在 Backlog 中)。只有开发团队可以决定在一个 Sprint 中做多少产品 Backlog 条目,所以,如果他们决定花 Sprint 中 50% 的时间来修复 PO 没有排序的缺陷,那就只能这样。但这会清晰可见,因为他们的速率会减慢。

Jack Milunsky 在处理遗留缺陷和当前 Sprint 产生的缺陷之间做了一个重要的区分:

如果要向缺陷分配故事点数,那只能分配给遗留缺陷。这对 PO 绝对有好处,特别是质量。在 Sprint 中发现和解决的缺陷不应该被分配故事点数,因为这会影响速率,造成团队工作更快的假象。

如果是在 Scrum 实施中产生的,由于一些原因在 Sprint 验收中漏掉的缺陷,我们应该分配故事点数嘛?也就是说,在之前 Sprint 认为“完成”的用户故事中发现的缺陷应该怎么办?Ron Jeffries写到

如果由于某些原因一个故事已经完成,然后发现了一个缺陷,而那个故事已经被记录在速率中,那速率是虚高的。我们应该做什么?一种做法是从我们的进度条中去掉那些量,当缺陷被修复后再把那些量加回去。这可能更准确,但却不必要。 我们所要做的,只是计算下次做完的故事。花在修复缺陷的时间不算在内。我们的进度线从现在开始减少了一个故事。这条线虚高了一阵子,但现在又恢复了。

注意,修复错误的时间可能比构建一个出错故事的时间要短,或者长。无论如何,正确 完成故事所必须的时间,以及完成故事的数目,对那个故事来说会回归平衡。不需要估计,不需要解释为什么我们应该如对待好事般对待一个明显的浪费。

查看英文原文: Should You Assign Story Points To Bugs?

2011 年 1 月 30 日 00:381036
用户头像

发布了 24 篇内容, 共 41926 次阅读, 收获喜欢 0 次。

关注

评论

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

【面试必问】Spring中的事务管理详解

只喝纯牛奶

30岁的二三事

大唐小生

总结 个人感悟

什么是算法的大O表示法

码农神说

算法 时间复杂度 Java算法 大O

无意中参加了infoQ的一期活动,获得了所有奖项,哈哈哈。。。

诸葛小猿

InfoQ 奖品

这16道Redis最常见面试问题,你能回答上来几个?

火羊哥

Java

敏捷教练和Scrum Master - 敏捷转型中的两个重要角色的对比

Bob Jiang

Scrum 敏捷教练 ScrumMaster

nginx配置文件

张明森

刘华:事实证明,假敏捷都比瀑布优秀

刘华Kenneth

DevOps 敏捷 软件开发

JVM参数手册

Rayjun

JVM GC

金融行业区块链技术应用有了“安全符”

CECBC区块链专委会

F5G+X:给5G一个伙伴,给千行百业一个拥抱

脑极体

LeetCode题解:70. 爬楼梯,递归+哈希表,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

小伙伴想写个 IDEA 插件么?这些 API 了解一下!

程序员小航

IDEA idea插件 教程 API IntelliJ IDEA

微碳系:我心中的宇宙

Geek_116789

Dockerfile你值得拥有

北漂码农有话说

Docker

Scrum Master是否需要懂技术

Bob Jiang

敏捷 敏捷开发 敏捷教练 ScrumMaster

RRedis系列(八):缓存到底该如何做到高可用?

z小赵

redis 分布式系统 高并发系统设计

架构师训练营第九周学习总结

张明森

来了来了!Docker安装及运行原理

程序员的时光

Java Docker 微服务

JVM详解之:类的加载链接和初始化

程序那些事

Java JVM GC 加载

架构师训练营第九周作业

张明森

谈谈敏捷中的那些模式

Bob Jiang

敏捷 敏捷开发 敏捷教练

最牛逼的Java框架,没有之一

我是苞谷

新生必备清单:不想成为虚度青春的“小透明”,手机应该怎样选?

脑极体

今天你内卷了吗?

池建强

个人成长 内卷化

搭乘政策红利“快车” 欧科云链助力区块链人才培养

CECBC区块链专委会

“PlusToken”跨国网络传销案告破,涉案400亿元!

CECBC区块链专委会

dubbo-go 中使用 sentinel

apache/dubbo-go

golang dubbo sentinel

别在网上乱找代码了,找了一段代码突然爆了!!!

导导

Java

格一格你的情欲念

王进行

Docker 网络

北漂码农有话说

Docker

Study Go: From Zero to Hero

Study Go: From Zero to Hero

是否应该为Bug分配故事点数?-InfoQ