歐哥說說

說說興趣 ‧ 說說科技 ‧ 東說西說 ‧ 就是要說  

架構師! 架構濕?

1 則留言


康威定律


"organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations." 
                                                                                                                                       — M. Conway

       系統架構設計將反映出組織分工與溝通的結構. 系統設計的過程當中, 必然得去面對合作團隊中各利害關係者的組成, 各利害關係者又會有各自所專注的業務內容與重心, 因此在各自的內容與重心邊界, 便極易產生系統元件的邊界, 因而反映到系統架構上.

       這些年在試圖構築系統去滿足產品的需求過程中, 越覺得架構師這詞誠如Martin Fowler所言, 其實並不算命名得恰如其分. 軟體系統開發過程中, 當它的生命週期越長, 所必須去在意的點就越多, 活得越長確定性就越不明確, 就越需要去面對系統本質上的延展性需要. 架構本身除卻滿足產品需求之外, 仍須妥善地識別出非功能性的需求, 包括, 技術發展需求, 產品預期, 開發成本, 人員配置. 架構本身不再只是技術與樣式的堆疊, 相對靜態的架構詞眼, 變得無法表達出整件事本身所應該體現的變動性.
       軟體工程師的旅途上, 從程式撰寫到設計到系統構築, 當然是一個直覺上的路線, 但走進相對複雜的系統設計過程中, 必然得去正視設計的不同面向, 答案往往不會這樣固定, 也不見得有絕對樣式, 如何在需求, 成本, 技術負債, 系統未來等相關議題上的取得平衡, 往往是讓人難以成眠的煩惱. 架構師說得簡單, 但往往做得麻煩.

#1 康威定律 : https://en.wikipedia.org/wiki/Conway%27s_law

1 則留言 :

張貼留言