敏捷开发中如何使用看板方法创造价值
看板方法起源于丰田精益,最核心的理念就是减少浪费。而精益生产分析技能在敏捷中的体现,就是“价值流程图”工具,可以帮助我们识别 7 大浪费,减少浪费就是在增加价值。7 大浪费如下,可用 WIDETOM 来便于记忆:
W - 等待 waiting I - 库存 inventory D - 缺陷 defect E - 额外流程 extra processing T - 运输 transportation O - 过度生产 over-production M - 动态 motion
让我们带着减少浪费的想法,引出和思考敏捷其中的三个概念,看是如何与看板当中的概念相结合的。
概念一:WIP(work in progress)在制品限制
理想的WIP是,5名团队成员WIP为5,即每名团队成员同时只做一个任务。这样有助于:
创造专注高效的工作环境。WIP通过限制团队成员,让团队成员更专注的做当前的任务,避免工作时间碎片化,每一次被打断,都需要浪费时间来重新找回思路,往往结果就是一天都很忙,但是产出不尽如意,容易失误产生 bug。因为多任务的切换,会造成恐怖的 20% 到 40% 的工作浪费,这是跟随 WIP 的指数增长的曲线。
实践敏捷尽早反馈的原则。周一同时开展 3 个任务,周三同时完成,产品经理和测试的反馈时间周期,每个任务都为 3 天。如果换成每天完成 1 个任务,每个任务的反馈时间周期都为 1 天。产品经理、测试和开发,团队中的各个角色,可以更均衡的工作产出,避免前期开发后期集中或者压缩测试时间,能够更稳健的长久的进行敏捷实践。也可以用更低的开发成本拥抱变化,来实现更高的产品价值。
(看板中的 WIP 在制品限制)
概念二、Pull 拉动式生产
拉动式生产,即下游自由选择完成职责范围内的任务,而非上级安排给下级,组长安排给组员等等。那谁来拉动,推进任务,答案就是自组织团队中的每一个成员。
拉动式能够避免产生,任务堆积库存产生的浪费。假设一个常见的开发情景,团队成员因为能力不同,任务复杂度不同,任务的完成时间很难按照理想时间卡点完成,进而造成,某些成员头上有多个未完成任务,某些成员已经没有任务可做,任务堆积在某个成员身上,形成整个协同开发流程的小瓶颈。这种瓶颈可能出现在团队中的产品经理、架构师、设计师、开发、测试、运维等各种角色成员身上。
如何解决卡时间点协同的问题?当任务不是分配,而是团队成员空闲时自己领取新任务,就自然而然的解决了。任务的自领取,还可以强化责任心,做自己感兴趣的任务,有更强的自驱力,和自身能力匹配的新技能学习。有些公司还喜欢通过加班完成,但这也违背敏捷可持续的原则,和信用卡透支一样,未来都需要偿还更多的利息。
如何保证团队成员领取,自己能够胜任的任务。首先敏捷中相信和不抛弃每一个成员,他们都能最大化发挥自身的价值,自组织团队。然后,敏捷中提倡 T 型人才,高可通用性。这样可以达成更低的任务依赖复杂性,每个人都可以胜任每一个任务,而不是卡在架构师、运维等关键节点。
减少库存产生的浪费,同理在 DevOps 当中的单件流(one-piece-flow)概念,云计算的 Serverless,都能看到减少库存浪费的影子。
(向右拉动式生产)
三、可视化的概念
看板在敏捷中是重要的信息发射源工具,贯穿在 Scrum 冲刺中的各个角落。例如每日站会中浏览一下,干系管理中实时协同进度。好的信息发射源要简单、影响、直观、当前、高可见度等等。
(全屏模式)
(看板自定义设置)
(按照用户故事分组查看,与按照负责人分组查看)
(全部收起/全部展开)
最后,我们可以看到敏捷中的理念和工具,都是相辅相成,而非孤立存在。我们可以借助看板工具,来实践敏捷,减少浪费从而产生更多的价值。
以上产品截图均来自 Worktile Agile,想试用的朋友可以去 Worktile 官网注册试用一下。
本文作者:Worktile 高级工程师 甄帅
文章来源:Worktile敏捷博客
欢迎访问交流更多关于技术及协作的问题。
文章转载请注明出处。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
宜信微服务架构落地及其演进|分享实录
一、应用服务架构演进及微服务架构介绍 1.1 应用架构的演进历程 应用服务架构一直处于不断演进的过程中,上图通过对比5种比较主流的架构模式,展示应用架构的演进历程和变化。 单体架构(All in One)。在业务发展初期,为了快速落地应用,满足客户需求,一般会使用All in One的单体架构。单体架构的特点是:所有模块都耦合在一个进程里,系统完全封闭且很复杂,牵一发动全局。 竖井式架构(Vertical Application)。随着业务的增长,单体架构越来越臃肿,我们对系统做了垂直化的拆分,应用架构进入第二阶段即竖井式架构。竖井式架构,就是根据业务属性将一个大的单体拆分成一些不同的模块或子系统,子系统之间没有直接关联。竖井式架构依然存在紧耦合的问题,系统也是完全封闭的,且存在大量的重复代码拷贝及模块功能需大量重复造轮子的情况。 单体架构和竖井式架构都是围绕web容器打包及部署的架构模式,随着业务的快速发展,要求实现服务的快速迭代和快速交付,应用架构也由此演进为以服务为中心的架构模式。主流的面向服务的架构模式有:RPC架构、ESB中心化架构和微服务架构。 RPC架构。RPC架构在现在...
- 下一篇
mybatis源码,从配置到 mappedStatement —— mapper.xml 是如何被解析的?
Ext1:本文源码解析基于 mybatis-spring-boot-starter 2.1.1,即 mybatis 3.5.3 版本。 Ext2:本文主要是对源码的讲解,着重点会是在源码上。 一、从 MybatisAutoConfiguration 说开去,mapper 文件是怎么扫描的? 我们知道配置 SqlSessionFactory 是我们集成 Mybatis 时需要用到的常客,SqlSessionFactory 顾名思义是用来创建 SqlSession 对象的,SqlSession 对象的重要程度不言而喻。源码中提到,SqlSession 是 Mybatis 运行最重要的一个接口,通过此接口,我们可以进行我们的操作指令,获取 mapper,管理事务等操作。 官网 给出了一个简单的配置demo,通过 SqlSessionFactoryBean 进行 sqlSessionFactory 的创建。 @Bean public SqlSessionFactory sqlSessionFactory() { SqlSessionFactoryBean factoryBean = new S...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果