?鼎鼎大名的SpringSide項目發起者江南白衣關于構架師的文章,不知道他最近是咋的了對討論構架師這么感興趣了,呵呵。還是希望發理論性文章的同時多一些實質性技術的好文章,繼續支持!
這篇文章雖然有些不痛不癢,但是也可以算的上了解在中國國情下的構架師的好文章。什么是構架?并不是"Spring+Struts+Hibernate",到底什么是構架,構架師到底要做些什么?聽白衣細細道來!
作者:江南白衣,原文出處: http://blog.csdn.net/calvinxiu/archive/2007/02/18/1511545.aspx,轉載請保留。
引子:
?? "這個項目的架構是什么?"
?? 對方爽快的回答:"Spring+Struts+Hibernate。"
?? 嗯,這位很可能不是架構師......
一、核心競爭力
架構設計的理論、模式與技術
??? 苦命的架構師們從試驗與挫折中獲得架構設計的技能,但其中大量的原理、模式和技巧,都經歷了一個重復發現的過程。
??? 其實,各路神仙在這個領域雖則沒有搗鼓出大熱的暢銷書來,但前篇的架構師書單,也已足夠為我們作一個系統的知識整理。
????顧影自憐,發現自己的再發現式積累還是太慢、太片面,大概只局限于GOF23、Java EE架構模式、RUP4+1視圖等方面。
有序的以方法為驅動源的任務執行?
?
????匠級的架構師多有一套自己的方法論、過程論,每回設計都是熟練而有序的執行。
????其中架構師自己的架構設計小過程可以參考書單反復試驗,獨家秘制。
?? ?而與開發團隊配合的大過程,以RUP為基礎的剪裁被描述得最為詳細,是可執行度最高的。
領域知識
??? 技術人員一般抗拒學習軟件開發以外的東西,但架構師卻非如此不可。
?? ?架構師的職責就是將業務需求轉化為系統設計,良好的領域知識才能保證轉化的質量,與客戶的溝通,以及有意識的讓架構支持業務系統可能出現的變化。?
??? 那又如何快速成為新領域的專家呢?精通快速業務建模嗎?BTW.G9寫過一篇很有意思的〈商業軟件編程很無聊?〉
大型項目的經驗
?? ?中國有多少架構師,不在于有多少人通過了什么考試培訓,而在于中國大型項目的數量。
??? 問:你這個項目的架構是什么?一口回答:Spring+Struts+Hibernate。這位很可能就不是架構師了,因為這僅僅是技術Stack,項目規模不大時Spring+Struts+Hibernate才會成為架構的重點。
??? 除了親自擔任大型項目的架構師,如果了解這些項目的架構為了滿足怎樣的功能與非功能性需求而設計成這個樣子也一樣能增加經驗值。所以,我們可以盡量多讀一下公司以往項目的設計文檔,愉快的接受其他項目組的架構評審會的邀請。
二、基本能力
完整的軟件開發生命周期經驗
??? 這個不用說了,幸好中國的架構師什么臟活累活都做過,甚至跟著市場人員跑去做演示這些國外架構師不一定有的經驗我們都有了,差別只在于一些理論知識--RUP + CMMI3 + 敏捷原則的掌握程度。
精通一兩種主流開發語言、保持當下架構的開發體驗
??? 國內的架構師到了三十歲以后很多就往理論上跑,而國外的架構師則在往上發展的同時保持下面的編程體驗,所以國內多水王,而國外則多大師。
????水王的設計一般會層次過高,與實現之間有斷層,設計質量缺乏保證,與開發人員產生溝通障礙, 自己嘩啦啦編一個驗證原型的日子更是一去不返。
??? 更痛苦的是,人過三十之后學習能力下降,手藝一旦放下了想重新上手還很難:(
??? 但是,也不必要挽起袖子每月編碼若干行,親自出手編寫某個模塊,很可能你的"親自出手"因為時間安排不來反而拖了大家的進度,但一定要保持一個體驗。
宏觀上的,廣度優先的了解當前主流的技術與產品
???? 架構師如果連Tuxedo與IBM MQ都分不清,一句"這里搞個異步調用的中間件,要有商業支持的",同樣是層次太高了。架構師對各大公司的產品線和著名的開源項目應該有宏觀上的了解,最好在公司Wiki里編一個索引備忘。
??? ?但同時也要抵制成為某項技術專家如Oracle啟動參數優化專家的誘惑,技術細節掌握到業務職責需要的程度就剛好了。除非進一步了解能帶來天大好處,如Spring Framework。
與業務域開發域人員溝通的能力及其他領導能力
?
?? IT 架構師處在客戶和開發人員之間,必須能夠使用各種媒體(包括代碼、模型、文檔、PowerPoint以及談話和講座),與技術和非技術的干系人進行溝通,清楚、簡潔地對體系結構決策進行描述、演繹和申辯。
??? 另外,架構師好歹也是個半大不小的官,其他領導必要的能力就不列了。
???
??? 參考了IBM DW中國上的兩篇文章:
posted on 2007-02-20 16:43
cresposhi 閱讀(1004)
評論(2) 編輯 收藏