1、背景
Taiichi Ohno (大野耐一)是Kanban之父,David Anderson 是把Kanban引进IT行业的先锋。
看板一词来自日本(kanban),源于精益生产实践(丰田生产)。
2、概念
KanBan is an approach to change management that employs a Kanban system onto an existing process context in order to provoke evolutionary and incremental change.
Kanban可以被引入进任何开发框架去支持和推动持续性软件开发,不管你的开发模式是Agile的(比如: XP, FDD, TDD)还是传统的开发方式(比如:waterfall, iterative)。
3、敏捷开发为什么使用Kanban
1)可视化你的工作流程。所有的task的进度会全部显示Kanban上,每一个人都可以一目了然了解进度和流程。
2)限制WIP中的tasks数量。一般情况下,这个数量是等于Team中的developer数量。
3)管理并优化流程。当WIP中的某一个task完成时,在ToDo中的优先级最高的task会被移到WIP中,这也是为什么当一个项目中需要经常更改优先级时,会选择Kanban的原因。
4)量化开发周期。
5)缩短开发周期。这个其实可以理解为发现问题,解决问题,从而找到更科学的方法提高开发效率。
6)变push system (just in case) 为 pull system(just in time)。新的case只能在team有能力情况下再开始。
4、Kanban模型
image.png
5、卡片模型
image.png
- Ticket ID 是某个task的唯一标识。
2)task的描述。
3)Estimated Cycle Days 就是预估完成这个task要花费的时间。根据这个时间,我们可以预估出完成所有task可能需要的时间。也能预估出一个迭代能够做多少task,从而可以更好的排列backlog中task的优先级。一般是由开发组集体讨论给出这个预估时间。
4)Actual Cycle Days 是完成一个task真正花费的时间,如果这个时间跟Estimated Cycle Days(预估时间)相差很大的话,整个team就要做回顾和总结,哪里出了问题。从而解决问题。一般一个新的组建初期,estimated Cycle Days和Actual Cycle Days相差都会比较大。通过几次迭代之后,大家都相互了解之后,estimated Cycle Days会变得越来越准确。
5)task优先级。用来排序拿个task要先做的。这个是由产品拥有者来决定,scrum里面叫product owner, 传统项目中叫bussiness user。 就是谁来出钱做这个项目的,或者由产品来决定。
6)task 负责人。
6、KanBan和Scrum的区别
有的项目可能用的是Scrum,Scrum会比Kanban复杂。
在Scrum有严格角色定义,开发周期管理。但是看板是没有的。
Scrum是一个完成的开发管理框架,比较完善的,而kanban只是开发流程的管理工具,可以放到各种开发框架中去的。
image.png














网友评论