在很多場合時, 常常有人會問說使用 agile 來開發會不會比較快, 我的答案通常說是不會.
接下來很多人就會說, 如果不會比較快, 那為什麼要用 agile? 這樣怎麼跟老闆說要用這個方法, 老闆一定不會答應的, 沒有比較快, 就沒有賣點了.
或者還會聽到對方接著說, 可是有顧問說, 用了 agile 後, 開發速度就會變快. 你是不是不會 agile啊!? 那我找別的人來問好了.
在我現在的能力來說, 我只會回答, 用了 agile 之後, 只是讓你對於 change, 有較好的應變能力. 但是能不能變快, 就要看你在知道問題發生後, 你是不是有在增強自己處理問題的能力. 如果你有持續在改善自己的做事方法, 那可能就會做比較快.
以前用 waterfall 時, 你要在一年內開發 100 個功能, 最後做不完才會緊張. 改成 agile 之後, 一個月要做 8 個功能. 因為東西少, 時間短, 做事方法一旦有問題, 馬上就會曝露出來. 也就是水深的時候, 看不出哪裡會淤積, 可是當水淺的時候, 那些淤泥或者石頭, 就會被看得很清楚.
這就是 agile 用 iteration 開發方式的目的之一, 讓你在短週期中, 很快看出自己哪裡流程不順, 哪裡做得不好. 然後透過 retro 反思, 討論下次要怎麼改進.
可是 agile 並沒有告訴你要怎麼做才能解決你所遇到的問題, 或許 XP 中的 practice 可以幫忙, 但是也沒有人告訴你要如何客制化, 把這些 practice 整合到你的團隊組織中.
也就是說即使 agile 告訴你有問題後, 如果你沒有花時間 do something, 那你還是跟以前一樣, 開發速度和能力還是不變, 所以我才會說用 agile 開發不會比較快.
至於顧問或是工具廠商說會比較快, 可能是他們能力真的不錯, 或者是錢拿得比較多, 所以信心比較強吧.
留言列表