2026/01/06

2026-01-06.png

「技術偉大之處在於,做一事從來都不只有一種方法。取而代之的是,我們都必須根據團隊的處境和情況做出一系列的權衡。」——《Google 的軟體工程之道》

什麼是軟體工程師?

是撰寫程式碼的人?還是用軟體解決問題的人?又或者是?

我們都理解那句「手裡只有錘子,看什麼都像釘子」的比喻,但我們也確實經常在不自覺間落入該比喻所指的情境。

那麼問題是你的工具箱不夠豐富,裡面只有錘子?還是你最擅長使用錘子?或你忘記你有其他工具?該不會是你的老闆規定你只能用錘子?

如同本日金句所述,在軟體開發交付的實務現場,我們經常需要在交付速度、品質、成本與風險之間做出權衡。

那麼你對於其中「處境」和「情況」的了解有多少呢?你擁有多少的資訊及知識來幫助你做出這些權衡?以及你又有多少的餘裕和彈性空間去換取這些權衡?

Agile 和 DevOps 一直在強調我們要提升團隊的資訊透明度和應對不確定性的能力;而這正是能幫助我們獲取資訊,在適當的時間,做出必要的權衡。