
架構原則不是限制技術,而是將企業的策略、需求與價值,轉化成所有人都能共同遵循的設計方向。
前一篇提到,成熟的架構師在開始設計之前,首先思考的並不是技術,而是企業真正希望建立什麼樣的系統。
然而,理解需求只是第一步。真正困難的是,如何將企業的策略、治理要求以及風險考量,轉化成每一位架構師、工程師,甚至不同專案團隊都能共同遵循的設計方式。如果沒有共同的依據,每個人都可能依照自己的經驗做出不同的判斷,即使每一項決策都有合理的理由,長期下來仍可能讓整體資訊環境逐漸失去一致性。
因此,企業真正需要的,不只是優秀的架構師,而是一套所有人都能共同遵循的架構原則(Architecture Principles)。
在公司工作的這些年,我經常遇到剛加入團隊的新進同仁。每當接到新的需求,很常會因為想要快速的完成任務或專案,通常會先思考該使用哪些技術、選擇哪一套框架,或是如何最快把功能完成。等到設計評審或上線前,才發現原本的設計並不符合公司的架構原則、技術標準或治理要求,最後不得不重新調整,甚至重新設計。
後來我發現,問題往往不在於技術能力不足。多數技術或開發人員其實知道如何實作功能,也了解各種技術的使用方式,但他們缺少的是對企業架構原則與設計規範的理解。許多他們猶豫或反覆詢問的問題,其實公司的架構標準、設計規範或技術準則早已有明確定義,只是不知道應該到哪裡查詢,或是不清楚這些規範背後真正的設計理念。
當企業沒有建立共同的架構原則,每一個需求都必須依賴資深工程師或架構師重新判斷。久而久之,不僅決策效率降低,也容易因為不同的人、不同的專案,而產生不同的設計方式。
成熟的企業,不應該讓知識只存在於少數人的經驗之中,而是將這些經驗整理成共同遵循的原則,讓不同團隊在面對相同問題時,都能做出方向一致的決策。
很多人認為,架構原則就是一份技術規範,告訴大家哪些技術可以使用、哪些技術不能使用。然而,架構原則真正承接的,其實是企業的策略、治理要求以及風險考量。
企業希望保護重要資料,因此架構原則會要求敏感資料受到適當保護;企業重視營運韌性,因此架構設計需要考量高可用性與災難復原;企業希望提升開發效率,因此架構原則可能鼓勵標準化、自動化以及可重複部署的設計。這些要求看似來自技術,實際上反映的都是企業希望達成的營運目標。
這樣的思維,其實與企業風險管理十分相似。無論是架構師或風險管理人員,都不是替企業做決策,而是先理解企業希望達成的目標,再分析不同方案可能帶來的效益與風險,協助企業做出最適合自己的選擇。因此,真正需要對齊的從來不是技術,而是企業的策略。
換句話說,架構原則真正扮演的角色,就是將企業策略轉化成架構設計的共同語言。
談到「原則(Principle)」,不少人第一時間想到的是限制,好像架構師總是在說不能使用某項技術、不能部署到某個環境,或不能採用某一種設計方式。
然而,一套好的架構原則,很少直接告訴你應該使用哪一項產品,而是提供判斷的依據。例如,企業將「敏感資料不得對外公開」列為架構原則,並不代表只能使用某一種安全產品,而是要求所有設計都必須優先思考如何保護敏感資料。至於採用哪一項雲端服務、哪一套產品,甚至哪一種技術,則可以依據不同情境做出最適合的選擇。
因此,架構原則不是代替架構師做決策,而是讓不同的人,在不同時間、不同專案中,仍然能依循相同的思考方式做出一致的架構決策。
資訊技術持續演進,新的產品與新的服務不斷出現。今天推薦的方法,幾年後可能已經被新的技術取代;然而,企業真正重視的事情往往沒有改變,例如資訊安全、資料保護、服務穩定、法規遵循,以及未來持續發展的能力。
因此,企業真正需要建立的,不是一套永遠不變的技術標準,而是一套能夠陪伴技術持續演進的架構原則。只要原則保持一致,即使未來更換平台、更換產品,甚至更換整體技術架構,企業仍然能朝著相同的方向持續發展。
架構原則並不是另一份技術規範,而是企業策略、治理要求與風險考量的延伸。它的目的不是限制技術,而是建立一套共同的設計依據,讓不同的人、不同的團隊,即使面對不同的需求與技術,也能做出方向一致的架構決策。
因此,真正重要的從來不是「選對技術」,而是先建立正確的原則。因為只有當所有架構決策都建立在相同的原則之上,企業才能在技術持續演進的過程中,維持一致性、降低複雜度,並持續朝著既定目標前進。