軟(ruan)件(jian)系統(tong)架構(gou)師綜(zong)合(he)的(de)知識能力(li)包括9個方(fang)面,即:
1、戰(zhan)略規劃(hua)能力。
2、業務流程建(jian)模能(neng)力(li)。
3、信息數(shu)據結構能力。
4、技術(shu)架構選擇和實現能力。
5、應用系統架(jia)構(gou)的解決(jue)和實現能力。
6、基礎IT知識及基礎設(she)施、資源調配(pei)能(neng)力。
7、信息安全技術(shu)支持與管(guan)理保障能力。
8、IT審(shen)計、治理與(yu)基本(ben)需求(qiu)分析、獲取(qu)能(neng)力。
9、面(mian)向軟件系統(tong)可(ke)靠性(xing)與系統(tong)生命周期(qi)的質量保障服務能力(li)。
作為系統架(jia)構(gou)師,必須成為所在開發團隊(dui)(dui)(dui)的(de)(de)(de)(de)技術路線指(zhi)導(dao)者(zhe);具(ju)有很(hen)強的(de)(de)(de)(de)系統思維的(de)(de)(de)(de)能力;需要從大(da)量互相沖(chong)突的(de)(de)(de)(de)系統方法和(he)工具(ju)中區分出哪(na)些是(shi)(shi)有效的(de)(de)(de)(de),哪(na)些是(shi)(shi)無效的(de)(de)(de)(de)。架(jia)構(gou)師應當(dang)是(shi)(shi)一(yi)個成熟的(de)(de)(de)(de)、豐富(fu)的(de)(de)(de)(de)、有經驗(yan)的(de)(de)(de)(de)、有良好(hao)教育(yu)的(de)(de)(de)(de)、學習快捷、善溝(gou)通(tong)(tong)(tong)和(he)決(jue)策能力強的(de)(de)(de)(de)人。豐富(fu)是(shi)(shi)指(zhi)他必須具(ju)有業務領域方面(mian)的(de)(de)(de)(de)工作知(zhi)識(shi),知(zhi)識(shi)來源于(yu)經驗(yan)或(huo)者(zhe)教育(yu)。他必須廣泛了解(jie)各種技術并精(jing)通(tong)(tong)(tong)一(yi)種特定技術,至少了解(jie)計算機通(tong)(tong)(tong)用技術以便(bian)確定那種技術最優,或(huo)組(zu)織團隊(dui)(dui)(dui)開展技術評估。優秀(xiu)的(de)(de)(de)(de)架(jia)構(gou)師能考慮并評估所有可用來解(jie)決(jue)問題的(de)(de)(de)(de)總體技術方案。需要良好(hao)的(de)(de)(de)(de)書面(mian)和(he)口頭溝(gou)通(tong)(tong)(tong)技巧,一(yi)般(ban)通(tong)(tong)(tong)過可視(shi)化模(mo)型和(he)小(xiao)組(zu)討論來溝(gou)通(tong)(tong)(tong)指(zhi)導(dao)團隊(dui)(dui)(dui)確保開發人員按照(zhao)架(jia)構(gou)建造系統。
(1)技術能力
技(ji)術能(neng)力,不用(yong)置疑肯(ken)(ken)定是(shi)最(zui)重要的(de)(de)(de)。技(ji)術能(neng)力弱(ruo)的(de)(de)(de)架(jia)構(gou)(gou)不是(shi)一個好架(jia)構(gou)(gou)。所(suo)(suo)以,你(ni)需(xu)(xu)要知(zhi)道所(suo)(suo)有主流技(ji)術的(de)(de)(de)基本(ben)原(yuan)理、應用(yong)場景(jing),及快速(su)解決(jue)問題的(de)(de)(de)能(neng)力。所(suo)(suo)以,架(jia)構(gou)(gou)師必須要有見識,所(suo)(suo)需(xu)(xu)知(zhi)識面肯(ken)(ken)定是(shi)要不斷拓展的(de)(de)(de)。你(ni)需(xu)(xu)要清楚在什(shen)(shen)么樣(yang)的(de)(de)(de)場景(jing)用(yong)什(shen)(shen)么樣(yang)的(de)(de)(de)技(ji)術比較合(he)適,并(bing)知(zhi)道可能(neng)存在什(shen)(shen)么樣(yang)的(de)(de)(de)風(feng)險(xian)。來(lai)了需(xu)(xu)求,你(ni)腦袋是(shi)空的(de)(de)(de),不知(zhi)道用(yong)什(shen)(shen)么技(ji)術這是(shi)最(zui)可怕(pa)的(de)(de)(de)。
(2)架構能力
這個可(ke)以(yi)(yi)表現為抽象(xiang)能力、整體(ti)規劃(hua)能力、及設計(ji)能力。你(ni)需要(yao)照在(zai)業(ye)務的(de)(de)角(jiao)度(du)進行系統分(fen)(fen)解(jie)、技(ji)術(shu)選型、架(jia)(jia)構(gou)(gou)搭(da)建,以(yi)(yi)及規范制定(ding)。架(jia)(jia)構(gou)(gou)出(chu)來了(le)至少可(ke)以(yi)(yi)滿足(zu)最近的(de)(de)發展,或者可(ke)以(yi)(yi)很方便(bian)對現有架(jia)(jia)構(gou)(gou)進行擴容。有人說架(jia)(jia)構(gou)(gou)不需要(yao)懂業(ye)務,我面試(shi)過(guo)的(de)(de)就(jiu)有明確(que)表示不做業(ye)務架(jia)(jia)構(gou)(gou)。當然有方面的(de)(de)架(jia)(jia)構(gou)(gou)師,如(ru)中(zhong)間(jian)件(jian)架(jia)(jia)構(gou)(gou)師,運維基礎設施(shi)架(jia)(jia)構(gou)(gou)師等。但一般的(de)(de)后端架(jia)(jia)構(gou)(gou)師都(dou)是需要(yao)了(le)解(jie)業(ye)務,不理解(jie)業(ye)務你(ni)如(ru)果(guo)進行系統分(fen)(fen)解(jie),服務劃(hua)分(fen)(fen),及根據不同業(ye)務作出(chu)不同的(de)(de)架(jia)(jia)構(gou)(gou)。技(ji)術(shu)都(dou)是為業(ye)務服務的(de)(de),不站在(zai)業(ye)務的(de)(de)角(jiao)度(du)設計(ji)架(jia)(jia)構(gou)(gou),那架(jia)(jia)構(gou)(gou)就(jiu)是空(kong)談。
(3)溝通能力
這個看起來不(bu)是最重要(yao)的(de),其實也非常重要(yao)。作(zuo)為一(yi)(yi)個優秀的(de)架構師(shi),你需(xu)要(yao)清楚的(de)知(zhi)道客戶的(de)需(xu)求(qiu),需(xu)要(yao)不(bu)斷和需(xu)求(qiu)人(ren)員進行溝(gou)通,以達到客戶真正的(de)目(mu)的(de)。不(bu)論(lun)是不(bu)是架構師(shi),任(ren)何一(yi)(yi)個職場人(ren),提高自己的(de)溝(gou)通表(biao)達能力(li)無疑是不(bu)可或缺的(de)。有一(yi)(yi)句話怎么(me)說(shuo)的(de),領導就(jiu)喜(xi)歡拍(pai)馬屁的(de)。做(zuo)領導的(de)大(da)多(duo)不(bu)是技術特(te)別牛的(de),但溝(gou)通能力(li)肯定是很好的(de)。
系統構架(jia),是對已(yi)確定的需求(qiu)的技術(shu)實現構架(jia)、作好規劃(hua),運用成套、完整的工具(ju),在規劃(hua)的步驟(zou)下去完成任務。系統架(jia)構師做為系統架(jia)構的設計(ji)者,關(guan)系到應(ying)用系統成敗的關(guan)鍵。
系統架構師(shi)的主要功(gong)能包括:
(1)系統架構師(shi)是軟(ruan)件(jian)項目的總體設計(ji)師(shi),是軟(ruan)件(jian)組織新產(chan)品的開發與集成、新技術體系的構建者。
(2)系統(tong)(tong)架(jia)構師是在技術上對所有重(zhong)要(yao)事(shi)情做出決定的(de)人(ren)(系統(tong)(tong)架(jia)構師在整個(ge)軟件開發過程(cheng)中都起著重(zhong)要(yao)作用,并隨著開發進(jin)程(cheng)的(de)推進(jin)而其(qi)職責或關注點不斷地(di)變化)。
(3)需求(qiu)階段,軟件(jian)架構師(shi)負(fu)責理(li)解和(he)管(guan)理(li)非功(gong)能性(xing)(xing)系統(tong)需求(qiu),比如(ru)軟件(jian)的(de)可(ke)維(wei)護(hu)性(xing)(xing)、性(xing)(xing)能、復用(yong)性(xing)(xing)、可(ke)靠性(xing)(xing)、有效性(xing)(xing)和(he)可(ke)測試性(xing)(xing)等(deng)。審(shen)查客戶(hu)和(he)市場人員提(ti)出(chu)(chu)的(de)需求(qiu),確(que)認開(kai)發團(tuan)(tuan)隊(dui)提(ti)出(chu)(chu)的(de)設(she)計(ji);組織開(kai)發團(tuan)(tuan)隊(dui)成(cheng)員和(he)開(kai)發過程的(de)定義;協(xie)助需求(qiu)分(fen)析(xi)師(shi)完成(cheng)“用(yong)戶(hu)需求(qiu)說明書”、“需求(qiu)變更(geng)說明書”。
(4)設計階段,架構(gou)師負責對整(zheng)個軟件架構(gou)、關鍵構(gou)件、接(jie)口的設計。協(xie)助系統分析師完成《系統概要設計說(shuo)明書》。
(5)編碼階(jie)段,架(jia)構師則成為程序員的顧問(wen),并且經常性地要舉行一些技術研(yan)討會(hui)、技術培(pei)訓班等。
(6)測(ce)試及實施(shi)階段(duan),隨著軟(ruan)件(jian)開始測(ce)試、集(ji)成和交付,集(ji)成和測(ce)試支持將(jiang)成為(wei)軟(ruan)件(jian)架構(gou)師的工作重點。
系(xi)統架構師的職(zhi)責就是設計一個公司的基礎(chu)架構,并提(ti)供關于怎樣建立
和維護(hu)系統(tong)的指(zhi)導(dao)方(fang)針。具體來講,系統(tong)架構師的職責主要體現(xian)于以下(xia)幾方(fang)面:
1 負責公(gong)司(si)系統的(de)架構設計、研發工作;
2 承(cheng)擔從業務向技(ji)術轉換的橋梁作用;
3 協助項目(mu)經理制定項目(mu)計(ji)劃和控制項目(mu)進度;
4 負責輔助(zhu)并指導 SA 開展設計工作;
5 負責組織技術研究和(he)攻關(guan)工作;
6 負責組織和管(guan)理(li)公司內部的技(ji)術培(pei)訓工作;
7 負責(ze)組織及帶(dai)領公司內(nei)部員(yuan)工研究與項目(mu)相關的新技術。
8 管理技術(shu)支撐團隊并給(gei)項(xiang)目、產(chan)品開發實(shi)施團隊提(ti)供技術(shu)保障。
9 理解(jie)系統的(de)(de)業務需(xu)求,制(zhi)定系統的(de)(de)整體框架(jia)(包括:技術框架(jia)和業務框架(jia))
10 對系(xi)統框架相關技術和(he)業務進行培訓(xun),指導開(kai)發(fa)人員(yuan)開(kai)發(fa)。并(bing)解決系(xi)統開(kai)發(fa)、運行中出現的(de)各(ge)種問題。系(xi)統架構師的(de)目的(de):
11 對系(xi)(xi)統的重用、擴展、安全、性(xing)能(neng)、伸縮性(xing)、簡潔等做(zuo)系(xi)(xi)統級的把握。
————系(xi)統(tong)架(jia)構(gou)師(shi)的(de)(de)(de)工作在于針對不同的(de)(de)(de)情況篩選出最優(you)的(de)(de)(de)技(ji)(ji)術(shu)解決(jue)方(fang)案,而不是沉在具體實現細節上。此外系(xi)統(tong)架(jia)構(gou)師(shi)是不可(ke)(ke)培養的(de)(de)(de),好(hao)的(de)(de)(de)系(xi)統(tong)架(jia)構(gou)師(shi)也許不是一個(ge)優(you)秀的(de)(de)(de)程序員,但是不能不懂技(ji)(ji)術(shu)之間的(de)(de)(de)差別,技(ji)(ji)術(shu)的(de)(de)(de)發(fa)展趨(qu)勢,采用(yong)該(gai)技(ji)(ji)術(shu)的(de)(de)(de)當前成(cheng)本(ben)和后繼成(cheng)本(ben),該(gai)技(ji)(ji)術(shu)與具體應用(yong)的(de)(de)(de)偶合(he)程度,自己可(ke)(ke)以調配的(de)(de)(de)資(zi)源狀況,研發(fa)中可(ke)(ke)能會(hui)遇到(dao)的(de)(de)(de)風險(xian),如何(he)回避風險(xian)。這些才是架(jia)構(gou)師(shi)需要(yao)考慮的(de)(de)(de)主要(yao)內容。
第一(yi)種是基礎架構的設計規劃,例(li)如:OS,硬件,網絡,各(ge)種應用服(fu)務(wu)器(qi)等等。
第二(er)種是軟(ruan)件開發設計的(de)(de)架(jia)構師(shi),他們負責規劃(hua)程序的(de)(de)運行模式,層(ceng)次結構,調用關系,規劃(hua)具體的(de)(de)實現(xian)技術類型,甚至配合整個團隊做好軟(ruan)件開發中(zhong)的(de)(de)項(xiang)目(mu)管理。
系統構架師是最近在國內外迅速成長并發展良好的一個職位,它的重要性及給 T業所帶來的影響是不言而喻的。在我國雖然還存在一定的爭論性、不可預測性、不理解性,不確定性,但它確實是時代發展的需要。IT業各公司為了讓他們現有的IT系統實現更大的價值,紛紛進行了重大的技術變革,這樣一來,對(dui)高(gao)水(shui)平的(de)(de)架(jia)(jia)(jia)構(gou)師(shi)的(de)(de)需(xu)求(qiu)激增。對(dui)負責架(jia)(jia)(jia)構(gou)的(de)(de)管理人員的(de)(de)需(xu)求(qiu)不(bu)斷(duan)增大(da),其增長速度(du)比(bi)對(dui)CIO的(de)(de)需(xu)求(qiu)還要(yao)快(kuai),這是因(yin)為(wei),架(jia)(jia)(jia)構(gou)師(shi)會(hui)給一個組織帶來大(da)量專門技術(shu)。公司需(xu)要(yao)一些在架(jia)(jia)(jia)構(gou)方面有真才(cai)實學,而(er)且(qie)學得(de)深且(qie)廣的(de)(de)人才(cai)。
在(zai)比爾·蓋茨的(de)(de)眾多稱謂中,據說(shuo)他(ta)更偏愛“首(shou)席軟件架構師”。同樣(yang),在(zai)網易(yi)創始人(ren)丁磊名字前(qian),也有“首(shou)席架構師”這樣(yang)的(de)(de)稱謂。由此可(ke)見,對于企業來(lai)說(shuo),架構師就是(shi)靈魂(hun)的(de)(de)創造者(zhe)。
系統架(jia)(jia)構師該怎么(me)來(lai)實現其“架(jia)(jia)構”企(qi)業(ye)的職能呢?尤其在設計企(qi)業(ye)IT策略時,該怎樣(yang)體現架(jia)(jia)構師的價值?這里(li)以實例(li)說明:
摩托羅(luo)拉(la)的(de)(de)副總裁 Toby Redshaw 說(shuo)(shuo),架(jia)構(gou)(gou)師是“IT策(ce)略中的(de)(de)中樞”,而(er)且(qie)這(zhe)(zhe)一(yi)(yi)角色對(dui)公(gong)(gong)司的(de)(de)影(ying)響(xiang)確(que)實非常大(da)。當 Toby Reshaw在2001年進入摩托羅(luo)拉(la)并擔(dan)任其(qi)策(ce)略暨架(jia)構(gou)(gou)副總裁時,他儼然一(yi)(yi)位(wei)購房(fang)者對(dui)一(yi)(yi)套搖(yao)搖(yao)欲墜的(de)(de)公(gong)(gong)寓進行估(gu)價一(yi)(yi)樣。他并不是僅僅只(zhi)作(zuo)些(xie)(xie)表面上(shang)的(de)(de)修改,而(er)是擬定了(le)一(yi)(yi)個重(zhong)建(jian)(jian)摩托羅(luo)拉(la)整個基(ji)礎結構(gou)(gou)的(de)(de)計劃(hua),這(zhe)(zhe)個計劃(hua)可以(yi)(yi)徹底修整公(gong)(gong)司的(de)(de)基(ji)礎建(jian)(jian)設,就像一(yi)(yi)個建(jian)(jian)筑(zhu)師設計一(yi)(yi)幢房(fang)子一(yi)(yi)樣,Redshaw擬出(chu)了(le)一(yi)(yi)張技(ji)術構(gou)(gou)架(jia)藍圖,一(yi)(yi)座(zuo)技(ji)術性的(de)(de)建(jian)(jian)筑(zhu),以(yi)(yi)便使被他稱(cheng)作(zuo)“如(ru)意大(da)利面條般錯亂的(de)(de)應用(yong)(yong)程序(xu),機器和(he)管線”那些(xie)(xie)東西(xi)變得井然有(you)序(xu)。他說(shuo)(shuo),只(zhi)要選擇了(le)正確(que)的(de)(de)架(jia)構(gou)(gou)策(ce)略并用(yong)(yong)對(dui)了(le)人,摩托就可以(yi)(yi)用(yong)(yong)比以(yi)(yi)前更(geng)(geng)快的(de)(de)速度生產出(chu)大(da)量應用(yong)(yong)軟件(jian),而(er)且(qie)可以(yi)(yi)減少維持重(zhong)疊系(xi)統(tong)的(de)(de)費用(yong)(yong)。Redshaw 說(shuo)(shuo):“如(ru)果(guo)你連(lian)建(jian)(jian)筑(zhu)架(jia)構(gou)(gou)都搞不好,就算你的(de)(de)石匠(jiang)技(ji)術再高明,又(you)有(you)什么(me)用(yong)(yong)?架(jia)構(gou)(gou)師IT策(ce)略中的(de)(de)中樞。”像Redshaw這(zhe)(zhe)樣的(de)(de)系(xi)統(tong)架(jia)構(gou)(gou)師們(men)在企(qi)業內部(bu)的(de)(de)影(ying)響(xiang)力非常大(da)。很(hen)久以(yi)(yi)來(lai),雖(sui)然他們(men)一(yi)(yi)直在信息(xi)技(ji)術部(bu)門擔(dan)任重(zhong)要職務,但(dan)是他們(men)經(jing)常受委托提(ti)供全面概況分(fen)析,并提(ti)出(chu)一(yi)(yi)些(xie)(xie)關(guan)于(yu)如(ru)何遵照標(biao)準執行這(zhe)(zhe)些(xie)(xie)任務的(de)(de)建(jian)(jian)議,而(er)這(zhe)(zhe)些(xie)(xie)對(dui)日常運作(zuo)的(de)(de)影(ying)響(xiang)極其(qi)有(you)限。隨(sui)著各(ge)公(gong)(gong)司都在尋找(zhao)重(zhong)建(jian)(jian)他們(men)的(de)(de)IT系(xi)統(tong),使其(qi)更(geng)(geng)能有(you)效(xiao)節省成本,更(geng)(geng)靈活的(de)(de)方法,架(jia)構(gou)(gou)師愈來(lai)愈被看作(zuo)是至(zhi)關(guan)重(zhong)要的(de)(de)因素。
一(yi)個定(ding)義(yi)明確的(de)(de)架構的(de)(de)目標(biao)在于降(jiang)低運行復雜的(de)(de)運算(suan)系統的(de)(de)費(fei)用(yong)。一(yi)個公司可(ke)以采用(yong)一(yi)種特(te)定(ding)的(de)(de)數據庫配置,如微軟(ruan)的(de)(de)數據庫,進而(er)(er)將系統標(biao)準化,而(er)(er)不需(xu)要讓公司的(de)(de)每(mei)個部(bu)門安(an)裝(zhuang)它(ta)們自己所需(xu)要的(de)(de)數據庫服務器。
Express的(de)技術架(jia)(jia)(jia)構(gou)(gou)副總裁Andy Miller說:“如(ru)果(guo)你(ni)沒有(you)(you)一(yi)項強有(you)(you)力(li)的(de)架(jia)(jia)(jia)構(gou)(gou)策(ce)略,人人各行(xing)其是,最(zui)后以得(de)到(dao)六種服務器和軟件平臺而告終,你(ni)的(de)系統變成(cheng)了大雜燴(hui),而那將使你(ni)的(de)費用激增。”把架(jia)(jia)(jia)構(gou)(gou)師(shi)(shi)(shi)獨立出(chu)來(lai)有(you)(you)很多好(hao)處,比(bi)(bi)如(ru)系統的(de)整(zheng)體把握,質量上(shang)的(de)保障,技術上(shang)的(de)先進性,架(jia)(jia)(jia)構(gou)(gou)的(de)靈活性,高(gao)效(xiao)性,還可有(you)(you)效(xiao)地降低成(cheng)本。試想,1個月(yue)薪1w的(de)架(jia)(jia)(jia)構(gou)(gou)師(shi)(shi)(shi)+10個月(yue)薪5k的(de)工程師(shi)(shi)(shi),肯(ken)定比(bi)(bi)11個月(yue)薪6k的(de)高(gao)級工程師(shi)(shi)(shi)效(xiao)果(guo)要好(hao)。一(yi)般來(lai)說,級別越高(gao)的(de)架(jia)(jia)(jia)構(gou)(gou)師(shi)(shi)(shi),經驗更豐富,爭相(xiang)聘(pin)請的(de)人也多,他們也是與公司全部的(de)IT策(ce)略密切相(xiang)關的(de)專業人員。
作為軟件(jian)開發的(de)(de)(de)設計架(jia)(jia)構(gou)(gou)師,那么(me)必須(xu)擁有一定(ding)的(de)(de)(de)編程(cheng)(cheng)技能,同時(shi)有高(gao)超的(de)(de)(de)學(xue)習(xi)新的(de)(de)(de)架(jia)(jia)構(gou)(gou)設計、程(cheng)(cheng)序設計技能。另(ling)外(wai),我覺得作為軟件(jian)架(jia)(jia)構(gou)(gou)師,還(huan)必須(xu)了解一定(ding)的(de)(de)(de)硬件(jian)、網絡、服務(wu)器的(de)(de)(de)基本知(zhi)識。要不(bu)(bu)然,你都不(bu)(bu)知(zhi)道有些什么(me)材料(liao)可以用,你怎么(me)去根據實際情況去規劃你的(de)(de)(de)軟件(jian)架(jia)(jia)構(gou)(gou)呢?忽視(shi)程(cheng)(cheng)序設計能力的(de)(de)(de)持續跟(gen)新,是(shi)永遠不(bu)(bu)能夠成為一個成功的(de)(de)(de)系(xi)統架(jia)(jia)構(gou)(gou)師。
一般(ban)來講,系統架構師應該擁(yong)有(you)以(yi)下幾方面的能力(li):
1:具備8年以上軟件行業工作經驗;
2:具(ju)備(bei)4年(nian)以(yi)上C/S或(huo)B/S體(ti)系(xi)結構(gou)軟(ruan)件(jian)產品開(kai)發及架構(gou)和設(she)計經驗;
3:具備3年以上的代碼編寫工(gong)作經驗;
4:具備(bei)豐富(fu)的大中(zhong)型開發項目(mu)的總(zong)體規(gui)劃、方案設計及技術隊(dui)伍(wu)管理經驗(yan);
5:對相關(guan)的技術標準(zhun)有深刻(ke)的認識,對軟件工程(cheng)標準(zhun)規范(fan)有良好的把握;
6:對.Net/JAVA技(ji)術及(ji)(ji)整個解決(jue)方案有(you)深刻(ke)的(de)(de)理(li)解及(ji)(ji)熟(shu)練(lian)的(de)(de)應用,并(bing)且精通WebService/J2EE架構和(he)設計(ji)模式,并(bing)在此基礎上設計(ji)產品框架;
7:具有(you)面向對象分析、設計、開發能力(li)(OOA、OOD、OOP),精通 UML 和 ROSE,熟練使(shi)用 Rational Rose、PowerDesigner等工(gong)具進行設計開發;
8:精通大型數據庫如Oracle、Sql Server等的開發;
9:對(dui)計算(suan)機系統(tong)、網絡(luo)和安全(quan)、應用系統(tong)架構(gou)等有(you)全(quan)面的認識,熟悉(xi)項(xiang)目管理理論,并有(you)實踐基礎(chu);
10:在應用系(xi)統開發(fa)平臺(tai)和項目管理(li)上有深(shen)厚的基礎,有大中(zhong)型應用系(xi)統開發(fa)和實施(shi)的成功案(an)例;
11:良好的(de)(de)團隊意識和協作精神,有(you)較強的(de)(de)內外溝通能力(li)。
系統構(gou)架師與產品經(jing)理的關系及(ji)區別
產(chan)品經(jing)(jing)理通(tong)常是(shi)指負責產(chan)品設計(ji)的(de)(de)(de)(de)“專(zhuan)人(ren)”。一個優秀的(de)(de)(de)(de)理想的(de)(de)(de)(de)產(chan)品經(jing)(jing)理,應(ying)(ying)(ying)(ying)同時具備較(jiao)高(gao)的(de)(de)(de)(de)商業(ye)素質和較(jiao)強的(de)(de)(de)(de)技術(shu)背(bei)景(jing)。產(chan)品經(jing)(jing)理要有深(shen)厚的(de)(de)(de)(de)領域經(jing)(jing)驗,也就是(shi)說,對該(gai)軟(ruan)件系(xi)統(tong)要應(ying)(ying)(ying)(ying)用(yong)到(dao)的(de)(de)(de)(de)業(ye)務領域非常之(zhi)(zhi)熟悉。比如(ru),開發(fa)房地產(chan)銷售(shou)軟(ruan)件的(de)(de)(de)(de)產(chan)品經(jing)(jing)理,應(ying)(ying)(ying)(ying)該(gai)對房地產(chan)公(gong)司的(de)(de)(de)(de)標準銷售(shou)流(liu)程了如(ru)指掌,甚至比大多數銷售(shou)人(ren)員還(huan)要清楚。如(ru)果(guo)開發(fa)的(de)(de)(de)(de)是(shi)通(tong)用(yong)產(chan)品,他/她還(huan)具備對市場、潛在客戶(hu)需(xu)求的(de)(de)(de)(de)深(shen)刻(ke)洞察(cha)力。那么,系(xi)統(tong)架構(gou)師(shi)與(yu)產(chan)品經(jing)(jing)理有什么不同呢(ni)?我們不應(ying)(ying)(ying)(ying)該(gai)把二者混(hun)為一談,這是(shi)不少論述(shu)和實踐(jian)常犯的(de)(de)(de)(de)錯(cuo)誤。我看來,如(ru)果(guo)把開發(fa)軟(ruan)件比作攝制電影,產(chan)品經(jing)(jing)理之(zhi)(zhi)于系(xi)統(tong)架構(gou)師(shi),就正(zheng)像編劇之(zhi)(zhi)于導演。產(chan)品經(jing)(jing)理雖(sui)然要有一定(ding)(ding)技術(shu)背(bei)景(jing),但(dan)仍(reng)應(ying)(ying)(ying)(ying)屬于“商業(ye)人(ren)士(business people)”,而系(xi)統(tong)架構(gou)師(shi)則肯定(ding)(ding)是(shi)一個技術(shu)專(zhuan)家。二者看待問題的(de)(de)(de)(de)立場、角度和出發(fa)點完全不同。
系統構架師與項目經理(li)的關系及(ji)區別(bie)
軟(ruan)件項目(mu)(mu)(mu)經(jing)(jing)理(li)(li)(li)(li)是(shi)(shi)(shi)指(zhi)對項目(mu)(mu)(mu)控(kong)制/管(guan)理(li)(li)(li)(li),關注項目(mu)(mu)(mu)本(ben)身的(de)(de)(de)(de)進(jin)度、質(zhi)量,分(fen)配(pei)、調動、協調、管(guan)理(li)(li)(li)(li)好人(ren)(ren)(ren)(ren)、財、物等資(zi)源的(de)(de)(de)(de)負責(ze)人(ren)(ren)(ren)(ren)。對于軟(ruan)件項目(mu)(mu)(mu)經(jing)(jing)理(li)(li)(li)(li)來講,包括項目(mu)(mu)(mu)計劃、進(jin)度跟蹤/監控(kong)、質(zhi)量保證、配(pei)置/發(fa)(fa)布/版本(ben)/變更(geng)(geng)管(guan)理(li)(li)(li)(li)、人(ren)(ren)(ren)(ren)員(yuan)(yuan)(yuan)(yuan)績(ji)效評估等方(fang)(fang)面。優秀的(de)(de)(de)(de)項目(mu)(mu)(mu)經(jing)(jing)理(li)(li)(li)(li)需要(yao)的(de)(de)(de)(de)素質(zhi),并(bing)不(bu)僅(jin)在(zai)(zai)于會使(shi)用幾種軟(ruan)件或(huo)是(shi)(shi)(shi)了(le)解(jie)若干抽象的(de)(de)(de)(de)方(fang)(fang)法論原則(ze),更(geng)(geng)重要(yao)的(de)(de)(de)(de)在(zai)(zai)于從大量項目(mu)(mu)(mu)實(shi)踐中(zhong)(zhong)獲得的(de)(de)(de)(de)寶(bao)貴經(jing)(jing)驗(yan),以及交流(liu)、協調、激(ji)勵的(de)(de)(de)(de)能力,甚至還應(ying)(ying)具備(bei)某種個(ge)(ge)(ge)性(xing)魅力或(huo)領袖(xiu)氣質(zhi)(Charisma)。由此可(ke)見,項目(mu)(mu)(mu)經(jing)(jing)理(li)(li)(li)(li)和(he)(he)系統架構(gou)(gou)師在(zai)(zai)職(zhi)責(ze)上有(you)很大差異。混同(tong)這兩個(ge)(ge)(ge)角色,往往也會導(dao)致低效、無(wu)序的(de)(de)(de)(de)開(kai)發(fa)(fa)。特別(bie)是(shi)(shi)(shi),從性(xing)格因素上講,單純的(de)(de)(de)(de)技(ji)術人(ren)(ren)(ren)(ren)員(yuan)(yuan)(yuan)(yuan)傾向于忽視“人(ren)(ren)(ren)(ren)”的(de)(de)(de)(de)因素,而這正(zheng)是(shi)(shi)(shi)管(guan)理(li)(li)(li)(li)活動的(de)(de)(de)(de)一(yi)(yi)個(ge)(ge)(ge)主(zhu)要(yao)方(fang)(fang)面。另外,就像戰(zhan)爭中(zhong)(zhong)的(de)(de)(de)(de)空軍(jun)掩護(hu)(Air Cover)一(yi)(yi)樣,專職(zhi)的(de)(de)(de)(de)項目(mu)(mu)(mu)經(jing)(jing)理(li)(li)(li)(li)能夠應(ying)(ying)付開(kai)發(fa)(fa)過程(cheng)中(zhong)(zhong)大量的(de)(de)(de)(de)偶發(fa)(fa)事件和(he)(he)雜務,對于一(yi)(yi)個(ge)(ge)(ge)規模(mo)稍(shao)大的(de)(de)(de)(de)項目(mu)(mu)(mu),這些雜務本(ben)身就能占用一(yi)(yi)個(ge)(ge)(ge)全(quan)職(zhi)工作者的(de)(de)(de)(de)幾乎全(quan)部(bu)時間。在(zai)(zai)一(yi)(yi)個(ge)(ge)(ge)項目(mu)(mu)(mu)中(zhong)(zhong),推動項目(mu)(mu)(mu)發(fa)(fa)展的(de)(de)(de)(de)是(shi)(shi)(shi)系統構(gou)(gou)架師,而不(bu)是(shi)(shi)(shi)項目(mu)(mu)(mu)經(jing)(jing)理(li)(li)(li)(li)。項目(mu)(mu)(mu)經(jing)(jing)理(li)(li)(li)(li)的(de)(de)(de)(de)職(zhi)責(ze)只是(shi)(shi)(shi)配(pei)合系統構(gou)(gou)架師,提供(gong)各個(ge)(ge)(ge)方(fang)(fang)面的(de)(de)(de)(de)支持。主(zhu)要(yao)職(zhi)責(ze)是(shi)(shi)(shi)與內外部(bu)溝(gou)通和(he)(he)管(guan)理(li)(li)(li)(li)資(zi)源(包括人(ren)(ren)(ren)(ren))。系統構(gou)(gou)架師提出(chu)系統的(de)(de)(de)(de)總體構(gou)(gou)架,給出(chu)開(kai)發(fa)(fa)指(zhi)導(dao)。一(yi)(yi)個(ge)(ge)(ge)項目(mu)(mu)(mu)中(zhong)(zhong),項目(mu)(mu)(mu)經(jing)(jing)理(li)(li)(li)(li)的(de)(de)(de)(de)角色什么?如果(guo)他即使(shi)管(guan)理(li)(li)(li)(li)人(ren)(ren)(ren)(ren)員(yuan)(yuan)(yuan)(yuan)又是(shi)(shi)(shi)設計人(ren)(ren)(ren)(ren)員(yuan)(yuan)(yuan)(yuan),則(ze)必須(xu)比別(bie)人(ren)(ren)(ren)(ren)強(qiang),能夠有(you)讓(rang)別(bie)人(ren)(ren)(ren)(ren)服的(de)(de)(de)(de)東西。如果(guo)他只是(shi)(shi)(shi)項目(mu)(mu)(mu)管(guan)理(li)(li)(li)(li)人(ren)(ren)(ren)(ren)員(yuan)(yuan)(yuan)(yuan),系統構(gou)(gou)架師有(you)專門人(ren)(ren)(ren)(ren)員(yuan)(yuan)(yuan)(yuan),就可(ke)以不(bu)用精通或(huo)者說了(le)解(jie)it各個(ge)(ge)(ge)方(fang)(fang)面的(de)(de)(de)(de)知識,如果(guo)了(le)解(jie)更(geng)(geng)好。另外,如果(guo)在(zai)(zai)一(yi)(yi)個(ge)(ge)(ge)項目(mu)(mu)(mu)沒有(you)人(ren)(ren)(ren)(ren)在(zai)(zai)技(ji)術構(gou)(gou)架上和(he)(he)開(kai)發(fa)(fa)指(zhi)導(dao)上負全(quan)部(bu)責(ze)任,而是(shi)(shi)(shi)每個(ge)(ge)(ge)人(ren)(ren)(ren)(ren)都負責(ze)一(yi)(yi)快的(de)(de)(de)(de)架構(gou)(gou)、分(fen)析、設計、代碼和(he)(he)實(shi)施等,最后肯定會失去(qu)管(guan)理(li)(li)(li)(li)。
系統構架師與系統分析師的關系及(ji)區別
系(xi)(xi)統(tong)(tong)分(fen)析(xi)(xi)師(System analyst)是指(zhi)對(dui)系(xi)(xi)統(tong)(tong)開發(fa)中進行(xing)(xing)業務需(xu)(xu)求分(fen)析(xi)(xi)、系(xi)(xi)統(tong)(tong)需(xu)(xu)求分(fen)析(xi)(xi)、可行(xing)(xing)性(xing)(xing)分(fen)析(xi)(xi)、業務建模(mo)和(he)指(zhi)導項目(mu)(mu)開發(fa)的(de)人。系(xi)(xi)統(tong)(tong)分(fen)析(xi)(xi)師所面臨的(de)往往是有許多(duo)不(bu)確定(ding)(ding)性(xing)(xing)的(de)事件,需(xu)(xu)要(yao)對(dui)這些不(bu)確定(ding)(ding)性(xing)(xing)的(de)事件進行(xing)(xing)分(fen)析(xi)(xi)、總結(jie),使之得出一(yi)個(ge)相對(dui)可靠的(de)確定(ding)(ding)性(xing)(xing)結(jie)論或(huo)實(shi)施方案模(mo)型(xing)。一(yi)般意思上講,系(xi)(xi)統(tong)(tong)分(fen)析(xi)(xi)師的(de)水平將(jiang)影響(xiang)系(xi)(xi)統(tong)(tong)開發(fa)的(de)質量,甚至成敗(bai)。但在(zai)一(yi)個(ge)完善的(de)系(xi)(xi)統(tong)(tong)開發(fa)隊伍中,還需(xu)(xu)要(yao)有業務專家,技術專家和(he)其他輔(fu)助人員(yuan)。對(dui)于大型(xing)企業或(huo)者項目(mu)(mu),如果一(yi)人承擔多(duo)個(ge)角(jiao)色,往往容易發(fa)生顧(gu)此失彼的(de)現象。
系(xi)(xi)(xi)統(tong)(tong)(tong)(tong)(tong)分(fen)(fen)析(xi)(xi)(xi)師(shi)(shi)對(dui)業務系(xi)(xi)(xi)統(tong)(tong)(tong)(tong)(tong)進行分(fen)(fen)析(xi)(xi)(xi)、建模(mo),他的(de)任(ren)務、目標(biao)是明確的(de)。系(xi)(xi)(xi)統(tong)(tong)(tong)(tong)(tong)架構(gou)師(shi)(shi)協同系(xi)(xi)(xi)統(tong)(tong)(tong)(tong)(tong)分(fen)(fen)析(xi)(xi)(xi)師(shi)(shi)的(de)工作,建議系(xi)(xi)(xi)統(tong)(tong)(tong)(tong)(tong)分(fen)(fen)析(xi)(xi)(xi)師(shi)(shi)按什(shen)(shen)么(me)標(biao)準,什(shen)(shen)么(me)工具,什(shen)(shen)么(me)模(mo)式(shi),什(shen)(shen)么(me)技(ji)術去思(si)考系(xi)(xi)(xi)統(tong)(tong)(tong)(tong)(tong)。同時(shi),系(xi)(xi)(xi)統(tong)(tong)(tong)(tong)(tong)架構(gou)師(shi)(shi)應該對(dui)系(xi)(xi)(xi)統(tong)(tong)(tong)(tong)(tong)分(fen)(fen)析(xi)(xi)(xi)師(shi)(shi)所(suo)提出的(de)問(wen)題,碰(peng)到(dao)的(de)難題及時(shi)地提出解(jie)決的(de)方法。系(xi)(xi)(xi)統(tong)(tong)(tong)(tong)(tong)架構(gou)師(shi)(shi)在項目中擔任(ren)技(ji)術骨(gu)干的(de)角色,負(fu)責技(ji)術實施(shi)中的(de)重點技(ji)術問(wen)題攻關。同時(shi),又(you)是系(xi)(xi)(xi)統(tong)(tong)(tong)(tong)(tong)分(fen)(fen)析(xi)(xi)(xi)師(shi)(shi)的(de)技(ji)術顧問(wen),為整個項目的(de)技(ji)術框架與技(ji)術細(xi)節(jie)的(de)展(zhan)開和落(luo)實提供強有力(li)的(de)技(ji)術保(bao)障。
優(you)秀的(de)(de)(de)(de)系統架(jia)構(gou)師(shi)是保證(zheng)軟件系統強大(da)生命(ming)力的(de)(de)(de)(de)核心人物。專(zhuan)業(ye)架(jia)構(gou)師(shi)能夠幫助(zhu)公司(si)全面(mian)研究(jiu)現有架(jia)構(gou)和(he)設(she)(she)計模(mo)式、評(ping)估(gu)系統設(she)(she)計的(de)(de)(de)(de)優(you)缺點和(he)可(ke)能存在的(de)(de)(de)(de)風(feng)險,通(tong)過一系列(lie)的(de)(de)(de)(de)專(zhuan)題(ti)指導和(he)具體案(an)(an)例幫助(zhu)公司(si)掌(zhang)握(wo)先進的(de)(de)(de)(de)、成熟的(de)(de)(de)(de)設(she)(she)計模(mo)式,簡化復雜的(de)(de)(de)(de)業(ye)務邏輯和(he)需求,確定(ding)系統最適(shi)合法人方案(an)(an)。在必要的(de)(de)(de)(de)情(qing)況下,還可(ke)就特(te)定(ding)領域或課題(ti),為開發(fa)人員提供定(ding)制指導。通(tong)過上面(mian)的(de)(de)(de)(de)介紹,我們對系統構(gou)架(jia)師(shi)有了的(de)(de)(de)(de)較深刻的(de)(de)(de)(de)認識,我們明白(bai)了系統構(gou)架(jia)師(shi)的(de)(de)(de)(de)地位,作(zuo)用,工作(zuo)職責及任職條件,同(tong)時(shi)還區別出與(yu)其他角(jiao)色的(de)(de)(de)(de)不同(tong),那么如何評(ping)估(gu)系統構(gou)架(jia)師(shi)的(de)(de)(de)(de)工作(zuo)成績(ji),
如(ru)何識別一(yi)個合(he)格的優秀的系統構架師是不難(nan)的。
具體來講,我們(men)可以(yi)通(tong)過以(yi)下幾方面來評估系統構架師的工作成(cheng)績:
1:系統構架師是否是某一(yi)技術領域的專家;
2:系統構架(jia)師(shi)能否指導分析員的設計工作,發(fa)現并(bing)(bing)指出(chu)設計存(cun)在的問題并(bing)(bing)提出(chu)解決方法,評審他(ta)們的工作;
3:系統構架師能否指導軟件(jian)工程師進行開(kai)發工作(zuo),發現(xian)并指出編碼存在(zai)的問題并提出解決方法,評審他們(men)的工作(zuo);
4:系統構架師(shi)能否(fou)協助好項目經理(li)制定項目計劃和控制項目進度;
5:系(xi)統(tong)構架師能(neng)否及時(shi)有(you)效地解決設計、開發人員所提出的(de)問題(ti),解決技術(shu)上的(de)難(nan)題(ti);
6:系(xi)統構(gou)架(jia)師(shi)能(neng)否制訂并規范系(xi)統設計和開發(fa)文(wen)檔、工具、模型;能(neng)否讓其(qi)他(ta)人員容易理解;
7:系統構架(jia)師(shi)能(neng)否經常組織并帶領公(gong)司內部(bu)員工研究、學習與項目相關的新(xin)技術;
8:系(xi)統構架師(shi)能否組織(zhi)和管理好(hao)公司(si)內部的技(ji)術培訓(xun)工(gong)作,技(ji)術研究和公關工(gong)作;
9:系統構架師是否(fou)有良好的(de)團隊意識和協(xie)作精(jing)神,有較強(qiang)的(de)內外溝通能(neng)力;
10:系統(tong)構架師是否(fou)能(neng)管理(li)好技術支撐(cheng)團(tuan)隊并給項(xiang)目、產品開發(fa)實施團(tuan)隊提供技術保(bao)障;
11:系(xi)統(tong)構架(jia)師所設計的(de)系(xi)統(tong)架(jia)構是(shi)否合理,技術是(shi)否先進,能否滿足(zu)客戶的(de)要求;
12:系統構架(jia)是否有(you)擴展性,安全性,能否經受壓力測試,網絡流量在超用戶數下(xia)如何(he)控制(zhi);
13:系統邊界如(ru)(ru)何(he)處(chu)理,瓶(ping)頸問題如(ru)(ru)何(he)解決等;
14:系統設計(ji)前期(qi)、中期(qi)、后期(qi)所要(yao)解決的問題,是否有階(jie)段性,里程碑的標識;
15:是否有分析、識別并盡(jin)可能地回避風險,降(jiang)低(di)風險所引發問題(ti)成(cheng)本的(de)能力;
16:能(neng)否(fou)給公司降低開發(fa)成本,提高效(xiao)率;
系(xi)統架(jia)(jia)構師的(de)一般月(yue)薪范圍在(zai)20000-100000美元左右。系(xi)統架(jia)(jia)構師是(shi)軟件(jian)項目的(de)總(zong)設計師,是(shi)軟件(jian)企業的(de)新產(chan)品、新技(ji)術體系(xi)的(de)構建者,是(shi)軟件(jian)開(kai)發(fa)中急需的(de)高層次技(ji)術人才。其(qi)是(shi)由系(xi)統開(kai)發(fa)工程師發(fa)展而來,可以向研(yan)發(fa)總(zong)監,高級(ji)技(ji)術總(zong)監等高層次的(de)方向發(fa)展。