在 2000初期時, XP 開始盛行, 那時候出版了一系列的 XP 的書籍, agile 的方法也開始討論.
那時候我覺得這些想法很吸引人, 很值得去學習. 只是覺得 TDD, CI, refactoring 這些東西學起來還蠻花時間的, 不容易在組織內推行, 要花不少時間才能精通, 才能看到績效.
後來 Scrum 出現之後, 發現他似乎比較容易導入, 因為只要開一些會就可以(誤), 進入門檻低很多, 不需要花很多時間就可以開始, 並且可以看到結果.(不見得是效果(誤 again))
但是 ... 還是要iteration, 和有些新增加的角色來改善工作流程, 對很多人來說這還是很麻煩, 對他們來說這還是很大的轉變
直到 Kanban 出來, 忽然覺得這真是個好物: 不用改工作流程, 不用改角色, 不用改組織架構. 只要你把工作狀況視覺化, 一切問題就被修復了(誤)
所以我想這三者之間最明顯的差別:
XP 和 Scrum 是屬於徹底性改革, 它提出不同組織型態 (feature team), 不同角色(Scrum master, Product owner), 不同進行節奏 (iteration), 試圖把目前組織所有事情翻過來, 大破大立, 開創新局.
可是綜觀歷史, 大破大立能成功的例子, 應該伴隨的代價都不小, 話說哪裡不死人(誤), 只要不是自己遇到都可以.
但是如果是自己遇到, 需要自己去改變習慣, 犧牲自己的時間或是金錢, 來成就徹底性改革的結果, 我想很多人就會很猶豫了...
可是 Kanban 是屬於演進, 是持續性改善. 它並不是軟體開發流程, 它只是一個變革管理的工具. 它需要結合目前你使用的的開發流程來使用.
他關心的是你的資訊是否足夠透明化, 你是不是同時做很多事情, 你是不是哪個步驟做很久, 你是不是哪個步驟跳很快. 藉由看到問題, 來驅使大家做處理. 並不是一下給大家最好最正確的做法. 或許最終的做法是 Scrum/XP 的方式, 但是它是讓你最後自行調整到那個境界.
因此, 如果你的組織需要大破大立, 可以受得了改朝換代, 需要下猛藥治療的, 那 Scrum/XP 是很好的選擇.
但是你的組織老頑固不少, 或者安於現狀者多, 或是體弱多病(例如時程或人事問題)經不起用力摧殘, 我想 Kanban 是個不錯的開始, 然後慢慢引導到 Scrum/XP 的樂土(誤) XD
留言列表