Kanban vs Scrum 簡要說明並比較 scrum 以及 kanban,雖然兩者都屬於 agile managment 的方法,但在自由度的精神上,還是有些差異。一個 agile 團隊不會照單全收某個方法的所有工作指引,而是在透過討論與實際的驗證,決定該怎麼進行團隊管理,本文的作者認為可以整合 kanban 與 scrum 方法,調整為自己的團隊專屬的專案管理方法。
中文版 比較Kanban和Scrum
scrum
- 將所有成員分為數個 small, cross-functional, self-organizing teams
- 將整個專案切割為數個 small, concrete deliverables,並以 priority 以及預估的 effort 排序
- 將時間切割為 short fixed-length iterations (通常是 1~4 週),每一次 iteration 都能產出可 demo 可釋出的 code
- 持續跟客戶review release plan 並更新工作的優先順序,基本是以每一次 iteration 結束 release 的產出目標為基準。
- 每一次 iteration 之後,都要再 optimize process
kanban
- 將 workflow 以圖表視覺化
切割工作項目,寫在卡片並貼在牆上
在 workflow 中為每個工作 columns 命名工作階段 - 限制 WIP(work in progress),明確地限制每一個 workflow state 的 WIP 上限
- 估算 lead time(完成一個 item 需要的平均時間,也稱為 cycle time),持續改善 process 直到可以正確地估算 lead time
Agile 自由度
以下的圖表,將幾個管理方法放在 agile 自由度的光譜上度量,流程越複雜,細節越繁瑣的管理方法在左邊,輕量化,以軟體產出為主要目標,讓團隊更專注在專案開發上,減少專案管理 effort 的管理方法在右邊。
換句話說,Agile 就是讓團隊成員越自由,老闆不需要管什麼,就能自動把專案跟事情做好,但這應該只是理想,人與人之間還是需要一些溝通與資訊交換,才能確保軟體功能實作時,內部的資料邏輯與精神是一致的。
focus vs interrupts, repeatable vs exploratory innovation
Scrum 與 Kanban應用環境 文章中提到Scrum or Kanban? YES! 提出的一個比較的圖表。
二維的圖表可區分為五個區塊
- focus - innovation
scrum
同時需要專注在創新以及專案開發,並維持持續交付 deliverables - focus - repeatable
production line kanban
例如生產線作業員、產品量產階段 - interrupts - innovation
混合使用 scrum 與 kanban - interrupts - repeatable
support kanban
例如客服中心、公司內部的 MIS,需要團隊持續維護,並作些微的調整與修改 - 中間
kanban
類似的地方
- 都是符合 lean and agile 精神的管理方法
- 都使用 pull scheduling
- 都有限制 WIP (work in progress)
- 都利用 transparency 透明化來改善工作流程
- 都著重於儘早及經常交付可出貨的軟體
- 都是給 self-organizing team 使用
- 都要求把工作拆解成更小的工作細項
- 發佈計畫是根據資料(速度/前置時間)來持續優化
不同的地方
Scrum | Kanban |
---|---|
timeboxed iterations prescribed (預先定義 itertation 的時間) | timebox iterations optional (可區分 planning, release, process improvement 階段,且可以 event-driven 取代 timeboxed) |
團隊 commits 每個 iteration 交付的工作量 | commitment optional |
以 velocity 生產率 作為流程改善與計畫的 metric | 以 Lead Time 生產週期 作為流程改善與計畫的 metric |
cross-functional teams | cross-functional teams optional 允許有 specialist teams |
工作必須 break down 至 1 sprint 可完成的份量 | 沒有特定的 item size |
burndown chart prescribed | 沒有特定的 diagram |
間接限制每個 sprint 的 WIP | 直接限制每個 workflow state 的 WIP |
estimation prescribed | estimation optional |
不能在進行中的 iteration 增加 item | 只要團隊容量允許,就可以增加 item |
由一個特定團隊維護 sprint backlog | 數個團隊或多人共享一個 kanban board |
有三個角色 PO/SM/Team | 沒有預定的角色 |
sprint 結束後就重設 scrum board | kanban board 是永久長存的 |
預先定義 prioritized product backlog | prioritization is optional |
Reference
從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup
Intro to Kanban in Under 5 Minutes (What is Kanban, Learn Kanban)
沒有留言:
張貼留言