敏捷学习笔记【二】——《看板和Scrum相得益彰》

1 什么是Scrum,什么是看板?

Scrum简介

敏捷学习笔记【二】——《看板和Scrum相得益彰》_第1张图片

敏捷学习笔记【二】——《看板和Scrum相得益彰》_第2张图片

我们不是靠一个庞大的团队,花大量时间造出庞然大物;而是用小团队在短时间内
做出小块的东西来,在有规律的集成中组装出全貌


看板

  • 将流程可视化
  • 限制 WIP(在制品,work in progress)──明确限制流程中每个状态上最多同时进行的任务数。
  • 度量生产周期(完成一件任务的平均时间,又称循环周期),对流程进行调优,尽可能缩短生产周期,并使其可预测。

 2 Scrum和看板有什么关系?

工具=用于完成任务或达成目的的任何东西
过程=工作方式
Scrum 和看板都是过程工具,它们讲的是做哪些事情能够在一定程度上帮助你提高工作效率。
Scrum 的规范性比 XP 弱,因为它没有规定任何具体的工程实践。但它又比看板规范,因为它规定了迭代和跨功能团队之类的东西。

看板几乎对任何做法都是开放的。它仅有的约束就是将流程可视化和限制在制品。它离做什么都行只有几步之遥,但仍有令人惊异的力量。
 

敏捷学习笔记【二】——《看板和Scrum相得益彰》_第3张图片

 3 Scrum 规定了角色

 Scrum 规定了三种角色:产品负责人(描绘产品远景,定义优先级)、团队(实现产品)、 Scrum Master(消除障碍,带领过程运作)。
看板没规定任何角色。

4 Scrum 规定了固定时长的迭代

固定时长的迭代是 Scrum 的基础。你可以选择迭代长度,但一般都会在一定时间内
让迭代长度固定不变,继而形成节奏。

  • 迭代伊始:综合考虑产品负责人定义的优先级和自己的生产率,团队从产品backlog 里面挑选出一定数量的条目,创建迭代计划。
  • 迭代进行中:团队全心投入所承诺的任务。迭代范围已固定。
  • 迭代结尾:团队向相关干系人演示他们可以工作的代码,理想情况下,这些

代码基本上是可以发布的(经过测试可以交付)。然后团队进行回顾,讨论如何改进过程。
所以 Scrum 的迭代就是一段长度固定的单声部旋律,混合了三种活动:计划、过程改进、(理想中的)发布。
 

 5 看板按流程状态限制 WIP,Scrum 按迭代限制 WIP

Scrum 的 Sprint backlog 显示了当前迭代(迭代也就是 Scrum 术语中的 Sprint)要完成哪些任务。它们一般都用墙上的卡片展示,被称作 Scrum 板(Scrum board),或是任务板(Task board)。
那 Scrum 板和看板图(Kanban board)有什么区别呢?
 

敏捷学习笔记【二】——《看板和Scrum相得益彰》_第4张图片

 那这两块样板的区别是什么呢?喏──就是看板图中间那一列上的那个小字 2 啊。就是那点东西。 2 的意思是“不管什么时候,这一列上最多有两个任务”。

换成 Scrum 的话,团队大可以把所有东西都放到 Ongoing 那一列里面去!但因为迭代本身的范围是固定的,所以 Scrum 依然有个潜藏的限制。看板直接限制了 WIP,Scrum 是间接限制的。
所以,Scrum 和看板都是限制 WIP 的,只是方式不同。
Scrum 的 WIP 按单位时间限制。
看板的 WIP 按流程状态限制。

如果各项任务的规模差异很大,那可能就得考虑用故事点或是其他尺寸单位来定义WIP 上限了。有些团队会花时间把任务都拆分得大小差不多,从而避免费心考虑用什么单位限制 WIP,也减少了估算的时间(你或许会认为估算也是浪费)。任务大小相近,就更容易创建一个平滑流动的系统了。

6 二者都是经验主义的

 Scrum 和看板都是经验主义的产物,你用的时候需要先进行试验,然后根据自己的环境作调整。实际上,你必须得先试验。   Scrum 和看板都没给出一切问题的答案,它们只是给了一些基本约束,以此驱动过程改进。

 改善(Kaizen。即持续改进,精益术语),内省与调整(Inspect& Adapt,Scrum 术语),经验式过程控制(Empirical Process Control),乃至科学方法(The Scientific Method)。

 它最核心的一点就是反馈环。改变 => 检查结果 => 从中学习 => 继续改变。一般而言,反馈环越短越好,这样可以快速调整过程。

7 Scrum 在迭代内拒绝变化

 看板的原则是“一件出去,一件进来”(由 WIP 驱动),所以看板团队的响应时间(多久才能响应优先级的变化)就等于他们要花多长时间才能把手头的事情做完。

crum 的平均响应时间等于 sprint 长度的一半。


 8 Scrum 板在迭代之间重置

在 Sprint 的不同时期,Scrum 板通常有不同的样子: 

 敏捷学习笔记【二】——《看板和Scrum相得益彰》_第5张图片

 看板图的样子几乎是一成不变的──你不需要把板子清理干净,重新开始。

敏捷学习笔记【二】——《看板和Scrum相得益彰》_第6张图片

9 Scrum 规定了跨功能团队


10 Scrum 的 backlog 条目必须能跟 Sprint 搭配的上
 

Scrum 团队只会承诺他们认为能在一个迭代里面做完(基于他们对“完成”的定义)的任务。如果任务太大了,一个 Sprint 放不下,团队跟产品负责人就会寻找方法拆分,直到能放下为止。如果任务都比较大,迭代就会较长(虽然一般都不会超过四周)。

敏捷学习笔记【二】——《看板和Scrum相得益彰》_第7张图片
 看板团队努力缩短生产周期,保持顺畅流动,而这些因素会间接推动团队把任务拆分成相对较小的片段。但是看板对任务规模没有明文规定一定要在某个时间内做完。在同一张板上,我们可能会既有 1 个月做完的卡片,又有一天能做完的卡片。

敏捷学习笔记【二】——《看板和Scrum相得益彰》_第8张图片

11 Scrum 规定了估算和生产率

在 Scrum 里面,团队要对每个承诺的任务估算其相对大小(=工作量),到迭代结束的时候,把每个任务的大小相加,就得到了生产率。生产率是度量团队能力──我们每个 Sprint 能交付多少东西──的指标。下面是平均生产率为 8 的一个例子。

敏捷学习笔记【二】——《看板和Scrum相得益彰》_第9张图片

知道平均生产率为 8 是件好事,因为我们可以据此合理推测接下来的 Sprint 能做完多少任务,继而做出合理的发布计划。

12 二者都允许在多个产品上并行工作
13 二者都是既精益又敏捷

Scrum 和看板跟精益思想和敏捷宣言里面的价值观和原则是相当吻合的

14 小小差异 

Scrum 规定了经过优先级排序的产品 backlog
 Scrum 的优先级是通过产品 backlog 排序体现的,优先级的变化会在下一个(不是当前的)Sprint 生效。

Scrum 规定了每日立会
Scrum 团队每天都会在同一时间同一地点开一个短会(最多 15 分钟)。这个会议的目的是让大家知道工作进展,计划当天任务,识别严重问题。它有时被称作每日立会,因为一般都是站着开的(站着开时间短,大家也更有精神)。

Scrum 规定了燃尽图
Sprint 燃尽图每天更新,展示当前迭代还剩多少工作没做。燃尽图的主要目的是便于尽早发现实际进度跟计划的偏差好作出调整。

累积流图(Cumulative Flow diagram)的一个例子。它生动地展示出流动的平滑与否,WIP 如何影响生产周期。
敏捷学习笔记【二】——《看板和Scrum相得益彰》_第10张图片

“理想中的工作安排,是应该总是为开发团队准备好下一步要做的事情,既不能多也不能少。 ”

相似性

  • 都是既精益又敏捷。
  • 都是拉动式计划。
  • 都限制了 WIP。
  • 都以透明的方式驱动过程改进。
  • 都关注于尽早交付、频繁交付可发布的软件。
  • 根基都是自组织型团队。
  • 都需要把工作拆分。
  • 发布计划都是根据经验数据(生产率/生产周期)不断优化的
     

你可能感兴趣的:(个人笔记)