重點摘要#

  • 沒有人能預測未來,因此不可能為架構做未來保障
  • 今天的解決方案就是明天的問題——每個架構決定最終都會過時
  • 接受這個事實反而能解放你,讓你專注於選擇現在最好的方案
  • 避免「分析癱瘓」,不要試圖猜測未來最好的技術

詳細內容#

沒有人能預測未來。如果你接受這是一個普遍的真理,那問題就變成:未來到底有多遠?十年?兩年?二十分鐘?如果你連下一刻會發生什麼都無法預測,那麼試圖「未來保障」(future-proof) 一個架構就是徒勞的。

今天的方案,明天的問題#

軟體架構師經常試圖設計能經受時間考驗的系統,但事實是:

  • 無論你現在做出什麼架構決定,它最終都會過時
  • 今天很酷的程式語言,終將成為明天的 COBOL
  • 今天的分散式框架,會變成明天的 DCOM
  • 簡而言之,今天的解決方案永遠是明天的問題

如果你接受今天做的每個選擇在未來都很可能是錯的,那麼就不需要為「未來保障」而煩惱。與其擔心未來,不如選擇現在最好的方案。

避免分析癱瘓#

架構師面臨的一大問題是分析癱瘓(analysis paralysis),而嘗試猜測未來最佳技術正是造成這個問題的重要原因:

  • 選擇一個現在適合的好技術已經夠難了
  • 試圖選擇一個在未來仍然適用的技術是不可能的
  • 看看你的業務現在需要什麼
  • 看看技術市場現在提供什麼
  • 選擇現在最能滿足需求的方案

務實的選擇#

既然任何選擇在未來都會是錯的,那就:

  • 專注於當下的需求和約束
  • 選擇最適合目前情境的解決方案
  • 不要為了不確定的未來而犧牲現在的最佳選擇

選擇一個錯誤的未來方案,不僅在明天是錯的,在今天也是錯的。專注於現在,做出當下最好的選擇。

— By Richard Monson-Haefel