2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

我们应该把没有通过测试的故事回退到“开发”状态吗?

  • 2010-12-29
  • 本文字数:932 字

    阅读完需:约 3 分钟

Eric Willeke 在思考:任务看板上的那些没有通过测试的用户故事,该怎么处理呢?应该把它回退到“开发”状态,还是保留“测试中”的状态?他提出了一些不同的方案:

  • 一个方法是把开发和测试状态合并为“完成”状态,这样就不存在状态变化了。团队通过协作,分解出一系列小到能分配给单个开发人员 / 测试人员的子任务,但直到每个人都同意所有子任务都完成了,这个用户故事才算完成。
  • 另外一种方法是把故事移到测试状态,需要的话再移回去,如此反复。如果这就是你日常工作中的真实情况,那么你应该以此建立模型。
  • 还有一种方法是在某项上放置一个“缺陷”标志(或者缺陷卡片),但是在测试过程中当开发人员来帮忙修复缺陷的时候,标志还会一直放在那里,直到所有问题都被修复。如果这种情况更符合你的实际工作,你更应该以这种方式建立模型。

Thierry Henrio 提出了不同的方案,他从精益制造行业借鉴过来了“红卡箱”(red bins) 的概念:

我是这么做的: - 每个状态栏都准备一个专用的红卡箱, 放在看板的底部靠上方

  • 当某个状态栏的任务出现了问题,就把红卡箱移过去
  • 我们有 30 分钟解决问题,消灭红卡箱

这套机制对于鼓励团队高效处理问题还是很有效的。但当问题出现在上游工序,那么 30 分钟就不够了,这种方法的效果也大打折扣。

专用的红卡箱相比红色标志,有更加强烈的可视化效果。

Ron Jeffries 举了一个例子,解释了在任务板上,什么时候任务卡片应该流转回上游工序

[…] 如果任务又回到了原来的那位本应该搞定它的负责人的手上,那么把任务回退到前一步工序是一个不错的建立工作模型的方法。

不管你用哪种方法, Adam Sroka 认为你的看板应该反映现实情况,而不是一些理想状态:

我们要为正在采用的步骤建立模型,而不是去给设想中的步骤建模,这一观点是很微妙的,却也非常重要。对我来说,这是今年夏天我参加了 David 主讲的研讨会后,对看板最深刻的理解。可视化你在做的事情,随后,引入清晰的 WIP 限制,不断改进,等等。 对我而言,看板很适用。我也有 XP 的背景,我把流动可视化(visualizing flow) 看成一种委婉的引入改变的方式。我过去常常在第一天就想做很多改变,现在我意识到,我可以通过帮助大家诚实地面对他们正在做的事情来轻松地做到这一点。

查看英文原文: Should We Move a Failed Story Back?

2010-12-29 09:591619
用户头像

发布了 114 篇内容, 共 36.4 次阅读, 收获喜欢 2 次。

关注

评论

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

python 函数详解

若尘

函数编程 函数

kubernetes ceph-csi分析-目录导航

良凯尔

Kubernetes 源码分析 Ceph CSI Kubernetes Plugin

Golang Map 和字符串

escray

学习 极客时间 Go 语言 4月日更

Go Functions

escray

学习 极客时间 Go 语言 4月日更

因为这几个TypeScript代码的坏习惯,同事被罚了500块

华为云开发者联盟

typescript 运算符 代码 null strict

边缘计算是流行词还是风口?开发者怎样选开源项目?

华为云开发者联盟

开源 开发者 5G 边缘计算 EdgeGallery 社区

这才是大数据的正确打开方式

华为云开发者联盟

大数据 数据仓库 云原生 数据治理 灾备

LitmusChaos: K8s上的混沌工程框架

混沌工程实践

k8s 混沌工程 litmuschaos 实践框架 故障实验库

第十一周总结

技术实践丨列存表并发更新时的锁等待问题原理

华为云开发者联盟

事务 update 元组 列存表

Play with Go

Rayjun

教程 Go 语言

Spring Bean创建过程的Hook

邱学喆

BeanPostProcessor @Autowired注入原理 @Resource注入原理 @Value注入原理

模块二作业

求索

架构实战营

安卓rxjava合并多个请求,我的阿里手淘面试经历分享,面试必会

欢喜学安卓

android 程序员 面试 移动开发

external-provisioner源码分析(1)-主体处理逻辑分析

良凯尔

Kubernetes 源码分析 Ceph CSI

第 0 期架构训练营模块 2 作业

架构实战营

还有人搞不懂数据仓库与数据库的区别?

大数据技术指南

数据仓库 4月日更

基于crudapi增删改查接口后端Java SDK二次开发之环境搭建(一)

crudapi

Java API sdk crud crudapi

external-provisioner源码分析(2)-main方法与Leader选举分析

良凯尔

Kubernetes 源码分析 Ceph CSI

2021互联网大厂高频面试专题500道:并发编程/Spring/MyBatis(附答案解析)

比伯

Java 编程 架构 程序人生 计算机

阿里P8重磅总结:看完别说不会了哦,SpringBoot「完结篇」

比伯

Java 编程 程序人生 计算机 架构】

架构师实战营 模块二作业(微信朋友圈高性能复杂度架构分析)

代廉洁

架构实战营

架构实战营 模块二作业

fazinter

架构实战营

MySQL存储过程的异常处理

Sakura

4月日更

架構實戰營 - 模塊 2 作業

Frank Yang

架构实战营

安卓内存监控悬浮窗,2021Android面试心得,全套教学资料

欢喜学安卓

android 程序员 面试 移动开发

架构实战营模块二作业

日照时间长

架构实战营

数据脱敏:数仓安全隐私保护见真招儿

华为云开发者联盟

数据仓库 加密 隐私保护 GaussDB(DWS) 数据脱敏

k8s通过ceph-csi接入存储的概要分析

良凯尔

Kubernetes 源码分析 Ceph CSI

external-provisioner源码分析(3)-组件启动参数分析

良凯尔

Kubernetes 源码分析 Ceph CSI

MySQL 索引概要

大海

MySQL 索引

我们应该把没有通过测试的故事回退到“开发”状态吗?_研发效能_Dan Puckett_InfoQ精选文章