重點摘要#
- 架構師是業務與技術之間的橋樑,必須讓業務來驅動技術決策
- 架構師必須理解期望的 ROI(投資報酬率),避免做出超支的技術決策
- 透明度至關重要 — 必須建立定期的資訊回饋迴路讓業務端掌握進度
- 當業務端未能提供方向時,技術決策實際上就被委託給了開發者,這是危險的
詳細內容#
在企業應用開發中,架構師必須扮演業務與技術社群之間的橋樑角色,代表並保護雙方的利益,在兩者之間進行調解,但最終讓業務來驅動。業務組織的目標和營運現實,應該是架構師領導技術導向決策的指引之光。
ROI 作為客觀基準#
企業在開始軟體開發之前,通常會規劃並明確期望的投資報酬率(ROI)。架構師必須理解這個期望的 ROI 及其隱含的軟體計畫價值上限,以避免做出可能導致超支的技術決策。
ROI 應該作為與業務討論功能價值 vs. 交付成本時的客觀基準。架構師必須注意不選擇在測試或上線時會帶來不可接受的高昂授權和支援成本的技術。
透明度與回饋迴路#
讓業務「驅動」的部分挑戰,在於向業務端提供足夠高品質的開發進度資訊,以支持良好的商業決策。架構師必須與開發管理層合作,建立定期的資訊回饋迴路:
- 大型可視化圖表
- 持續整合
- 頻繁交付可運作的軟體
避免讓開發者做商業決策#
軟體開發本質上是設計活動,涉及持續的決策過程。開發者適合做許多決策,但不適合做商業決策。如果業務端未能提供方向、回答問題和做出商業決策,實際上就是把商業決策委託給了開發者。
架構師必須為開發者持續做出的微觀決策提供宏觀脈絡,透過溝通和保護軟體架構與業務目標,確保開發者不會做出脫離業務現實的技術決策。
— By Dave Muirhead