Redgate是如何做出架構決策的?
架構決策“最簡單”的解決方案是讓擁有巨大大腦的人做出所有決定。這種“Megamind”方法當然有一些優勢——一個人可以快速做出決定,並且有一個人負責;缺點使這些優點相形見絀。把責任推給一個人是有風險的——人並不完美(對不起!)。
讓我們嘗試改進一下:我們可以任命一個變革顧問委員會 (CAB)。CAB 是一個具有相關領域經驗的小組,負責審查決策並提出改進建議。CAB 聽起來像是一種改進;不同的群體做出更好的決策,相關領域的專業知識必然會讓事情變得更好。不幸的是,研究表明擁有變更審批流程並不是一個好主意。
“……發現外部批准與提前期、部署頻率和恢復時間呈負相關,與變更失敗率無關。簡而言之,外部機構(例如經理或 CAB)的批准根本無法提高生產系統的穩定性,以恢復服務的時間和更改失敗率來衡量。但是,它肯定會減慢速度。事實上,這比根本沒有變更審批流程更糟糕。” (加速:妮可福斯格倫)
我們在 Redgate 的核心信念是“我們相信製作軟體的最佳方式是讓擁有明確目標、行動自由和學習動力的團隊參與進來。”。提交設計以供批准與行動自由的原則背道而馳。但是,我們也認識到,有時單個團隊可能不具備整個環境,並且區域性決策可能是區域性最優。
我們如何解決這個問題?
聖達菲潛艇的船長大衛·馬奎特已經給了我們答案。在被置於一個陌生的環境後,他形成了一種強調地方決策而不放棄控制的領導風格。基於意圖的領導賦予團隊決策權,但使用“意圖檢查”讓其他人提供洞察力。
我們已經將這種方法體現在我們如何做出架構決策中。在開始工作之前,我們要求工程師記錄他們的決定決策。把事情寫下來改進了設計(畢竟,如果你不能把它寫下來,你到底要如何實現它),但它也為那些有不同觀點的人提供了一個意圖檢查。
我們的方法借鑑了兩個既定流程,為 Redgate 構建了一些東西。
- RFC(徵求意見)檔案起源於 1969 年網際網路的早期。這是一個正式的流程,公開工作以向每個人提供意見。RFC 過程今天仍然用於定義網際網路的關鍵部分。例如,您可以檢視有關 IPv6的完整討論記錄(引入是因為現在有數十億臺裝置連線在一起)。
- ADR(架構決策記錄)是另一端工程決策的輕量級記錄。ADR 日誌與原始碼一起儲存,讓工程師可以很好地概覽決策背後的歷史背景。
我們將兩者結合起來——並提出了一種我們稱之為“架構意圖檢查”(AIC)的東西。在開始架構更改工作之前,AIC 充當非阻塞檢查。我們要求團隊尋求相關利益相關者的反饋,如果發現可能改變決策的新資訊,我們將改變決策!我們假設我們的大多數工程決策都是好的,因為我們一直在努力確保工程團隊擁有更廣泛的業務背景。
相關文章
- 架構師如何做出架構決策? – IasaGlobal架構
- 我們如何在Adyen做出架構決策 - Adyen架構
- 如何做出重大技術路線決策?
- 技術架構師如何制定決策 – Mark Greville架構
- 如何記錄產品和軟體架構決策?架構
- 心智模型:做出明智決策的最佳方式 - Farnam模型
- 輕量級的架構決策記錄機制架構
- 如何做好一個系統架構師:抓住敏捷架構中幾個關鍵決策點架構敏捷
- 再聊對架構決策記錄的一些思考架構
- 大語言模型LLM如何與人類共同做出戰略決策?模型
- DCI架構是如何解決DDD戰術建模缺點的?架構
- 唯品會架構師是如何實現架構重構的架構
- 亞馬遜使用架構決策記錄來簡化軟體開發專案的技術決策 - AWS亞馬遜架構
- 機器學習:如何構造一個簡單的決策樹機器學習
- 實時決策系統中 OpenMLDB 的常見架構整合方式架構
- 什麼是決策智慧?
- grafana 的主體架構是如何設計的?Grafana架構
- Ruby on Rails中的MVC架構是如何工作的AIMVC架構
- Python機器學習:決策樹001什麼是決策樹Python機器學習
- 聰明的程式設計師容易做出錯誤的戰略決策 - earthly程式設計師
- LBS定位系統架構是如何演進的架構
- 資深架構師的經驗分享——軟體專案開發和決策架構
- sdn專線架構是怎樣的?如何工作?——Vecloud架構Cloud
- 我是如何對網站CSS進行架構的網站CSS架構
- 歐洲許多人認為人工智慧可以做出比政治家更好的政策決策人工智慧
- R語言專題,如何使用party包構建決策樹?R語言
- 企業資料庫的選擇通常由系統架構師主導決策 - thenewstack資料庫架構
- 貸還是不貸:如何用Python和機器學習幫你決策?Python機器學習
- 如何打造“最好的架構”?架構
- SOA架構和微服務架構的區別是什麼?架構微服務
- 是什麼在影響著你的旅行決策?
- 大型網際網路系統架構是如何設計的?架構
- Tomcat是如何執行的?整體架構又是怎樣的?Tomcat架構
- Oracle RAC一樣架構的Dataguard 是如何運作和切換的 ?Oracle架構
- 決策樹模型(3)決策樹的生成與剪枝模型
- IDeaS:酒店如何作出最好的定價決策?Idea
- 什麼是DMN決策模型和符號?模型符號
- 探尋軟體架構的本質,到底什麼是架構?架構