產品經理一般是指負責產品設計的「專人」。一個優秀的理想的產品經理,應同時具有較高的商業素質和較強的技術背景。產品經理要有深厚的領域經驗,也就是說,對該軟件系統要應用到的業務領域很是之熟悉。好比,開發房地產銷售軟件的產品經理,應該對房地產公司的標準銷售流程瞭如指掌,甚至比大多數銷售人員還要清楚。若是開發的是通用產品,他/她還具有對市場、潛在客戶需求的深入洞察力。 那麼,系統架構師與產品經理有什麼不一樣呢? 咱們不該該把兩者混爲一談,這是很多論述和實踐常犯的錯誤。我看來,若是把開發軟件比做攝製電影,產品經理之於系統架構師,就正像編劇之於導演。產品經理雖然要有必定技術背景,但仍應屬於「商業人士(business people)」,而系統架構師則確定是一個技術專家。兩者看待問題的立場、角度和出發點徹底不一樣。 系統構架師與項目經理的關係及區別 軟件項目經理是指對項目控制/管理,關注項目自己的進度、質量,分配、調動、協調、管理好人、財、物等資源的負責人。對於軟件項目經理來說,包括項目計劃、進度跟蹤/監控、質量保證、配置/發佈/版本/變動管理、人員績效評估等方面。優秀的項目經理須要的素質,並不只在於會使用幾種軟件或是瞭解若干抽象的方法論原則,更重要的在於從大量項目實踐中得到的寶貴經驗,以及交流、協調、激勵的能力,甚至還應具有某種個性魅力或領袖氣質(Charisma)。 因而可知,項目經理和系統架構師在職責上有很大差別。混同這兩個角色,每每也會致使低效、無序的開發。特別是,從性格因素上講,單純的技術人員傾向於忽視「人」的因素,而這正是管理活動的一個主要方面。另外,就像戰爭中的空軍掩護(Air Cover)同樣,專職的項目經理可以應付開發過程當中大量的偶發事件和雜務,對於一個規模稍大的項目,這些雜務自己就能佔用一個全職工做者的幾乎所有時間。在一個項目中,推進項目發展的是系統構架師,而不是項目經理。項目經理的職責只是配合系統構架師,提供各個方面的支持。主要職責是與內外部溝通和管理資源(包括人)。系統構架師提出系統的整體構架,給出開發指導。一個項目中,項目經理的角色什麼?若是他即便管理人員又是設計人員,則必須比別人強,可以有讓別人服的東西。若是他只是項目管理人員,系統構架師有專門人員,就能夠不用精通或者說了解 it 各個方面的知識,若是瞭解更好。另外,若是在一個項目沒有人在技術構架上和開發指導上負所有責任,而是每一個人都負責一快的架構、分析、設計、代碼和實施等,最後確定會失去管理。
系統架構師應該和系統分析員分開,但架構師必須具有系統分析員的全部能力,同時還應該具有設計員所沒有的不少能力。 系統架構師是指導、檢督系統分析員的工做,要求系統分析員按什麼標準,什麼工具,什麼模式,什麼技術去設計系統的。同時,系統架構師應該對系統分析員所提出的問題,碰到的難題及時地提出解決的方法。並檢查、評審系統分析員的工做。
評估依據
如何識別一個合格的優秀的系統構架師是不難的。
具體來說,咱們能夠經過如下幾方面來評估系統構架師的工做成績:
1:系統構架師是不是某一技術領域的專家;
2:系統構架師可否指導分析員的設計工做,發現並指出設計存在的問題並提出解決方
法,評審他們的工做;
3:系統構架師可否指導軟件工程師進行開發工做,發現並指出編碼存在的問題並提出
解決方法,評審他們的工做;
4:系統構架師可否協助好項目經理制定項目計劃和控制項目進度;
5:系統構架師可否及時有效地解決設計、開發人員所提出的問題,解決技術上的難
題;
6:系統構架師可否制訂並規範系統設計和開發文檔、工具、模型;可否讓其餘人員容
易理解;
7:系統構架師可否常常組織並帶領公司內部員工研究、學習與項目相關的新技術;
8:系統構架師可否組織和管理好公司內部的技術培訓工做,技術研究和攻關工做;
9:系統構架師是否有良好的團隊意識和協做精神,有較強的內外溝通能力;
10:系統構架師是否能管理好技術支撐團隊並給項目、產品開發實施團隊提供技術保
障;
11:系統構架師所設計的系統架構是否合理,技術是否先進,可否知足客戶的要求;
12:系統構架是否有擴展性,安全性,可否經受壓力測試,網絡流量在超用戶數下如何
13:控制;系統邊界如何處理,瓶頸問題如何解決等;
14:系統設計前期、中期、後期所要解決的問題,是否有階段性,里程碑的標識;
15:是否有分析、識別並儘量地迴避風險,下降風險所引起問題成本的能力;
16:可否給公司下降開發成本,提升效率;