架構師如何做出架構決策? – IasaGlobal

banq發表於2021-09-24

在做出決策時,架構師的主要任務是定義全面的上下文(一組評估標準),以便做出平衡的架構決策。
對於那些對業務至關重要的決策,建議花額外的時間來分析備選方案和架構上重要的需求,並擴充套件分析上下文,以最大程度地降低做出不平衡決策的風險。
為了做出平衡的決定,考慮技術和非技術性質的內部和外部因素至關重要。
架構設計的高階過程可以被視為如圖所示。很明顯,要做出深思熟慮的決策,需要訪問需求和上下文,並且之前已經評估了替代決策。

架構師如何做出架構決策? – IasaGlobal

聽起來很簡單,不是嗎?但事實上,開發替代方案併為其評估選擇“正確”的標準是一項非常具有挑戰性的任務。為了應對它,您需要做好準備並接受我們的建議。
通常,對備選方案的評估以表格的形式表示,其中水平顯示選項,垂直顯示標準。這些單元格包含評估標記,然後可以根據每個標準的重要性對其進行加權。
舉個例子,我們來看一下元件之間三種通訊方式的對比表。請記住,如果不徹底理解上下文和任務,就不可能在這些選項之間做出有意識的選擇。每種方法都有其優點和缺點。這是一個說明性的例子,所有的評價分數都是隨機的。

架構師如何做出架構決策? – IasaGlobal
值得一提的是,權重和分數不一定是數字,因為解釋這些值並恢復這些分數的邏輯非常困難。
功能 – 3.7;價格 – 2.3;團隊經驗——4.1?是好還是壞?
建議使用與“bad”、“good”、“great”、“n/a”等對應的整數值。這樣會更容易解釋標記和最終選擇。
 
主要問題是定義評估標準的“完整”組成。為此,必須設定上下文邊界,因為上下文是標準的來源。下圖顯示了上下文的內容如何根據​​架構師的觀點而有所不同。

架構師如何做出架構決策? – IasaGlobal

在最簡單的情況下,在做出決定時會考慮兩件事:需求的描述和架構師的經驗。正式的工作方法和做所寫的事情可能會產生與預期完全不同的結果。發生這種情況的原因有很多——例如,如果要求是由另一個人制定的。在這種情況下,即使文件“完美無缺”,分析師和架構師對問題的理解也可能不同。
這就是為什麼“業務問題”和其他概念已脫離“狹隘”上下文的原因。透過僅根據需求做出架構決策,架構師限制了與利益相關者的溝通,這不可避免地導致風險增加。
例如,基於雲技術的“漂亮”解決方案可以立即解決與擴充套件相關的一系列問題,但如果存在運營費用限制或有義務遵守特定法律要求,則可能看起來完全不可接受。
隨著所考慮的上下文的擴充套件,新的變數被新增到等式中。因此,一方面,決策變得更加平衡,但另一方面,擴充套件將需要額外的勞動力成本來進行分析。
建議根據當前任務定義最優上下文邊界,如下圖所示。例如,當涉及到一個對業務至關重要且其成功實施對公司的未來至關重要的系統時,嘗試在資源允許的情況下儘可能多地擴充套件上下文是合理的。另一方面,對業務影響有限的系統的開發也許應該僅限於最低限度的分析。

架構師如何做出架構決策? – IasaGlobal
因此,我們可以得出結論,在做出決策時,架構師的主要任務是定義全面的上下文(一組評估標準),以便做出平衡的架構決策。
對於那些對業務至關重要的決策,建議花額外的時間來分析備選方案和架構上重要的需求,並擴充套件分析上下文,以最大程度地降低做出不平衡決策的風險。

上下文為王
 

相關文章