团队如何限制合适的在制品(WIP)数量?

看板之父David Anderson曾说过“看板的本质是一个很朴素的思想:在制品必须被限制。”但对于团队来说,确定一个合适的在制品限制可能是件棘手的事。

在《看板快速启动指南》一文中,我们已经初步了解如何打造一个看板,今天我们来一起聊聊,在启动看板的过程中核心的一步:限制在制品。本文将和大家一起通过了解一些在制品的内容,来帮助团队找到适合的在制品限额。

前提要注意,制定在制品限额后并非一成不变,团队可以根据实际情况,按照团队的节奏来更改在制品限额。
zentao-team

一、为什么要限制在制品数量

简单来说就是为了避免团队或个人同时做太多工作,避免让下游流程负载过重。比如如果测试人员手头已经有很多工作了,我们就不希望开发人员再继续开发新功能,给测试人员增加负担,而是希望他们腾出手来帮助测试人员尽快完成测试。

在制品限制就如同一个警告的信号,在问题失控前引起团队的重视。

二、哪些工作项属于在制品限制范围

在制品限制只适用于功能卡,也就是任务卡片内容为可直接交付价值的功能。像技术故事(非功能性条目,需要完成但又不属于可交付物的东西)和Bug修复不包括在内。

不包括Bug修复是因为,Bug通常都是紧急的,且非常小。另一个原因是,目前在看板上还没有一个统一处理Bug的好方法,因为Bug有时会在进度看板上标出,而有时没有。所以如果团队的看板体系还不稳定和成熟,不建议就Bug的管理制定太多规则。

不包括技术故事是因为,它虽然需要完成但并不能为产品负责人和客户带来直接的价值,如果将其置入在制品范围内,不仅会占用在制品数额,而且当测试遇到瓶颈时,测试的进度就会变慢,而研发已经完成任务就会被阻塞,无法进入测试,研发的在制品限额也会达到设定的上线,影响团队流速。

只适用于功能的另一个原因是,能与团队衡量工作的标准一致。不同的角色有着不同的工作内容,而对于任务的界定也会标准不一。只适用于功能,能让团队在任务项上保持一致,利于看板的流动。随着团队看板的不断优化和改进,这些内容也可以根据情况适当改变。

三、如何限制在制品数量

1. 利特尔法则

了解在制品要先了解下利特尔法则:同时做的事情越多,每件事情花费的时间就越长。其公式为:周期时间=在制品数量/吞吐量

  • 周期时间:完成每个工作项所需时间
  • 在制品数量:并行的工作量
  • 吞吐量:完成每个工作项所需的平均时间

举个例子,A在排队买快餐,已知A在第20个(队伍的最后一位),且收银窗口每分钟能处理一个人的点餐需求,那么这个队伍的在制品数量就是20(个),平均吞吐率是1(人/分钟),A从排队到点完餐的这个等待时间就是“前置时间”。

根据利特尔法则我们可以得出A的等待时间是20分钟。因为在一段时间之内,保持工作量饱满的话,每天能做多少工作基本是一定的,所以吞吐率基本上不会发生太大变化。

如果这个时候我们想缩短平均前置时间,也就是等待时间,我们可以通过减少在制品数量来达成这个目标。在例子中,就是减少排队者的数量,我们都清楚10个人的队伍和20个人的队伍,前者等待时间更短。

2. 在制品限制的基本原则

更低比更高好

虽然在制品限制越低,工作流动越快,问题也能被尽快发现,但并不意味将在制品设置得过低。因为设得过低,可能会对流速造成干扰。比如直接设为1的话,流动中的任何干扰,都会让工作停顿。

调整人员闲置或着工作闲置情况

有时团队的WIP数量会太低,导致成员有时无事可做;太高,又会导致工作闲置,怎么办呢?那就根据情况边适应边调整。

如果WIP太高,导致工作闲置,就需要降低在制品限制。
如果WIP太低,导致人员闲置,可以在看板中列一个“我今天做什么”的列表,这样可以让大家协作完成工作,比如研发同学不开发新功能,而是帮忙测试。这也符合在制品限制的精髓:努力完成一件事,而不是努力开始做另一件事

关于限制在制品,团队可以记住一句话:缓启动,聚焦完成。团队同意在开始任何新工作之前,要尽力完成当前手头工作。这样就能将在制品保持在较低的水平。因为只有完成了手头的工作,才能开始新的工作项。

当然,刚开始的时候会有些困难,但这是运用看板方法的一个必经过程。

没有限制是不对的

不设置数量限制,这是不少团队在导入看板方法时最常犯的错误。没有在制品限制会让成员丧失积极性和改进的动力。久而久之,看板上的任务项也会越堆越多,很难再推动工作取得进展。

当我们手上并行的事情越多,流程中所有工作项的前置时间就越长,此时限制工作数量,就能推动我们尽快完成手头的工作,不断改进流程。

3. 限制在制品的4种方式

按照人数限制在制品

限制每个人可以同时激活的头像数,比如每人3个,当领取一个工作项后,就把头像贴到工作项卡片上,头像如果用完了,就不能再开展新的工作项了,开始新的工作项就需要尽快解决掉未完成的工作项。

按照列限制在制品

按列限制在制品数量,这样能让成员聚焦在工作项的流动上。比如,在下图的禅道看板中,测试列的需求的最大个数显示为5,那么限制看板列的在制品限额就能促使团队尽快移交完成的需求进行测试,获取反馈和交付价值。
zentao-Kanban

按照泳道限制在制品

用泳道来限制同时进行的需求的个数:每条泳道最多可以有多少WIP。这种方法的好处是可以根据不同泳道的优先级来定义WIP,让优先级更高的泳道占有更多的资源。这样能促使团队尽快完成已经开始的需求。

多种限制方法综合使用

可以根据需要结合多种限制方法,可以结合上述的三种方式:泳道限制、看板列限制、人数限制来综合使用。

四、看板的核心:限制

限制在制品是看板的核心原则之一,但限制在制品不是目的,改善流程才是。它只是一个能帮助我们发现阻碍能改善流动性的问题的工具。限制在制品也并不意味成员应该做更少的工作,而是指应该减少成员同时处理的工作。

在制品不是一成不变的,数量多少不重要,最关键是将团队目前的在制品可视化,根据团队需要和节奏进行调整,如此才能帮助团队的每位成员更迅速地完成更多的任务,交付更多的价值。

从现在开始,打造你的看板,找到适合团队的在制品限额吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/465876.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java学习之路-方法讲解

目录 1.方法概念及使用 1.1什么是方法 1.2方法定义 1.3 方法调用的执行过程 1.4 实参和形参的关系(重要) 1.5 没有返回值的方法 2.方法重载 3.方法递归 3.1递归概念 3.2递归执行过程分析 3.3递归练习 代码示例1 代码示例2 1.方法概念及使用 1.1什么是方法 方法就是…

jetson nano——编译一些包的网址导航,pyside2,qt(持续更新)

目录 1.PySide2下载地址2.tesserocr下载地址3.Qt下载地址4.OpenSSL官网5.latex编译器下载地址5.1MikTex5.2TeX Live 1.PySide2下载地址 https://download.qt.io/official_releases/QtForPython/pyside2/ 如下图: 2.tesserocr下载地址 https://github.com/simonflue…

python网络编程:通过socket实现TCP客户端和服务端

目录 写在开头 socket服务端(基础) socket客户端(基础) 服务端实现(可连接多个客户端) 客户端实现 数据收发效果 写在开头 近期可能会用python实现一些网络安全工具,涉及到许多关于网络…

PythonWeb——Django框架

框架介绍 1.什么是框架? 框架就是程序的骨架,主体结构,也是个半成品。 2.框架的优缺点 可重用、成熟,稳健、易扩展、易维护 3.Python中常见的框架 大包大揽 Django被官方称之为完美主义者的Web框架。力求精简web.py和Tornado新生代微框架Flask和B…

hadoop分布式环境ssh设置免密登陆之后目标主机更换无法连接解决

在进行hadoop分布式环境搭建时(三台机,master,slave1,slave2),后期slave2系统出现问题,更换新机后,master与slave2文件传输失败: 以为是秘钥过期的问题,更换…

【Linux】一文解决如何在终端查看 python解释器 的位置

【Linux】一文解决如何在终端查看 python解释器 的位置 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅…

Github主页设置贪吃蛇详细教程

先看最终实现结果: 有条贪吃蛇放在主页还是蛮酷的哈哈哈。接下来我来讲一讲怎么在Github主页添加一条贪吃蛇。 首先要修改自己的Github的主页,我们得有一个特殊的仓库——这个仓库必须与你的Github用户名保持一致,并且需要公开&#xff0c…

静默快速安装oracle 19c

静默快速安装oracle 19c 1.配置yum源 1.配置网络yum源 1.删除redhat7.0系统自带的yum软件包; rpm -qa|grep yum >oldyum.pkg 备份原信息rpm -qa|grep yum|xargs rpm -e --nodeps 不检查依赖,直接删除rpm包 1232.自行下载所需要的软件包。包名会…

求解3、4、6自由度仿射变换矩阵

说明:一开始将目光放在了opencv上,发现只有4、6自由度的仿射变换求解,后来发现skimage十分强大。 注:美中不足的是,skimage的实现没有RANSAC。 function:skimage.transform.estimate_transform() ttypeeu…

【SpringMVC】SpringMVC的整体执行流程

概述:MVC是一种设计模式,SpringMVC是按照MVC模式实现的优秀框架,可以帮助我们更简洁的完成Web开发,并且天然与Spring集成。后端项目分为Service层(处理业务)、Dao层(数据库操作)、En…

Java复习03 多线程

Java复习03 多线程 初学的时候 我的问题是 多线程是什么意思?进程和线程的区别? 线程创建的方式是什么?线程的状态是什么意思?分为哪几类?线程同步又是什么意思?有哪几种情况 ?静态代理是什么意…

外贸人自己的时间管理方法,建议收藏

“最近忙吗?”好像取代“吃了吗”,成为外贸生活非常常见的问候了,有些人可能是真的很忙,有的人的忙可能是因为没有计划跟安排造成了的。 其实业务做的时间长了,容易形成惯性,做事情一成不变,按…

超分辨率(3)--基于RCAN网络实现图像超分辨率重建

一.项目介绍 RCAN:Residual Channel Attention Network(残差通道注意网络 ) 卷积神经网络(CNN)的深度对于图像超分辨率(SR)是极其关键的因素。然而,我们观察到,更深层次的图像SR网络更难训练。低分辨率的输入和特征包含丰富的低…

HCIA——TCP协议详解

目录 1、TCP概念及协议头部格式 1.1TCP特点 1.2TCP协议协议头部格式 1.3字段进行介绍 1.3.1源端口和目的端口 1.3.2序号(seq) 1.3.3确认序号(ack) 1.3.4数据偏移 1.3.5标志位 1.3.6窗口 1.3.7校验和 1.3.8紧急指针 2、TCP的可靠性 2.1 TCP可靠性的保障 2.2排序机…

CSS动画属性(一)加两实例

keyframes 定义 使用可以创建动画(逐步改变从一个CSS样式设定到另一个。)可以设置多次变化发生时使用%/关键字from和to 0%是开头动画,100%是当动画完成。 为了获得最佳的浏览器支持,始终定义为0%和100&…

postgres让别人连接自己本地的库

本地安装了postgres,一般只能自己连接,如果别人想要连接我们自己的库,需要修改postgres的配置。 找到pg.gba.conf,路径是:postgres安装路径/PostgreSQL/data 使用记事本打开这个文件,将别人的ip填入其中即…

TCP:三次握手四次挥手及相关问题:

连接—三次握手: 流程图: 过程详解: 客户端(connect)连接服务器(listen) Client将标志位SYN置为1,随机产生一个值seqx, 并将该数据包发送给Server, Client进入SYN_ SENT状态,等待Server确认。Server收到数据包后由标…

【Spring Cloud】feign调用携带token

当我们再用feign调用的时候,如果对应服务需要token验证则需要我们传递token 网上提供的方法都是添加如下配置: Configuration public class FeignConfig implements RequestInterceptor {Overridepublic void apply(RequestTemplate requestTemplate) {ServletReq…

flowable-ui部署

版本 java: java8+tomcat: apache-tomcat-9.0.87flowable: flowable-6.8.1mysql驱动: mysql-connector-java-8.0.30.jar 注意:版本一定要对,否则启动报错执行数据库脚本 创建数据库flowable执行脚本,脚本位于解压flowable-6.8.1.zip后的flowable-6.8.1/database/create/all/…

2024图表分析网页模版大数据可视化大屏电子沙盘合集包含金融行业智慧大厅智慧交通智慧门店智慧物流智慧小区

2024图表分析网页模版大数据可视化大屏电子沙盘合集包含金融行业智慧大厅智慧交通智慧门店智慧物流智慧小区 项目介绍: 图表分析网页模版 大数据可视化大屏电子沙盘合集,项目基于html/css/js,包含行业: 智慧政务 智慧社区 金融行…