您好!
欢迎来到京东云开发者社区
登录
首页
博文
课程
大赛
工具
用户中心
开源
首页
博文
课程
大赛
工具
开源
更多
用户中心
开发者社区
>
博文
>
Being Agile! 度量改进 之 累积流图
分享
打开微信扫码分享
点击前往QQ分享
点击前往微博分享
点击复制链接
Being Agile! 度量改进 之 累积流图
自猿其说Tech
2021-01-14
IP归属:未知
37000浏览
敏捷
业务敏捷
前端
计算机编程
#### 前言 精益中非常强调“交付前置时间”的优化,换成咱们的语言,就是“需求交付周期”,从需求提出到需求最终成功上线的时长。 那么如何测量和优化需求交付周期呢?今天介绍一款强大的度量工具:累积流图CFD(Cumulative Flow Diagram)。它是精益看板方法里的核心度量,可以跟Scrum方法有效结合,很好地反映需求在每个研发环节的流转,从而引导研发效能的改进。 首先来感受一下它在行云里的样子: ![](//img1.jcloudcs.com/developer.jdcloud.com/c8204d69-67f0-4b1e-942c-86cce0583afd20210114143229.png) 上图中花花绿绿的色块,代表的是软件研发过程中的不同阶段,有诸如“需求BRD”、“需求PRD”、“需求就绪”、“开发中”、“开发中挂起”、“测试中”、“UAT”、“上线完成”等等。累积流图可以形象的表达出需求在不同阶段的流转是否流畅,暴露拥堵点。 #### 一、累积流图的原理 首先让我们理解一下累积流图是怎么画出来的: 下面举例说明画累积流图的三个步骤,此例中简化了需求卡片状态 某团队在“今天”站会后更新的看板如下: ![](//img1.jcloudcs.com/developer.jdcloud.com/9a01185f-d6cf-4e86-af81-2fe62bbdcd7020210114143322.png) ##### 1. 首先绘制横轴和纵轴: - 横轴:时间(单位:天) - 纵轴:需求数量 (单位:个) ##### 2. 然后计算看板上的工作项数量: - 今天在“完成”列上有2个需求,因此在横轴为今天、纵轴为2的位置打个绿色的点,表示累计共完成了2个需求。 - 测试列有2个需求卡片,完成列与测试列共计4个需求。于是,在横轴为今天、纵轴为4的位置打个蓝色的点,表示累计共进入测试环节4个需求。 - 开发列共3个在制品,开发列、测试列与完成列合计共7个需求。于是,在横轴为今天、纵轴为7的位置打个红色的点,表示累计共进入开发环节7个需求卡片。 - 依次类推,Backlog列有7个在制品,Backlog列、开发列、测试列与完成列合计共14个需求。于是,在横轴为今天、纵轴为14的位置打个橙黄色的点,表示累计共进入Backlog列14个需求。 ##### 3. 每天持续打点,就形成如下图一样的累积流图:当然我们不用每天手动打点,行云已经植入了累积流图的功能。 ![](//img1.jcloudcs.com/developer.jdcloud.com/58927f34-2a6b-4eb1-9ecc-d59eec79b29120210114143451.png) #### 二、如何分析累积流图 知道了怎么画,那么就明白了如何分析累积流图。 **两条线之间的垂直高度代表该流转环节有多少个在制品(需求卡片)。**比如:“进入开发线”与“进入测试线”之间的高度是3,代表开发环节当前有3个需求。 ##### 累积流图还能分析到什么呢? ##### 1. 分析在制品(Work In Progress,以下简称WIP) **看纵轴:**从“进入开发线”到“完成线”之间的高度,代表了整个看板的在制品数量。 如果某个流程阶段的垂直高度较高,可能暗示了研发流程在该处有瓶颈或超负载工作等问题,需注意分析解决。 ##### 2. 平均前置(周期)时间(Lead Time) **看横轴:**从“进入开发线”到“完成线”之间的长度,代表了从开发启动到完成的周期时间。这个长度的变化,反映了团队交付能力的变化。那么从“进入Backlog线”到“完成线”的水平长度就是端到端的前置时间。 如果某个阶段的水平长度较长,说明该环节的周期时间长,往往是由于该环节的在制品堆积造成。 ##### 3. 吞吐量(Throughput) **看斜率:**Throughput(吞吐量) = WIP(在制品) / Average Lead Time(平均周期时间) 在累积图中,“完成”线的斜率就是吞吐量。通过观察“完成”线的斜率变化,就可以直观地看出团队交付效率的变化。 ![](//img1.jcloudcs.com/developer.jdcloud.com/7e0ac777-2e3b-4fab-a2ae-b581dbf201a320210114143607.png) 还能通过上面的累积流图分析出其他的信息吗?可以尝试思考下面的问题: - 上面的累积流图能不能说明团队在改进,团队的改进点在哪里?欢迎留言讨论。。。 #### 三、累积流图的优化方向 使用累积流图需要优化的是“**需求交付周期**”,即从需求提出到需求最终成功上线的时长。那么在上图中的累积流图中,就是“进入Backlog线”到“完成线”之间的水平距离。 要想优化需求交付周期,就要优化需求卡片在研发各个阶段的时长,它的关键是找到最大的拥堵点,然后解决拥堵,(即找到各环节当中需求消化能力最弱的一环,有针对性的做改进),这样需求就可以在每个环节中快速的流动起来。就像下面的高速公路,全程不堵车的情况运输效率才最高。 ![](//img1.jcloudcs.com/developer.jdcloud.com/eb42887c-9fa1-444b-86a3-a45414f303db20210114143717.png) ------------ ###### Being Agile 京东物流技术发展部效能提升部 ###### 作者:效能提升部 侯秦 ![](//img1.jcloudcs.com/developer.jdcloud.com/e05f5778-e734-438e-9b69-cdee1561028120210114143820.png)
原创文章,需联系作者,授权转载
上一篇:2020腾讯广告算法大赛方案分享(Rank1)
下一篇:Being Agile!产品定位 之 电梯演讲
相关文章
浅谈对敏捷的认识
架构研究:研发敏捷与中台架构(论前台bp研发敏捷)
敏捷实践 — 估算
自猿其说Tech
文章数
426
阅读量
2149964
作者其他文章
01
深入JDK中的Optional
本文将从Optional所解决的问题开始,逐层解剖,由浅入深,文中会出现Optioanl方法之间的对比,实践,误用情况分析,优缺点等。与大家一起,对这项Java8中的新特性,进行理解和深入。
01
Taro小程序跨端开发入门实战
为了让小程序开发更简单,更高效,我们采用 Taro 作为首选框架,我们将使用 Taro 的实践经验整理了出来,主要内容围绕着什么是 Taro,为什么用 Taro,以及 Taro 如何使用(正确使用的姿势),还有 Taro 背后的一些设计思想来进行展开,让大家能够对 Taro 有个完整的认识。
01
Flutter For Web实践
Flutter For Web 已经发布一年多时间,它的发布意味着我们可以真正地使用一套代码、一套资源部署整个大前端系统(包括:iOS、Android、Web)。渠道研发组经过一段时间的探索,使用Flutter For Web技术开发了移动端可视化编程平台—Flutter乐高,在这里希望和大家分享下使用Flutter For Web实践过程和踩坑实践
01
配运基础数据缓存瘦身实践
在基础数据的常规能力当中,数据的存取是最基础也是最重要的能力,为了整体提高数据的读取能力,缓存技术在基础数据的场景中得到了广泛的使用,下面会重点展示一下配运组近期针对数据缓存做的瘦身实践。
最新回复
丨
点赞排行
共0条评论
自猿其说Tech
文章数
426
阅读量
2149964
作者其他文章
01
深入JDK中的Optional
01
Taro小程序跨端开发入门实战
01
Flutter For Web实践
01
配运基础数据缓存瘦身实践
添加企业微信
获取1V1专业服务
扫码关注
京东云开发者公众号