重點摘要#
- 專案中的每個決定都可以視為一種投資,應該用投資報酬率(ROI)來評估
- ROI 不一定要以金錢衡量,但投資應該帶來附加價值
- 不同情境下最佳的架構決定可能不同 – 有時快速上線比完美架構更有價值
- 將架構決策視為投資,用 ROI 來比較選項的務實程度
詳細內容#
每個決定都是投資#
我們為專案做的每一個決定,無論是技術、流程還是人員相關的,都可以被視為一種投資形式。投資伴隨著成本(不一定是金錢上的),並帶著它們最終會回報的信任。雇主選擇給我們薪水、我們選擇遵循某種開發方法論、我們選擇花一個月重新設計應用架構 – 這些都是投資。
用 ROI 衡量決策#
衡量投資成功與否的方式之一是投資報酬率(ROI)。例如:假設目前每週 40 個工時中有 10 小時花在修 bug,我們估計每週投入 4 小時寫測試可以將修 bug 時間降到 2 小時,有效節省 8 小時。這樣預期的 ROI 就是 200%(節省的 8 小時除以投入的 4 小時)。
情境決定最佳選擇#
不是所有事物都能直接轉化為金錢收益,但投資應該帶來附加價值。如果專案的利害關係人最看重的是上市速度,那麼需要漫長前期設計的防彈架構可能不如快速發佈 alpha 版本來得有價值。
透過快速上線,我們獲得了根據用戶回饋調整方向的能力,這可能成為決定專案成功的關鍵因素。反之,缺乏充分規劃可能導致後期無法有效擴展應用程式的成本。
實務建議#
考慮將架構決策視為投資,並計算相關的報酬率。這是一個有用的方法,可以幫助你找出每個選項的務實程度和適用性。每個選項的 ROI 可以透過檢視其成本和預期收益來確定,並作為選擇的基礎。
— By George Malamidis