重點摘要#
- 沒有人能預測未來,因此不可能為架構做未來保障
- 今天的解決方案就是明天的問題——每個架構決定最終都會過時
- 接受這個事實反而能解放你,讓你專注於選擇現在最好的方案
- 避免「分析癱瘓」,不要試圖猜測未來最好的技術
詳細內容#
沒有人能預測未來。如果你接受這是一個普遍的真理,那問題就變成:未來到底有多遠?十年?兩年?二十分鐘?如果你連下一刻會發生什麼都無法預測,那麼試圖「未來保障」(future-proof) 一個架構就是徒勞的。
今天的方案,明天的問題#
軟體架構師經常試圖設計能經受時間考驗的系統,但事實是:
- 無論你現在做出什麼架構決定,它最終都會過時
- 今天很酷的程式語言,終將成為明天的 COBOL
- 今天的分散式框架,會變成明天的 DCOM
- 簡而言之,今天的解決方案永遠是明天的問題
如果你接受今天做的每個選擇在未來都很可能是錯的,那麼就不需要為「未來保障」而煩惱。與其擔心未來,不如選擇現在最好的方案。
避免分析癱瘓#
架構師面臨的一大問題是分析癱瘓(analysis paralysis),而嘗試猜測未來最佳技術正是造成這個問題的重要原因:
- 選擇一個現在適合的好技術已經夠難了
- 試圖選擇一個在未來仍然適用的技術是不可能的
- 看看你的業務現在需要什麼
- 看看技術市場現在提供什麼
- 選擇現在最能滿足需求的方案
務實的選擇#
既然任何選擇在未來都會是錯的,那就:
- 專注於當下的需求和約束
- 選擇最適合目前情境的解決方案
- 不要為了不確定的未來而犧牲現在的最佳選擇
選擇一個錯誤的未來方案,不僅在明天是錯的,在今天也是錯的。專注於現在,做出當下最好的選擇。
— By Richard Monson-Haefel