在許多工程團隊中,架構決策往往被視為一種權威行為。通常是由一名資深架構師或技術主管在密室中決定,然後將結果下達給開發者。然而,這種由上而下的模式在現代快速迭代的開發環境中,容易造成決策瓶頸,且讓基層工程師缺乏對系統設計的理解。
要打破這個僵局,核心在於將架構決策從權威管控轉向去中心化的建議流程。這需要兩套機制配合:輕量化的 ADR 紀錄與開放的架構建議論壇。
理解 ADR 的實務價值
ADR 全稱是 Architecture Decision Record,即架構決策紀錄。簡單來說,它是一份記錄為什麼在特定時間點做出特定技術選擇的文件。
許多工程師認為寫文件是浪費時間,但實際上寫作就是思考的過程。一份輕量化的 ADR 不需要冗長,它重點在於記錄決策的脈絡,包含當時面臨的問題、考慮過的替代方案、選擇該方案的理由,以及該決定所帶來的限制或權衡。
當 ADR 成為團隊習慣時,它會變成一份不可篡改的系統變更日誌。對於新進工程師來說,這是一本極佳的學習教材,讓他們能理解系統為何演變成現在的樣子,而不是面對一段複雜的程式碼卻不知道當初為什麼要這樣設計。
建立非同步的建議機制
為了避免決策過程變成對抗性的爭論,建議採用非同步的建議流程。
工程師在準備 ADR 後,先以書面形式尋求同儕的建議。這種非同步的方式讓參與者有時間獨立思考,而非在會議中被大聲者主導。在這個流程中,最重要的一點是:尋求建議並不等於尋求許可。
在去中心化的架構實踐中,提出決策的人依然保有最終的決定權與責任。建議者的角色是提供專業視角與風險提示,而非行使否決權。這能鼓勵開發者主動思考並承擔責任,而非習慣性地等待指令。
透過架構建議論壇建立信任
如果說 ADR 是非同步的記錄,那麼架構建議論壇就是同步的信任建立機制。
這是一個定期開放給所有人的會議,目的不在於在會上拍板決定,而是在於將決策過程透明化。當初級工程師看到資深工程師如何討論、如何權衡利弊、甚至如何承認之前的決定是錯誤的時候,他們會學習到如何進行架構思考。
這種透明度將架構設計從神壇上拉下來,使其民主化。它將知識從少數人的私有儲備轉化為團隊的共同流動,讓經驗在實務討論中傳承。
克服心態障礙與面對錯誤
實施這套流程最大的阻礙通常不是技術,而是心態。
傳統的架構師可能會擔心若放權給他人,會做出錯誤的決定。但事實上,沒有人能預知一個決定在實作後是否完美。唯一的驗證方式就是快速實作並獲取回饋。
與其追求一次性的完美決定,不如採取小步快跑的策略:做出小規模的決策,快速部署,根據回饋修正。這比在會議室裡爭論三週最後做出一個錯誤的宏大計畫要有效得多。
總結:架構的本質是適配
在微服務泛濫導致分散式單體(Distributed Monoliths)的教訓中,我們發現單純的技術工具無法解決組織問題。架構不僅是技術選擇,更包含社會技術架構(Sociotechnical Architecture),即誰在負責什麼、如何協作。
架構的價值在於確保軟體能適配它要解決的問題。透過輕量化 ADR 與開放的建議機制,團隊能將決策權分攤,減少瓶頸,並在持續演進的系統中保持靈活性與可維護性。
來源:infoq.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。