重點摘要#
- 有效的軟體架構師不僅理解技術,還要理解問題空間的商業領域
- 了解商業領域幫助架構師決定應用哪些模式、如何規劃未來擴展性,以及如何準備行業趨勢
- 理解企業的具體目標會直接影響架構類型的選擇
- 最成功的架構師是擁有廣泛技術知識,同時對特定領域有深入了解的人
詳細內容#
有效的軟體架構師不僅理解技術,還要理解問題空間的商業領域。沒有商業領域知識,就難以理解商業問題、目標和需求,因此也就難以設計出滿足業務需求的有效架構。
領域知識的價值#
軟體架構師的角色是理解商業問題、商業目標和商業需求,並將這些需求轉化為能夠滿足它們的技術架構解決方案。了解商業領域可以幫助架構師:
- 決定應用哪些架構模式
- 規劃未來的擴展性
- 準備持續的行業趨勢
不同的商業領域適合不同的架構方法。例如,保險業適合服務導向架構(SOA),而金融市場領域更傾向於基於工作流的架構。了解領域能幫助你決定哪種架構模式最能滿足組織的特定需求。
行業趨勢的影響#
了解特定領域的行業趨勢也能幫助軟體架構師設計有效的架構。例如,保險領域正在出現「按需」汽車保險的趨勢 – 你只在實際開車時才支付保險費用。理解這些行業趨勢使架構師能夠在架構中為這些趨勢預留空間,即使你正在合作的公司還沒有將其納入商業模式。
企業目標決定架構#
理解企業的具體目標也能幫助你設計有效的架構:
- 如果企業目標是透過大量併購實現非有機成長,架構可能需要包含多層抽象來促進商業組件的合併
- 如果企業目標是透過強大的線上存在來增加市場份額,那麼高可用性很可能是最重要的屬性
最成功的架構師#
最成功的架構師是那些擁有廣泛實務技術知識,同時對特定領域有深入了解的人。這些架構師能夠使用這些人理解的領域語言與 C 級主管和商業使用者溝通,從而建立起對軟體架構師能力的強大信心。
作為軟體架構師,始終了解你所合作公司的目標,並驗證架構能夠支持這些目標。了解商業領域能讓你更好地理解問題、議題、目標、數據和流程 – 這些都是設計有效企業架構的關鍵因素。
— By Mark Richards