重點摘要#

  • 軟體架構師在專案中擁有比大多數人更大的影響力,因此必須為決策負責
  • 架構決策必須書面記錄傳達給相關人員,才算真正做出
  • 定期審查架構決策,對照預期結果檢視哪些仍有效、哪些已過時
  • 不要自以為是萬事通——善於將不擅長領域的決策委派給專家

詳細內容#

軟體架構師必須為自己的決策負責,因為他們在專案中擁有比大多數人更大的影響力。研究顯示,超過三分之二的軟體專案要麼完全失敗,要麼交付不成功(延期、超支或客戶滿意度低)。許多根本原因可以追溯到架構師做出的不當決策,或對正確架構決策的後續跟進失敗。

如何成為負責任的架構師#

第一,充分認識你的決策流程。 不論是敏捷還是儀式化的流程,在以下兩個條件滿足之前,不應認為架構決策已經做出:

  • 決策已書面記錄——因為架構決策幾乎都不是瑣碎的,必須可追溯
  • 決策已傳達給執行者和直接或間接受影響的人——溝通的核心是建立共識

第二,定期審查架構決策。 將決策結果與預期進行對照,識別哪些決策仍然有效、哪些已經不適用。

第三,強制執行你的架構決策。 許多軟體專案的架構師只參與設計階段,之後就轉移到其他專案。如果不跟進,他們的決策充其量只是良好的意圖。

第四,將部分決策委派給專家。 許多架構師錯誤地認為自己必須做出每一個架構決策,把自己定位為萬事通。現實是,不存在通用技術天才。聰明的架構師會將自己不擅長領域的決策委派出去。

— By Yi Zhou