在 Learning Agile 一書中提到, 傳統瀑布式開發如果可以執行的很成功, 通常有以下幾個特色:
(1) 溝通順暢
從客戶, 專案經理, 到高層老闆, 都會不斷溝通
(2) 擁有不錯的工程實踐
Code review 和 test automation 都會甘願地去做. 期待可以做到 defect prevention
(3) 沒有存在不被人用的文件
雖然不見得有太多文件, 但是事前都些寫些文件, 因為他們知道事後絕對不會來補, 或者那時候就真的沒人看了
這讓我想起公司早期的狀態, 我那時候 2003 進來, 很多工程實踐都有做, 有版控系統, 有 daily build, RD 和 QA 是 1:1, 並且各類的測試都有進行(效能測試, 易用性測試,弱點偵測, beta 測試等等).
我們是一家以 RD 為主的公司, 注重技術的追求, 因為相對地政治勾心鬥角的狀況不多, 大家溝通上還算可以. 也可能我們是做產品的, 不是 project based, 不見得隨時都要跟客戶溝通, 所以整個開發團隊溝通還算可以.
另外, 公司的文化之一是 change, 那時候每 1-2 年會組織變動, 或者是導入新觀念 (design thinking, agile, AI), 對於變化算是很習慣吧. 知道如何因應這些改變. 某種程度上算是有些 agile mindset 吧.
因此, 傳統瀑布開發能夠成功, 他其實具有了 agile 的 practice, 以及敏捷的思維. 所以他在應付改變時, 也不見得會遜色太多.
但是, 如果你號稱在跑敏捷, 也有使用某些 practice, 可是卻沒有敏捷思維或者不遵守. 這代表這個團隊只是找著別人說著去做, 但如果遇到一些沒見過的危機, 他可能只是照著現在的做法繼續做下去, 但卻不知道要調整或演進目前的做法.
瀑布開發團隊有敏捷思維和實踐, 仍然可以活得不錯.
套用敏捷流程和實踐的團隊, 卻沒有敏捷思維時, 遇到不如意, 很容易就會失敗.
文章標籤
全站熱搜
留言列表