QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

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

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

关注

评论

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

深入了解 Spring篇之BeanDefinition结构

邱学喆

对象初始化 BeanDefinition 对象创建 属性注入 对象检索

MPLS网络向SRv6网络演进

穿过生命散发芬芳

8月月更 SRv6

3 款非常实用的 Node.js 版本管理工具

Geek_z9ygea

JavaScript node.js 前端

模块九(电商秒杀系统)

Geek_701557

低成本、大容量、高交互…Polkadot 引领 GameFi 实现新突破

One Block Community

区块链

SpringBoot实战:国际化组件MessageSource的执行逻辑与源码

看山

源码 spring源码 MessageSource Spring原理 SpringBoot实战

Python爬虫eval混淆,爬虫进阶实战系列

梦想橡皮擦

Python 爬虫 8月月更

Python 教程之输入输出(7)—— 如何在 Python 中不使用换行符进行打印?

海拥(haiyong.site)

Python 8月月更

一文带你搞懂OAuth2.0

闫同学

Go 后端 OAuth 2.0

Sass.vs.Less | 简介

Jason199

SaaS 8月月更

云原生时代下,微服务体系与 Serverless 架构的发展、治理与融合

阿里巴巴云原生

阿里云 Serverless 微服务 云原生

开源一夏 | 对于jQuery选择器和动画效果停止动画的实战心得【前端jQuery框架】

恒山其若陋兮

开源 8月月更

Spring(四、配置数据源)

开源 MySQ Druid 8月月更

OpenHarmony像素单位

坚果

开源 OpenHarmony 8月月更

C++对象模型和this指针实例分析(二)

CtrlX

c++ 后端 面向对象思想 热门活动 8月月更

MySQL 指令

武师叔

8月月更

企业文化如何治好“企业内耗”?

涛哥 数字产品和业务架构

企业文化 企业架构

Java+EasyExcel实现文件导入导出

Bug终结者

Java 8月月更

leetcode 232. Implement Queue using Stacks 用栈实现队列(简单)

okokabcd

LeetCode 数据结构与算法 栈和队列

毕业总结

Geek_701557

【LeetCode】算术三元组的数目Java题解

Albert

LeetCode 8月月更

rocketmq整合SpringCloudStream

急需上岸的小谢

8月月更

Go-Excelize API源码阅读(三)——OpenReader()

Regan Yue

Go 开源 源码分析 8月日更 8月月更

测试也应该具备的项目管理能力

老张

项目管理 质量保障

即将开幕!阿里云飞天技术峰会邀您一同探秘云原生最佳实践

阿里巴巴云原生

阿里云 云原生 阿里云飞天技术峰会

Ingress Nginx 接连披露高危安全漏洞,是否有更好的选择?

阿里巴巴云原生

阿里云 Kubernetes 云原生 ingress

基于消息中间件开发的优点

阿泽🧸

消息中间件 8月月更

深入浅出边缘云 | 6. 监控与遥测

俞凡

架构 边缘计算 网络 深入浅出边缘云

详解中断系统

timerring

8月月更

《编程的原则》读书笔记(一):编程的前提和准则

Chares

软件工程 软件开发 程序开发 编程原理

关于架构的认知

yuexin_tech

架构

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