敏捷要何時使用? 如果功能都不會變動時, 是否用 waterfall 就好? 或者哪種方法比較好? 這樣的問題我想你一定常常聽見. 今天我們就來聊聊這些方法的使用時機.
首先, 沒有哪個比較好, waterfall 不見得比 agile 差, 或 agile 就一定可以擺平所有事. 重點在于因地制宜.
日本劍聖宮本武藏曾提到, 他本身不偏好或排斥某種武器, 這樣才能因時制宜, 發揮所長以克敵制勝. 他在五輪書‧地之卷中寫道: 比起同時使用兩把刀, 習練單手使刀更為重要, 才能在各種情境下都運用自如.

寫到這裡, 有人會說, David 不要講幹話, 這樣有講跟沒講一樣. 好吧, 那就來正經聊聊
首先, 來看一個由 Ralph Stacey 所建立的東西: Stacey graph. 他從兩個面向來歸納你的事情是屬於哪一類. X 軸是技術, 看技術明確層度. Y 軸是需求, 看需求明確不明確. Simple 區就是表示需求很清楚確定, 並且所使用的技術也確定. Anarchy 區就是一切都不確定.

根據這樣的分類, 網路上說
(1) Simple: 可使用 waterfall 的做法
(2) Complicated and Complex: 可以使用 agile 的做法,
(3) Anarchy: 可以使用 Lean Startup 的做法
另外, 也有人是這樣分類的, 他參考的兩個面向是 Problem and Solution. 看他們是未知或是已知. 因此會有下圖四種組合. 每種組合會有不同方法來匹配. (1) 問題和解法都已知的: waterfall.
(2) 問題已知, 解法未知: Scrum.
(3) 問題未知, 解法已知: Kanban
(4) 問題和解法都未知的: Lean Startup

這裡的分法是看環境變化和任務內容, 環境是快速變遷, 或者是穩定. 以及任務是定義良好, 還是變動很大. 不過這篇文章感覺是 PMP 那邊的人寫的, 對於 Agile 和 Lean Startup 不太懂. XDD

Michael Sahota 大大則是提出不同的想法, 從事情專注和分工狀況來分類, 不過以他角度來看, kanban 快要無所不能了.XD

我自己覺得, 如果需求不會變, 弄成 water scrum fall 也不錯. 前面把需求整理完後, 中間用 iteration 方式逐步交付, 主管會比較安心, 因為每次都會看到團隊有做出一些東西出來. 而不是最後一拍兩瞪眼, 有就有, 沒有就沒有.

其實, 不管誰說哪些狀況可用哪些方法, 會用的就會用, 不會的就是不會. 就好像台灣藍綠兩派一樣, 不管誰說什麼, 還是含淚投下去. XDD
全站熱搜