写点什么

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

  • 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:591549
用户头像

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

关注

评论

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

让GPT学会使用工具,拓展技能

蔡超

GPT ChatGPT LLM GPT-4 #LangChain

Django笔记十四之统计总数、最新纪录和空值判断等功能

Hunter熊

Python django like contains startwith

linux脚本定义一个二维数组

linux大本营

Linux 脚本 二维数组

我的Gopher成长之路

闫同学

三周年连更

音视频八股文(3)--ffmpeg常见命令(2)

福大大架构师每日一题

音视频 ffmpeg

如何在lua中设置计时器

linux大本营

lua 协程 Coroutine 计时器

Android WebView使用与JS交互

松柏不怕雪

webview js java; Android; JS Bridge

Reactive响应式编程系列:解密Lettuce如何实现响应式

大步流星

Reactive lettuce 响应式编程系列 Lettuce如何实现响应式 Redis响应式

dbtemplate 是什么

weigeonlyyou

mybatis ORM 嵌入式应用 API Gateway 嵌入式设备

职场进阶必须拥有的4种能力,你掌握了吗?

Jack

深度学习基础入门篇[六(1)]:模型调优:注意力机制[多头注意力、自注意力],正则化【L1、L2,Dropout,Drop Connect】等

汀丶人工智能

人工智能 机器学习 深度学习 正则化 注意力机制

2022-04-22:给你两个正整数数组 nums 和 target ,两个数组长度相等。 在一次操作中,你可以选择两个 不同 的下标 i 和 j , 其中 0 <= i, j < nums.leng

福大大架构师每日一题

Go 算法 rust

dpdk l2fwd需要配置哪些参数

linux大本营

DPDK

我的开源项目与开源经历分享

秦少卫

GitHub 开源 前端 Fabric.js 图片编辑器

挑战 30 天学完 Python:Day12 模块Module

MegaQi

挑战30天学完Python 三周年连更

面对当下火爆的AIGC,我们可以做些什么? | 社区征文

AXYZdong

三周年征文

Spring 的 IoC(控制反转)

HoneyMoose

iOS MachineLearning 系列(3)—— 静态图像分析之区域识别

珲少

设计一个大规模搜索引擎,大概有1000台服务器

linux大本营

搜索引擎 负载均衡 存储 分布式,

什么是前端开发领域的 Cumulative Layout Shift 问题

汪子熙

前端开发 angular web开发 web开发基础 三周年连更

linux脚本执行可变参数任务

linux大本营

Linux 脚本

Java 把 Map 的值(Value)转换为 Array, List 或 Set

HoneyMoose

测试CLIP zero-shot learning | 深度学习

AIWeker

深度学习 多模态 CLIP 三周年连更

Mysql主从复制

乌龟哥哥

三周年连更

ubuntu安装x11 forword,并做好配置

linux大本营

Linux ubuntu

为什么要理解OpenAI和GPT-4?LexFridman谈对话Sam Altman开场白

B Impact

企业微信接入系列-上传临时素材

六月的雨在InfoQ

企业微信 三周年连更 企业微信接入 上传临时素材

时间管理:不要让时间偷走你的饼干

蔡农曰

程序员 生活 时间管理

在OpenHarmony 开发者大会2023,听见百业同鸣

脑极体

鸿蒙

深度学习基础入门篇[七]:常用归一化算法、层次归一化算法、归一化和标准化区别于联系、应用案例场景分析。

汀丶人工智能

人工智能 机器学习 深度学习 归一化算法

一文带你看通透,MySQL事务ACID四大特性实现原理

架构精进之路

MySQL 数据库 后端 事务 三周年连更

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