WIP限制并不是真的要限制你的进度,事实上正相反。

什么是WIP限制?

在敏捷开发中,WIP限制决定了每种情况下的工作流中可以存续的最大工作量。限制进行中的工作数量可以更容易辨识团队工作流中的无效工作。在情况变得更糟前,一个团队的持续交付通道中的瓶颈是非常容易辨别的。

为什么说WIP限制很重要?

所以现在你一定在想,“赶快告诉我更多吧!”(好吧,我希望你是这么想的。)

WIP限制通过强制让团队聚焦在更小的一套任务中来改善吞吐量和减少“将要完成”的工作量。从根本上来讲,WIP限制鼓励的是“完成”的文化。更重要的是,WIP限制让阻碍和瓶颈显而易见。当有明确指示现有工作遇到瓶颈时,团队可以聚焦在阻塞问题上尽快的理解、实施和解决。一旦消除阻塞,团队中的工作将再次开始流动。这些优势可以确保在最短的时间内向用户交付有价值的增量,从而使得WIP限制成为敏捷开发中一个非常有价值的工具。

“此外,多任务处理只是看似时间安排紧密。”

开发期间,大家很容易会想“当我开始另一项工作的时候,我会暂停这项工作”。同时打开两个问题意味着在两个事务之间前后切换或者在团队成员之间转移工作。降低一件事的投入加大另一件事的投入并不意味着自由-因为它会花费时间并且削弱焦点。解决一件原始问题总是好过开始并且未完成一项新工作。换句话说,WIP限制阻止我们阻碍自己的流。

最后,WIP限制指出了长期闲置或过载的区域。它们帮助团队看到整个流程中的低效事件而不仅仅是他们工作中的特定区域。

专家提示:

对于刚刚使用WIP限制的团队,会觉得并不方便。只需要花点时间在最开始的几次迭代中进行讨论。了解团队何时以及为何达到了WIP限制。起初,要抵制随意调整WIP限制的诱惑。如果违规行为接连不断,那就表明WIP的限制过于严格或者团队的流程效率太低。

在敏捷团队中使用WIP限制

现在你已经认可它们的价值了,那我们回归实际问题。

每当铺开一条新的工作流时,团队都要判断并决定每种情况下的WIP限制。我们建议在监控几次迭代确定每种情况下平均数量的工作项后再设置WIP限制。

要注意的反面模式:

  • 根据需要调高WIP限制,以便团队不再打击它们。(例如“债务上限”,还有其他的吗?)
  • 每个人都有一个很大的专属“后台任务”用来隐藏他们的闲置时间。
  • 团队成员闲着等待更多的工作进入,而不是集中在瓶颈上。
  • 在工程实践或团队流程中,投入更多的人时在持续的瓶颈上要优于过度改进。

敏捷团队使用WIP限制的4个目标

与任何新活动一样,WIP限制最初使用起来比较尴尬。而WIP限制的目标是在中期使团队达到最优状态,所以短期的尴尬实际上是好事。它会迫使团队触碰到他们流程中的一些痛点。

团队在使用WIP 限制几周后,就可以根据需要进行调整。正因为团队一直在受挫,因此可以抵制调高WIP限制的诱惑。而且还能抓住机会,提高团队整体能力-理论上,可以通过教育团队让每个成员获得新技能或在某些方面提高开发过程的效率。

目标1:不断调整单个任务的大小。

在分解需求和用户故事时,保证单个任务的工作量不超过16个小时是非常重要的。这么不仅可以提高团队确切预估的能力,还能有避免瓶颈。没有什么能比大工作项阻塞通道更能降低团队速度加剧WIP限制了。

专家提示:当WIP限制有效时,一个事件的循环时间就会降低。循环时间就是完成一个事件需要的时间。

目标2:将WIP限制规划为团队的技能。

上面的例子是假设团队成员的技术能力相似。如果你的团队有技术专家,那么当专家牵涉其中时WIP限制应该有所不同。这个时候需要创建特定于专家工作的状态。如果在该状态下出现瓶颈,正好可以趁机让团队其他成员学习一些额外的专家具备的技能,以此来增强整个团队的流。

目标3:减少闲置。

当一个团队成员出现停工期的时候,鼓励他们去帮助上游或下游团队成员。他们不仅能为团队的整体生产力做出贡献,还可以在此过程中学到一些东西。

目标4:保护一种可持续的工程文化。

WIP限制并不意味着开发人员需要急于工作以避免某些情况下工作过载。它旨在保护以保证产品质量和代码库健康为前提的扎实的敏捷工作实践。

原文作者:Dan Radigan

翻译:吴倩倩

文章来源:Worktile技术博客

欢迎访问交流更多关于技术及协作的问题。

文章转载请注明出处。

看板中的WIP限制的更多相关文章

  1. 看板 | 漫话之减少WIP(在制品)

    传统的流水线生产模式中,生产流程按生产程序进行划分,而各部分因动作的难度或复杂程度的差异导致用时不同. 例如:一个产品进行组装用时2分钟,完成装箱工作只需10秒.在这种情况下,组装动作用时长.产出慢, ...

  2. TFS 2015 敏捷开发实践 – 看板的使用

    看板在现代应用开发过程中使用非常广泛,不管是使用传统的瀑布式开发还是敏捷开发,都可以使用看板管理.因为看板拥有简单的管理方法,直观的显示方式,所以很多软件开发团队选择使用看板进行软件开发管理.本文不在 ...

  3. 看板与Scrum:哪个更适合你的团队?

    敏捷是理想型指标和原则,看板和Scrum是帮助团队坚持敏捷原则并完成工作的基本框架.本文详细介绍了在Scrum和看板之间做出选择时要考虑的关键因素,以及如果我们无法做出决定时该怎么办. Scrum和看 ...

  4. CODING 敏捷看板全新上线,助力研发管理可视化升级

    在服务企业研发团队的过程中,我们发现不少团队碰到了类似的问题: 团队成员声称完成了自己的大部分任务,但团队实际交付的需求却寥寥无几? 由于某些问题导致工序一直处于等待状态,怎么识别和处理这些延迟? 成 ...

  5. 材价看板(1)- 如何建立你的第一个kanban,看看这些暴露的问题你们有没有?

    今年负责一个老产品新团队,和几年前的指标组一样,现在的团队没有采用什么研发方法,于是我开始了团队的看板之旅. 12月22日给材价整个部门的产品研发相关人员做了一次kanban工作坊培训,    以及敏 ...

  6. TFS看板的设计

    列 产品开发的整个流程如下图,将流程配置到看板的列: 需求池-->就绪-->开发-->测试-->待验收 -->待发布 -->已关闭 一般将Bug和需求放在一块看版上 ...

  7. 【CTO俱乐部研修班开课】看板先驱David J. Anderson:看板核心在于创造一种能力——提升敏捷性

    看板开发方法是近年来最热门的敏捷和精益开发方法.看板之父David J. Anderson觉得其核心在于帮助企业创造一种能力--提升敏捷性.CTO俱乐部看板研修班将通过理论.沙盘模拟.真实案例分享等阐 ...

  8. 第十一章 Odoo 12开发之看板视图和用户端 QWeb

    QWeb 是 Odoo 使用的模板引擎,它基于 XML 来生成 HTML 片断和页面.通过 QWeb可生成内容丰富的看板(Kankan)视图.报表和 CMS 网页.本文中我们将学习QWeb 语法以及如 ...

  9. TFS 2015 敏捷开发实践 – 在Kanban上运行一个Sprint

    前言:在 上一篇 TFS2015敏捷开发实践 中,我们给大家介绍了TFS2015中看板的基本使用和功能,这一篇中我们来看一个具体的场景,如何使用看板来运行一个sprint.Sprint是Scrum对迭 ...

随机推荐

  1. 获取JSON格式的树形

    需求:前端需要一个JSON格式的Tree,例如组织机构维护的时候使用到的,需要一次性返回给前端.所以编写了一个算是半通用的查询方法 1.数据库Dao层: /** * 根据父ID获取子数据 * @par ...

  2. dotnet core 3.0 linux 部署小贴士

    dotnet core 3.0 目前还是测试版,在linux下安装 sdk 需要有一些注意事项 1.下载url https://dotnet.microsoft.com/download/thank- ...

  3. linux的软件安装方式总结

    Linux系统中软件的“四”种安装原理详解:源码包安装.RPM二进制安装.YUM在线安装.脚本安装包   一.Linux软件包分类 1.1 源码包 优点: 开源,如果有足够的能力,可以修改源代码: 可 ...

  4. ubuntu 14.04 安装 rabbitmq

    1. sudo apt-get update 安装rabbitmq 2. sudo apt-get install rabbitmq-server 添加用户 3. sudo rabbitmqctl a ...

  5. IaaS,PaaS和SaaS

    云计算的三种服务模式:IaaS,PaaS和SaaS IaaS: Infrastructure-as-a-Service(基础设施即服务)是第一层. PaaS: Platform-as-a-Servic ...

  6. Vue知识点总结

    1.属性名已$开头的都是内部提供的属性 2.为什么使用事件修饰符的原因:methods 只有纯粹的数据逻辑,而不是去处理 DOM 事件细节 3.v-if 如果值为false,元素在页面中不存在:值为t ...

  7. Charles抓包软件简介

    Charles简介: Charles是一款抓包神器,因为他是基于 java 开发的,所以跨平台,Mac.Linux.Window下都是可以使用的,确保安装之前已经安装了JDK.Charles官网地址: ...

  8. [LeetCode] Race Car 赛车

    Your car starts at position 0 and speed +1 on an infinite number line.  (Your car can go into negati ...

  9. Spring源码阅读 源码环境搭建(一)

    ring 源码阅读的搭建(一) 一 下载spring源码 进入官方网页:https://spring.io/projects/spring-framework 进入相关的github位置,下载zip包 ...

  10. 干货分享: 长达150页的openvswitch的ppt,不实验无真相

    下载链接: Openvswitch实验教程 http://files.cnblogs.com/popsuper1982/Openvswtich.pptx 一.概论 Software Defined N ...