敏捷Agile方法

什么是看板Kanban?

  Kanban看板是一种新的Scrum方法,是对Scrum的发展,在肯定Scrum的自我组织和持续反馈的基础上,看板能够带给我们更多的灵活。

  下图是Scrum的示意图:

scrum图

  Scrum的问题是时间盒Sprint,当开始工作时,Scrum sprints总是变得太长了,当你的Sprint变得太长,版本发布频率就降低,团队被强迫等待很长时间,直至实现了客户的需求,这其实是瀑布法。

  另外一方面,如果sprints太短了,大的功能就被武断地切分成小的任务,有的可能对客户并不适用。(: Kanban Development Oversimplified).

  我们需要重新认识 Scrum设置sprints为固定时间长度是提供一种预测期限,如果我们能够在一个有固定时间的Sprint,我们就能定义团队能完成多少用户故事,然后就能发布版本列表,这些列表中是我们已经实现的功能。

  但是有时这个时间会突然变成两周,这个预测是不现实了。在使我们能够快速构建和演示功能时,用户改变他们的思维速度很快,需要我们学习和适应得更快,我们必须对这些变化落实到软件上提出解决方案作为回应。也许我们可以盲目地忽略这些变化,并顽固地沿着不甚正确的路径继续行军下来,因为我们的Sprint还没有结束?

  看板以不同的方式进行调度解决了这些问题。而不是通过一个时间盒的Sprint(看板没有Sprint概念),看板将重点放在一个团队在给定时间内能完成多少功能上,当一个功能被完成 -有 两件事情发生:

  1. 该功能可以立即发布到产品线(应团队希望这样做)
  2. 团队可以就什么下一个最高优先级的产品开始工作。即使该项目是今天刚刚学会!

下面是看板在视觉上跟踪每个功能的状态的一个示例:

  每一列代表该功能的状态,每个列下(5或3或2或3)数字该状态允许的最多时间数量。通常有一个toDO列表代表下一步需要做的,有1个或多个列来代表的工作或在建(包括开发Dev,测试Test和发布Release) ,最后是Done表示完成的列。

  看板将工作分成了几个不同的状态的优点:

  1. 根据您的团队的能力可以为不同的任务指定不同的工作负载能力,
  2. 让团队的工作实时状态与流程可视化,您就可以不断优化你的流程以及消除发生的瓶颈(或其它问题) 。

  其结果是,更快地采取反馈,又能获得更多的反馈。

  与原来的Scrum相比,自我组织与持续反馈在看板的计划中得到发扬。敏捷就是这样逐步演进。