從 scrum 到 kanban: 為什麼 scrum 不適合 lean startup

42
Scrum Kanban: 為什麼 Scrum 不適合 Lean Startup CTO PassionBean [email protected] 2012/9/11

Post on 12-Sep-2014

21.501 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

從 Scrum 到 Kanban:

為什麼 Scrum 不適合 Lean Startup

CTO [email protected]

2012/9/11

Page 2: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

About me

• 張⽂文鈿 a.k.a. ihower

• http://ihower.tw

• 熱情⾖豆⾏行動樂活科技 CTO

Page 3: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

本來我也是不屑 Lean Startup 的,我⼜又不是創業家...

Page 4: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

本來我也是不屑 Lean Startup 的,我⼜又不是創業家...

第⼀一名竟然是 The Lean Startup ?!!

Page 5: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

本來我也是不屑 Lean Startup 的,我⼜又不是創業家...

第⼀一名竟然是 The Lean Startup ?!!

這個作者 Eric Ries 竟然是CTO技術出⾝身!!

Page 6: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

好吧,就來翻⼀一翻

Page 7: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

so... 到底什麼是 “Lean” Startup?

Page 8: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

Lean Startup• ⼀一套管理創業過程的⽅方法• 透過 Build -> Measure -> Learn 的循環過程,快速、低成本的科學實驗⽅方法,不斷調整來驗證產品跟市場的契合度

• 開發任何功能前,都必須先有假設,然後當做實驗來驗證學習。任何和學習無關的功能開發都是浪費。

• 直到找出 Business Model 營利模式,才開始進⾏行規模擴張。

Page 9: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

⼀一開始⺫⽬目標客⼾戶跟產品特性都是不確定的

• Scrum/XP 等敏捷⽅方法論

• Problem 已知 (PO和Client會告訴你要建造什麼)

• Solution 未知 (透過Iteration開發)

• Lean Startup

• Problem 未知 (透過BML循環逼近)

• Solution 未知 (透過continuous deployment開發)

Page 10: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

抱歉,我只有五分鐘,詳情建議⼤大家回去買書

來看...

Page 11: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

對我最⼤大的啟發

• 敏捷和精實開發強調開發有效率、不浪費• 但是最⼤大的浪費是做出沒⼈人⽤用的東⻄西• Lean Startup != 創業才能⽤用,只要開發新產品,就值得⼀一看

• 我開始跨界了

Page 12: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

Scrum 跟 Lean Startup 不速配嗎?

Page 13: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

我覺得有疑慮的幾點

• 不夠均衡的⾓角⾊色定義• ⾃自找⿇麻煩的固定開發週期• 只強調⼯工程品質• 不必要的估算• 無法照顧全局的流程

Page 14: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

1. Scrum 不均衡的⾓角⾊色定義

Problem Team

Cross-functionalSolution Team

PO

Dev Dev Dev Dev Dev Dev

SM

決定做什麼 決定怎麼做

Page 15: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

• 採⽤用 Scrum,你其實有兩個 Team,⽽而 cross-functional 和 self-organized 講的都是右邊的Team。

• 決定做什麼是 startup 最關鍵的事情,但是 Scrum 裡都交給書裡篇幅最少的PO

• Scrum 常站在⼯工程團隊的⾓角度去凸顯 Problem team 和 Solution team 之間的衝突 (例如 SM 要保護右邊 Team 的⼈人不受干擾,⽼老把⽼老闆跟PO當成敵⼈人。建議 PO 和 SM 最好不要同⼀一⼈人因為⾓角⾊色衝突)

Cross-functional?

Page 16: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

⺫⽬目標不⼀一致也許是不同部⾨門,或是外包的情況

• Problem team: 盡量壓榨 Solution Team 做更多的事情

• Solution team: 可以如期 (Sprint) ⾼高品質的完⼯工

Page 17: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

Startup 應該只有⼀一個 Team

Problem/Solution Team

DesignDev Marketing

Page 18: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

Startup Team ⼤大家⺫⽬目標⼀一致:

產品有⼈人⽤用

Page 19: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

• 在 startup 裡,PO也不知道做什麼才是對

• 在 startup 裡,要做什麼,scope 有多⼤大,⾮非常彈性可以商量,可以也應該要納⼊入⼯工程端的想法

• 因此,參與新產品開發,不要把⼯工程師只當做⼯工⼈人,⽽而是⼀一起積極參與產品規劃。

• ⼤大家都透過 Lean Startup 的 BML 循環來學習驗證

⼈人⼈人都要參與產品規劃

Page 20: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

2. ⾃自找⿇麻煩的固定開發週期

• 已知:營運 Operation team 不適⽤用

• Op team 是 Event-driven,每天都有問題需要優先處理

• 無法事先計畫⼀一週不被打擾的 Sprint

• ⼀一天的 Sprint 也不⾏行,有的任務會超過⼀一天

Page 21: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

Startup 就只有⼀一個 Team 同時負責開發和營運啊!

• Scrum 似乎假設了你會有分開的 Development Team 和 Ops Team

• 只有⼀一個 Team,Developer 就是 DevOps

• Product is Living,⽽而採⽤用 Sprint 的平均反應時間會是週期的⼀一半,太慢了。

Page 22: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

UI 設計要在 Sprint 裡嗎?

• 設計算是 Problem team 需求範圍還是 Solution team 範圍?

• 如果放 Solution 範圍,在 Sprint 內完成的話• planning meeting 時可能會發⽣生⼯工程師會無法估計⼯工時的情況 (UI 複雜度可能會影響施⼯工難度)

• Sprint 裡容易發⽣生 Developer 在空等設計的情況

• 好吧,那把設計提前⼀一個 Sprint?

Page 23: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

你需要 Code Freeze 的驗收測試階段嗎?

• 完美的 Scrum 世界,每個 sprint 結束就是可以發佈的狀態,所以不需要

• 實際上,Sprint 1 之後你會得到有 bug 的 1.0.0 版本

• 所以 Sprint 2 會被 bug 回報插⼊入...

• Scrum ⼤大師會跟你說那你 Sprint 要提⾼高品質啊...

• 在 Scrum and XP from the Trenches ch.14 ⼀一書也提到,作者也沒辦法做到...

• 實務上,他不建議有專⾨門的 release 階段,⽽而是塞到 Sprint 2 作為⾼高優先權....

Page 24: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

錯置的 Deadline ⺫⽬目標

• 容易發⽣生為了開發⽽而開發的情況,為了塞滿這兩週開發週期的能量,不讓⼯工程師閒著,⽽而找事情給⼯工程師做。

• 設定 sprint 也會偏向讓⼤大家計較完成的 deadline,⽽而不是產品真正的⺫⽬目標。

Page 25: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

Apple Store 審核時間不固定

• 審核時間從幾天到兩週不固定• ⼀一個版本上架後,希望⾺馬上送審下⼀一個版本

Page 26: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

Iteration 裡不能變更規格

• 本意很好,但這是從 Problem team 和 Solution team 拆開的情況下,⽤用⼯工程師的⾓角度來看... PO 好邪惡,要改規格....

• 對 startup 來說,⼤大家的⺫⽬目標⼀一致,需要變更就變更啊...

• 不是每個⼈人都介意修改

Page 27: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

同⼀一個開發週期嗎?

• 我的產品有 iOS, Android, Web 三個版本

• Scrum ⼤大師說,要 cross-functional,每個⼈人都要會 coding iOS, Android, Web 才是同⼀一個 Team...

Page 28: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

Continuous Deploymenthttp://radar.oreilly.com/2009/03/continuous-

deployment-5-eas.html

• Lean Startup 提倡的作法

• fail often fail early 才是最有效率降低發佈⾵風險的辦法

• 持續性的發佈產品,從每個 sprint 發佈⼀一次,縮短到每天,甚⾄至是每個 commit 就可以發佈。

• 要怎麼跟固定週期的 Sprint 搭配呢?

Page 29: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

到底哪些東⻄西要放 Sprint 前或後,要下⼀一個 Sprint 還是這⼀一個 Sprint?

我們是來解決問題的,不是製造問題!!

Page 30: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

3.只強調⼯工程品質

• Lean Startup 講的低品質,跟 Scrum 講的⾼高品質,講的是兩回事

• 前者主要講功能完善和作法• 後者主要講⼯工程品質,會定義於 Done 的條件

• Lean Startup ⼀一樣不認同產品缺陷 Defect,產品發佈後才修正,的確是⼀一種浪費

Page 31: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

有⼀一些品質,其實是可以商量的,在 Lean Startup 如果和學習驗證無

關,就是浪費。• 例如:• 跨瀏覽器• 效能更快• ⼿手機和Web是否需要資料同步

• 節省空間• 有多 Scale

• 其他⼀一些使⽤用者不容易察覺,但是⼯工程上可以偷⼯工減料的⽅方法

Page 32: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

4.不必要的估算

• 估算在 Problem team 和 Solution team 的情境下很重要...

• 但是其實只有在 delay 的成本超過估算的成本時,才需要做估算

• 簡單的估計可以幫助團隊凝聚共識,但多了就浪費時間了

Page 33: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

5.無法照顧全局的流程

• Scrum 只照顧了 “開發 Solution” 的流程,局部最佳化了⼯工程⾯面。

• 施⼯工前的要做什麼,施⼯工後的營運,著墨甚少。

• 以為導⼊入 Scrum 可以得到產品開發的流程,是錯誤的幻想。導⼊入 Lean Startup 還⽐比較有⽤用... (⾮非戰之罪,本來就不是 Scrum 的⽤用途⿇麻)

Page 34: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

雖然有這些疑慮,但我還是相信 Scrum。 直到我念了Kanban...

Page 35: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

Kanban 解放了我被⽅方法論禁錮的⼼心

Page 36: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

最輕量的流程管理⽅方法• Kanban 抓住最重要的流程關鍵原則• 局部最佳化的總和效益不等於整體最佳化效益,系統的產出應等於系統中最弱⼀一環的產出:系統之最⼤大有效產出決定於瓶頸資源或產能受限資源。

• Kanban 的作法很簡單• 視覺化看板 + 限制 WIP + 關注平均完成時間

• Kanban 可以讓你包含整個全局流程

Page 37: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

Kanban 適應性強! 正是變化最⼤大的 Startup 時期所需。

規範性較強

適應性較強

Page 38: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

跟 Scrum 的相同點

• 都是經驗主義(Empirical): Inspection 和 Adaptation,團隊不斷⾃自我調整找出最適合的作法

• 都是 Lean 和 Agile

Page 39: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

相異點• Kanban ⽤用每個流程狀態定 WIP 上限,

Scrum ⽤用 Sprint 定 WIP

• 沒有定義好的 Roles,每個⼈人沒有⼀一定要 cross-functional

• 沒有⼀一定要”固定週期不能改變”的 iteration

• 開發週期、發佈週期、retrospective 週期都可以依照需求設定

• 沒有⼀一定要做估算

Page 40: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

抱歉,時間不夠,建議⼤大家可以回去看這本

書...

Page 41: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

結論: 勿以器馭⼼心

• Agile 不⼀一定就是要⽤用 Timeboxed Iteration

• 先從 Kanban 出發,再從 Scrum 和 XP 中依現實需求來組合使⽤用

• 別讓框架框住你了

「勿以器馭⼼心」是宮本武藏的名⾔言,出⾃自簡體版的 Kanban and Scrum 翻譯

Page 42: 從 Scrum 到 Kanban: 為什麼 Scrum 不適合 Lean Startup

推薦資料

• The Lean Startup

• Kanban and Scrum - making the most of both, InfoQ