The Nature of Software Development
薄薄一本、每頁短短的還有可愛插圖(?),觀念不難但做到很難。
軟體開發環繞著「value」,翻成中文我想是「價值」。
value is “what you want”.
重要概念:
- 決定 value 是什麼或者說要什麼,feature 會為軟體帶來 value
- 以重要性決定做 feature 的順序
- 以 feature 組織 team
- feature by feature 開發,以 feature 了解目前進度
- 頻繁 deliver 得到回饋以知道是否需要調整 feature、方向甚至可以結束開發
每個概念都有更細的觀念跟具體作法,不過本書不太提具體作法。
Agile
整本書概念算是環繞著 Agile 的精神吧,看完最大感想:
Agile is simple, but not easy.
Agile 應該不只是開發人員的事,也包含業務甚至客人,而光開發要能做到就已經很困難了。
我沒有長時間跑 Agile style 開發的經驗,不知道長時間運作的結果,也不知道跑起來順的 Agile 是什麼樣子。只有拿相關東西做些實驗,例如 unit test 跟自動化測試,但連 CI 都還稱不上。
對開發而言光是「隨時保持軟體可正常運作、可以 deploy」,也就是完整 CI/CD 就已經很不容易了。