写点什么

看板工作流程是否敏捷呢?

  • 2009-05-13
  • 本文字数:1349 字

    阅读完需:约 4 分钟

Karl Scotland 讨论研究了看板系统中的工作流程和阶段跟敏捷思想中跨功能协作团队是否互相违背,他指出在看板中的阶段看似瀑布思想中的阶段,接下来的讨论澄清了看板中的阶段不一定是"手递手"方式的工作传递,而且还有其他的见解。

Karl 先剖析了貌似瀑布开发过程的看板系统:

分析 -> 构建 -> 测试 -> 发布

之后他分析了一般 Scrum 工作板,如下:

未开始 -> 开发中 -> 完成

Karl 然后找寻不同方法让这工作板透露更多关于工作流程的情况,在很多环境里,划上"完成"的功能不一定马上发布,或部署上生产环境,在这些情况下,在工作板上 分辨出"可准备发布"以及"已发布"很有作用,如果工作板上显示出"开发中"囤积等待发布,业务人员可能考虑例如以持续部署(Continuous Deployment)来优化开发流程。

Karl 进一步去看如何细分工作板上的阶段,他提出了一些更明确指出工作状态的名字:

培育(Incubate) -> 阐明(Illustrate) -> 实例化(Instantiate) -> 示范(Demonstrate) -> 偿付(Liquidate)

Robin Dymon 后来指出单是改名字是不会改变行为,但更改了名字是更大的方案中的一部份

更好的方法应该是以跨功能团队来简化开发过程,把测验放到在开发过程的前端,让每个人去负责产品质量,包括顾客,在这情况下我会用不同的名字,因为过程中每一步骤没有比团队如何合作付运功能更为重要。

Keith Braitwaite 有以下见解:

我认为如看板开发过程般以线性、关卡、"手递手"方式过程、没打算重做工作的诠释让很多人抗拒。

这观察乎合敏捷思想中寻求避免"手递手"方式的过程以及消除或者缩短序列式操作,以至协调更紧密的回馈,例如測試驅動開發有以下的阶段:

测试 -> 编写代码 -> 重构

实际上,由于开发人员很快地进行这周期,如果在工作板上纪录那么短的周期会是很冗长的工作。

从精益的角度,更重要的是让功能持续地"拉"(pull)进系统中(持续流动),而不是把工作囤积县后一次过完成,传统瀑布开发就是"囤积然后排队"方式的例子,所有的需求过程以批次方式进行,让需求囤积起来直至设计开始,同样地,设计工作完成后才写代码,如此类推。

在一个持续流系统,功能从工作列表中抽出然后持续工作直至完成,如果开发中有任何能分别的阶段,看板就可以分办出当中"开发中"的工作,过程开进就可以针对这些瓶颈来保持工作在系统中有效地持续流动。

David Draper 指出:

一个功能经过很多阶段,由概念到实际部处,使用以至替机构增值,在看板中的工作流程没有强制要求如"手递手"方式过渡每个阶段,同样地也没有要求团队不能以协作方式确保该功能在每个阶段都顺利过渡。

Vasco Duarte 认为这讨论太集中在过程和工具上,而忽略了看板的重点,就是减低"开发中"的工作。

为什么要考虑呢?事实上看板中工作的序列(一个功能由工作列到发布)是一个很短的时间(一日,或者更少)而次序则很像分析、设计、编码。测试等,当然不是线性,但为何需要介意呢?但因为功能现由一个清楚如何实现的小团队去开发,即使这意味会"打破这次序"。

如果看板系统用作确保每个开发的过程都进行,用作执行团队的完成定义,其实简单的清单更为适合。

您会否认为看板系统看似瀑布开发过程中的阶段?如果是的,这是表面地类似还是很根深蒂固的?留下阁下的意见分享观点吧。

查看英文原文 Are Kanban Workflows Agile?

2009-05-13 20:212197
用户头像

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

关注

评论

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

IDEA命令行缩短器助你解决此问题:Command line is too long. Shorten command line...

YourBatman

intellij-idea spring IDEA springboot

Java 基础知识整理

多选参数

Java

架构师训练营第六周-总结

王权富贵

ARTS打卡第3周

Scotty

Debug ArrayList源码

Noneplus

Java

WordPress插件设计

心平气和

php 插件设计 插件系统 WordPress

raft协议中, 候选人角色能参与投票吗

程序员老王

raft

《架构师训练营》第七周总结

追光逐影:曝光相对论(1)

北风

摄影 影调 曝光 黑白

LeetCode题解:141. 环形链表,JavaScript,快慢指针,详细注释

Lee Chen

大前端 LeetCode

CAP原理

鲁米

LeetCode题解:1051. 高度检查器,JavaScript,桶排序,详细注释

Lee Chen

大前端 LeetCode

程序员都应该知道的数据库避坑指南

Phoenix

MySQL 数据库 事务隔离级别

写一个并发测试工具

罗亮

Flink 生态:Pulsar Connector 机制剖析

Apache Flink

flink

负载均衡+分布式数据库

鲁米

《架构师训练营》第七周命题作业

使用 Docker 部署 Django + MySQL 8 开发环境

AlwaysBeta

MySQL django Docker Dockerfile Docker-compose

上班摸鱼,可以玩一整天,哈哈哈!!!

诸葛小猿

上班 摸鱼

你以为你真的理解 Closure 吗

coolion

大前端 闭包

第七周作业

田振宇

Discuz插件设计

心平气和

php Diszuz 插件设计 插件系统

tcpdump 实例-获取网络包的50种方法

Rayjun

TCP/IP tcpdump

图解:最短路径之如何理解“松弛”or“放松”?

淡蓝色

Java 数据结构 算法

ARTS Week7

丽子

ARTS 打卡计划

第7周笔记:性能优化

Melo

第7周作业:web性能测压工具

Melo

浪潮信息推动AI在线教育实现全面应用

Geek_116789

Week7 作业

Shawn

不变的是什么?

zhongzhq

依道而行 规律 变化

Android | Glide细枝篇

哈利迪

android 源码

看板工作流程是否敏捷呢?_研发效能_Chris Sims_InfoQ精选文章