Scrum 或是 Kanban? 要用哪個?

Scrum or Kanban? YES!
http://agilitrix.com/2010/05/scrum-or-kanban-yes/

Scrum 是利用管理的角度, 來實踐 agile 的精神. 它要有release planning meeting, sprint planning meeting, daily standup meeting, reviewing meeting 和 retrospective, 來規劃, 檢視和調整所做的事情. 它把事情切成小批次進行, 每個批次都在一個固定的時間(iteration的概念)內完成. 此外, Scrum 也是一個架構(framework), 它定義了要進行甚麼事情, 也就是前面提到的 meeting 和小批次, 但是沒有提出要如何實作, 因此每個團隊可以根據它的環境, 決定要怎麼做.

而 Kanban 則是提出了一個更簡化的架構. 它以目前你所使用的流程為主, 來進行改進和排除浪費. 他利用WIP (work in Progress) 來替醒大家要系統思考, 不要只是局部最佳化. 它不需要每固定一段時間就交付可發行的產品, 它也不需要一定要進行 scrum 所提到的 planning, 它是採用pull 的觀念, 做完後拉下一個工作來處理, 進行及時(Just in Time, JIT )的規劃即可.

因此它限制最少, 可以套用的環境最多. 但是也因為限制少, 你可能會不知道要如何進行, 所以你可以搭配 Scrum 和 XP 的實務(practices) 來進行, 也就是說 Kanban 和 Scrum/XP 是互補的. 你可以搭配 Scrum 的daily standup meeting 來每天同步訊息, 也可以利用 XP 的 continuous integration 來確保修改的部分不會影響之前的系統.

所以當你在學習 Kanban 時, 建議你需要先有 Scrum 和 XP 的知識, 把 Scrum 和 XP 當作基礎知識. 然後再來學習 Kanban 中的精實思考(lean thinking), 系統思考(system thinking), 排隊理論(queuing theory), 和價值流對應(value stream mapping). 接著便要學習如何把Kanban 和 Scrum/XP 整合在一起, 以調整去適應你所處的環境或專案. 很多文章或是書籍, 都會介紹 Scrum 和 Kanban的不同, 以及互相互補和套用的地方, 若是你完全不會 Scrum, 便會不知道它們在講些甚麼.

適用環境
1. Scrum
- 適合有共同目標和任務的環境
- 你團隊成員大多是通才, 可以處理多個領域的事情
- 適合需要深度合作或創新環境
- 適合團隊成員數目在 7 +/- 2 人

2. Kanban
- 當你會遇到許多中斷或打擾, 例如: 可能要處理不同任務, 或者要處理外界突然進來的事情
- 你團隊成員是各個領域的專家
- 大多是重複性質的工作, 例如像是生產線的事情
- 適合團隊成員數目大於9人以上

以下是圖形可以來描述, Scrum 和 Kanban各自適合情況
a. Y 軸是指專注程度. 越上面通常是只處理一個專案, 越下面則代表他越容易受到打擾, 或者需求相當發散分岐
b. X 軸是指工作重複和清晰程度. 越左邊重複性越高, 可能需要專門技術人員來處理. 越右邊越需要探索, 因為不確定性很高

所以可以知道 Scrum 落在右上方的地帶, 而 Kanban 是在中間地帶. 每種方法有其適合的甜蜜點, 並非他能適合所有狀況. 此外, 你應該把 Scrum/XP/Kanban 視為是你能使用的工具, 工具沒有對或錯, 只有好不好用. 你可以殺雞用牛刀, 但是也可以用別的. 你應該是不同狀況, 決定使用的工具, 而不是讓工具使得你綁手綁腳的.

就宮本武藏所說的: 勿以器御心. 是你在選工具, 而不是讓工具綁架了你.

arrow
arrow
    全站熱搜

    kojenchieh 發表在 痞客邦 留言(0) 人氣()