如何限制在制品?| Kanban
今天介绍一下在看板方法中的限制在制品原则,这是看板的核心机制。
1、什么是在制品
1.1 在制品和半成品的区别
- 在制品:正在制作的产品。
- 半成品:已经制作完但不合格的产品。
1.2 软件行业中什么是在制品
在软件过程中,那些已经开始,但是还没有交付,没有产生客户交付价值的工作项。简单总结就是两个关键词,正在进行和具有客户交付价值。
那么,软件行业中用户故事和任务到底哪个属于在制品?
答案是用户故事。从两个角度解释该问题。
- 在制品的起源:在制品起源于日本丰田汽车生产车间,丰田每条生产线同时只生产一辆汽车,主要目的就是为了避免在制品过多会产生更多的质量缺陷。推彼及此,丰田限制的在制品是汽车而不是零部件,软件行业限制的应该是用户故事而不是任务。
- 客户交付价值:任务只是为了追踪用户故事所需要做的事情,通常并不具有客户交付价值。真正具有客户交付价值的是用户故事。
注意:并不是所有的故事都属于在制品。例如NFR类的用户故事等。
- NFR类用户故事:本身不会产生客户交付价值,只能使别的故事产生交付价值,所以不属于在制品。
2、为什么限制在制品
看法方法中强调限制在制品,因为过多的在制品会产生很多不利的影响,例如:
- 过多的工作上下文的切换,在多个工作间切换就会产生浪费。关于该点的详细阐述,大家可以阅读《敏捷革命》里的浪费是一种犯罪章节。
- 质量下降,同时进行太多的任务,就会造成质量的下降,增加缺陷数量,从而进一步降低效率。
- 缺乏动力,任务多了,总是堆在哪里,这样就减慢了你去解决问题和阻塞的动力了
我们可以借助利特尔法则在更加具体看下限制在制品能够带来的效率变化,利特尔法则使用下面的公式计算工作效率和周期:
周期=在制品数量/吞吐量
例如一个团队每个月可以完成的12个任务,那么吞吐量就是12,如果我们在制品数量是12那么可以得到:
周期=12个在制品/吞吐量12=1个月
而如果我们减少在制品,例如6个并行任务,那么:
周期=6个在制品/吞吐量12=0.5个月
可以看到通过降低在制品数量,就能很快的缩短价值交付周期(此处不是整个项目的交付周期,而是价值的交付周期。前6个在制品完成后就可以进行发布了,这对客户来说就产生交付价值了),加快价值交付节奏。
3、如何限制在制品
限制在制品通常有两种做法:基于列设定在制品和按人员限制在制品
3.1 基于列设定在制品
基于列的在制品限制,我们通常是在列的上方写上这一列所能容纳的最大工作项数量,如下图
在这看板中,我们可以看到测试阶段已经有三个正在进行的工作项和一个待测试的工作项,出现了挤压现象,所以我们限制了开发阶段的最大工作项数量是3,那么当开发阶段的工作项数量达到3之后,就不能再添加新的开发工作项了,从而使得测试列不会再被拉入新的工作项。那么如果这时候开发阶段人员出现了空闲,应该做什么呢?
- 如果开发团队里别的人需要帮助,那么空闲的开发人员应该给予帮助
- 如果开发者是个全职能人员,那么他应该去帮助测试人员,尽快完成测试任务
- 另外偿还技术债务也是应该做的,例如项目框架的优化和升级、更加严格的测试代码、技术学习等
3.2 按人员限制在制品
按照人员限制在制品的做法,通常要求人员都是全职能的人员(一个人就能独立完成一个工作项),不会按照工作流分为不同的角色,这种限制在制品我们通常是为每个人准备一定数量的头像,例如每人3个,当领取一个工作项后,就把头像贴到工作项卡片上,头像如果用完了,就不能再开展新的工作项了,这时候最重要的就是尽快解决掉未完成的工作项。如下图:
可以看到小李和小王还可以再开展新的工作项,但是小张由于三个头像都已经用完了,所以他的当务之急就是尽快完成手上的工作项。
4、限制在制品的具体做法
通常我们都是采用基于列的在制品限制,那么到底哪些列是需要限制在制品的?具体应该把数值设定为多少呢?可以告诉大家这没有一个统一的标准,要看具体情况。要通过对看板流转情况的一个动态观察,发现影响看板的瓶颈,从而通过限制在制品解决和避免瓶颈。例如上面的例子,通过观察我们发现测试节点总是出现任务的挤压,这时候测试就成了整个看板的瓶颈,那么有可能我们需要增加测试人员,或者是限制测试任务的输入。所以我们应该在开发阶段限制在制品,那么到底限制为多少呢?这里没有固定的数字,看板开始的前期这个数字应该是经常变动的。一个比较快的确定一个限制数字的做法是:
如果某列经常同时有4—5个工作在做,你最初可以将在制品数量限定在8—10个,然后规律性的以20%的幅度将其递减,然后达到一个相对稳定的值。这也是持续改进的开始。
总归应该遵循两点:
- 要很容易的快速找到一个数字,不要因为这个花费太多的时间,上面的这个方法就可以借鉴
- 现在在制品的数值,是个持续调整的过程
好了,看板的在制品限制就说到这里把,下一节主要说说看板中管理流动的原则!
如何限制在制品?| Kanban相关推荐
- Oracle EBS 名词解释
A ABC classification ( ABC 分类法) 一种按重要性(如年度金额或公司的事务处理历史记录)递减顺序对物料进行分类的方法. absorption account (吸收帐户) 记 ...
- Scrum vs Kanban,如何选择?
两大方法 虽然敏捷诞生只有20年的时间,但却帮助了很多企业取得了成功,在这期间也出现了各种敏捷方法论和思想体系,这篇文章,我们试图去讨论一个问题:对于准备实施敏捷的团队,在Scrum和Kanban两种 ...
- Real World Kanban作者访谈
Mattias Skarin编著的 Real World Kanban为大家提供了四个 Kanban用于可视化的案例研究,并提供了产品开发的洞见与改进方法. \\ InfoQ读者可以下载一份 Real ...
- Kanban VS Scrum:哪个是最好的敏捷项目管理框架
2019独角兽企业重金招聘Python工程师标准>>> "我们使用敏捷开发."在与软件开发团队交流时,你会听到很多这样的说法.根据统计,2018年全球约有90%的 ...
- GitChat·DevOps | 如何结合 Scrum 和 Kanban
来自 吴穹.申导.侯伯薇 在 GitChat 上精彩分享 原文:如何结合 Scrum 和 Kanban 更多IT技术分享,尽在微信公众号:GitChat 技术杂谈 背景介绍 by 吴穹 这篇文章背后的 ...
- 分享如何在 PingCode 这类专业的看板软件中管理敏捷Kanban 项目
在本教程中,我们将介绍在 PingCode 中如何创建 Kanban 项目.确定工作优先级.可视化工作流程以及如何限制在制品以防止团队超负荷工作的说明,所有这些我们都将结合 PingCode 工具介绍 ...
- GitChat · DevOps | 如何结合 Scrum 和 Kanban
来自 吴穹.申导.侯伯薇 在 GitChat 上精彩分享 原文:如何结合 Scrum 和 Kanban 更多IT技术分享,尽在微信公众号:GitChat 技术杂谈 背景介绍 by 吴穹 这篇文章背后的 ...
- 建立学习型组织:Scrum和Kanban殊途同归
从方法论的海洋到方法论的灯塔 敏捷方法有40多种,可以称为方法论的海洋.学海无涯,对于沉浸其中的人不会觉得有什么,而对于受众,敬而远之恐怕只能算作一种正常的态度. 我们需要找到方法论的灯塔,即其中简单 ...
- 敏捷开发和Scrum、Kanban、XP的关系与区别
目录 前言 一.敏捷是什么 二.Scrum是什么 三.Kanban是什么 四.XP是什么 五.敏捷开发和Scrum.Kanban.XP的关系 六.总结 前言 敏捷经过20多年的发展,被广为人知,但是也 ...
最新文章
- docker小实战和应用
- 都啥年代了,求你别再说Redis是单线程了!
- 排序算法——十大排序算法的图示与实现
- simhash与Google的网页去重
- SpringSecurity实现记住我功能
- 苍溪实验中学计算机等级考试,苍溪实验中学2021年招生录取分数线
- CSS:使用CSS绘制三角形
- html基础之input属性
- Atitit nodejs db api// 加载 mysql modulevar sys = require(“sys“);var mysql = require(“mysql“);va
- 配置企业管理系统,什么样的工作流才有用
- 使用啊D注入工具向asp网站注入攻击
- 单片机的ISP是什么
- TI CC2530 学习笔记-13-NewBit-CC2530-ADC-内部温度传感器
- 网吧用计算机性能配件清单,如何查看网吧电脑配置清单图文教程
- python爬虫实训第六天
- [乱搞 树状数组] BZOJ 4548 小奇的糖果 BZOJ 3658 Jabberwocky
- JS正则表达式完整教程(略长)
- linux命令chmod、chown、chgrp详解
- Ubuntu安装eclipse
- 【PPT】《挑战用chatgpt完成流水线操作的ppt,再也不用担心每周肝组会报告ppt了#人工智能 #chatgpt应用领域 快学起来!!!》- 知识点目录