NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

在 Agile/Scrum 项目中处理 Bug

  • 2009-07-23
  • 本文字数:1481 字

    阅读完需:约 5 分钟

Bugs人们常问这样一个问题:Scrum 建议一个团队如何处理 bug?Bug 是应当放在产品 backlog 中还是在一个单独的 bug 清单中?如果 bug 在产品 backlog 中,那么是由产品所 有者来确定 bug 优先级还是 bug 自动成为最重要的项目?是否应该有一个单独的 bug 修复 sprint?

Pascal Maugeri 的团队 ,即使在改善了对“完成”和正在做“正确的测试 / 单元测试”的定义之后 ,他们还是能发现从 sprint 中逃逸的 bug 。他问如何解决这个问题。

George Dinwiddie 敏捷教练, 建议团队在回顾时提出这个问题——他曾与只有微乎其微的bug 率的团队共事。 Mark Levison (本文记 者)建议: “我会问为什么没有在发现 bug 的 sprint 中修复它们?我的重点是减少发现(然后修正)问题所花费的 时间。毕竟,如果我们在一个 sprint 的故事中发现了一个 bug,那么产品负责人不应该同意该故事已经完成。此外, 早期发现 bug 将使人们更容易修复,因为开发团队的脑海中对相关代码依然有清晰的印象。

Jim Schiel Artisan 咨询 公司的认证 Scrum 训练师,认为只需把 bug 放在产品 backlog 中,由产品负责人确定优先级, “除非修复起来很简单,在这种情况下,你可以在 sprint 的规划会议中确定 解决方案并且在 sprint 中实施该方案。”

Bruce Kantelis 说,这一 切都与发展一种文化有关:“我们会把缺陷分类。让用户工作陷于停滞的 bug 会被设定为头等优先级,并且马上得 到注意,开发团队会中断当前工作来修复程序并打补丁。其他的缺陷都成为故事,放在下一个 sprint 的任务列表顶部 。随着时间的推移,团队认识到与质量相关的度量和行为真的会影响他们的日常工作,他们就会尽量减少缺陷及其 带来的干扰。”

Mike Cohn 提醒我们, 对于在 sprint 中发现的 bug,最好的处理方法是在整个团队房间里面大声喊出这个 bug。如果做不到这一点,可以用 一张卡片来描述该 bug 并添加到任务板上。然而对于在 sprint 中漏掉的 bug,他宁愿将它们添加到产品 backlog 中,由 产品负责人考虑它们的优先级。许多现有的团队仍然有 bug 数据库,他们还得继续使用该数据库。在这种情况下, 他建议保持一个独立的 bug backlog,产品负责人安排各个队列中任务的优先级:例如,头两个条目来自产品 backlog,接下来的条目是 bug,最终两个条目来自 backlog。

Kev lin Henney 不太认同这种做法,他认为这近乎等同于将 bug 看作会产生负面价值的特性:

如果缺陷被视为具有负面价值的特性,它们就会像特性一样 被管理。开发团队会把划分了优先级的 bug 存储起来,像对待用户故事一样对待 bug,把修复 bug 的工作外包,等等 做法都会冒出来。虽然这些做法对于处于过渡期或者危机的项目来说有些作用,但并不是一个应予以鼓励的长期观 点。毕竟,正如“敏捷软件开发宣言”所说: “可工作的软件是工作进展的首要度量方式。”一个功能特性中已经 存在已知的缺陷,还要把它看做是已完成和可工作的,这样的做法可有点不太诚实。——“是的,这个功能已经完 成了……但还有一些 bug。”

Ron Jeffries 认为:在功能特性开发结束后再修复其中的缺陷,这样做的代价总是比在刚发现的时候就去修复要昂贵。

所以,如果我们错误地编写软件然后修复它,客户会花费更多金钱:除了给付应有的,她还得为 bug 的修复 付出额外代价。 她真的应该责备我们。我愿意鼓励客户把所有的缺陷区分优先次序,这能让客户体验到团队不恰当的软件过 程所带来的痛苦。我确信客户会表达那种痛苦,从而使得团队明白把事情做好是更好的方式。

你总是避免 bug 么?将 bug 放在产品 backlog 中?你发现 Kevlin 指出的问题了么?

查看英文原文: Coping with Bugs on an Agile/Scrum Project

2009-07-23 08:062636
用户头像

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

关注

评论

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

知识图谱与大模型相结合的3种方法,1+1>2

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 大语言模型

VMware Workstation 17安装教程之设置系统模式

小齐写代码

AI PC的时代,英特尔和联想、爱奇艺是怎样玩转AI的?

E科讯

DAPP链上质押挖矿分红开发原理

西安链酷科技

区块链 dapp 去中心化 挖矿

Go的命令行工具开发:使用Cobra库

这我可不懂

cobra go语言

购买小间距LED显示屏需要考虑8个方面

Dylan

领域 LED LED显示屏 实用指南

「燃情大促,年终钜惠」,家人们这一波可以冲!

融云 RongCloud

活动 服务 IM RTC 融云

荣耀推送服务 - 发送下行消息能力指导

荣耀开发者服务平台

基础服务 实时推送 API 接口 荣耀开发者服务平台 开放能力

流行的矿机系统定制开发 | IPFS虚拟矿机源码开发 | 矿机模式挖矿搭建功能开发

V\TG【ch3nguang】

AI 革命:最佳 txt 转纹理工具

3D建模设计

AI自动纹理 AI纹理

重磅更新!Sermant 1.2.0 release版本新特性速览

华为云开发者联盟

开源 后端 华为云 华为云开发者联盟

科技企业正成为外交名片

TE智库

新能源

去中心化交易所开发

西安链酷科技

区块链 去中心化 交易所 合约 合约数字货币

大模型 | 今天聊聊大语言模型幻觉(AI Hallucinations)

澳鹏Appen

数据标注 大模型 生成式AI LLM 大模型幻觉

利用Docker容器化构建可移植的分布式应用程序

互联网工科生

Docker 容器化

混沌工程稳态假说

腾讯云混沌演练平台

混沌工程 稳定性保障

Luminar Neo(超强AI图像编辑器)特别版下载mac/win

影影绰绰一往直前

Luminar Neo破解版 Luminar Neo下载 Luminar Neo mac

稳定扩散的高分辨率图像合成

3D建模设计

AI自动纹理 稳定扩散

GameFi游戏NFT链游开发系统搭建技术

西安链酷科技

区块链 dapp 去中心化 链游开发

速谈Beyond Compare使用的六个步骤

晴雯哥

7 款用于训练 AI 模型的合成数据工具

3D建模设计

人工智能模型 合成数据 UnrealSynth

服务器大揭秘:美国服务器为何成为热门选项?

一只扑棱蛾子

美国服务器

DeFi链上金融借贷系统开发 | DAPP区块链挖矿系统搭建

V\TG【ch3nguang】

UltraEdit for mac(文本编辑器) v21.00.0.12中文完整版

mac

UltraEdit 文本编辑器 苹果mac Windows软件

容器安全和安全运行时的重要性

Geek_2d6073

PDF编辑器:Acrobat Pro DC 2023 「Mac」

彩云

PDF编辑 Acrobat Pro DC 2023

Java应用程序性能开发工具:JProfiler 14 「Mac」附 注册码

彩云

java开发工具 JProfiler 14

堪比文件传输助手!解决文本、图片、视频、音乐跨设备同步难题!

彭宏豪95

软件推荐 文件传输 数据同步 在线白板 浏览器插件

如何调用API获取你想要的数据

Noah

混沌工程GameDay

腾讯云混沌演练平台

混沌工程 GameDay 稳定性建设 混沌演练

终身学习支持非结构化场景 | KubeEdge-Ianvs v0.2 发布

华为云原生团队

云计算 容器 云原生 边缘计算 kubeedge

在Agile/Scrum项目中处理Bug_研发效能_Mark Levison_InfoQ精选文章