為是麼要搞敏捷開發?
最常聽到敏捷的好處就是快,除了快還是快。是什麼快呢?為什要快呢?快是為了什麼?快就一定好嗎?如果快是實行敏捷的主要甚至是唯一的原因,在敏捷宣言中為什麼都沒提到快這個字呢?
回頭看看敏捷宣言
個人與互動 重於 流程與工具
可用的軟體 重於 詳盡的文件
與客戶合作 重於 合約協商
回應變化 重於 遵循計劃
跟快比較牽扯的上關係的只有最後一句回應變化的部分,回應變化代表的是彈性,適應力高。快也許是一種適應環境回應變化的方式,但絕不是唯一的方式。在缺氧的環境中,動作快的動物往往比較快陣亡。反而慢郎中的因為新陳代謝慢,耗氧低,還比較容易存活。所以回應變化代表的該快的時候像獵豹,該慢的時候像蝸牛,該硬的時候挺身而出,該軟的時候裝俗辣。
在導入一開始有跟Agile Coach聊過Scrum,Yves對敏捷的第一印象也是應該會提升產出(快),最好是比以前快個三四倍,得到的回饋是敏捷是為了增加彈性,不是求快(For flexibility not speed)。最後體驗也才了解敏捷開發最大的好處是在提升適應性。
Scrum怎麼提升適應性呢?具體反映在鼓勵團隊接觸客戶(感知外在商業環境),強迫排出優先順序(價值最高先做,最小資源換取最大效益),一到兩周的Sprint 長度和小批次的發佈(把浪費和半成品減到最低),和自組織的團隊(由最前線最知道現狀的團隊響應變化)。
所以當有人說敏捷的好處就是快的時候,也許他在某些情境下是對的,但在你的情境下,快是最需要的嗎?
圖片:http://www.mojduniya.com/picdetail.php?catId=53&tid=159
在〈天下武功,唯快不破? – 敏捷開發是為了快嗎?〉中有 1 則留言