2006.06.29
微軟(美國)產品開發組的團隊角色 |
[ 2005-12-26 18:47:43 | Author: ccBoy ] 上次提到微軟的PM,今天看到這樣的文章,收集一下,的確這是微軟(美國)產品開發組的團隊角色 UI設計人員是對產品的使用界面進行設計和訂正的人員。 Usability Engineer是檢驗UI設計的合理性的人員 在很多團隊,真正的界面設計都是由PM做完了Spec,才找UI設計人員來征求意見。像我們團隊,我的設計規范書寫完后,我才找UI設計人員來,他們所做的也就不過是對我的設計作小改動,如那些英語詞句用得不妥,哪里的按鈕該改變大小,等等。我所知道的其它視窗操作系統的團隊,也是差不多。這主要是因為我們能自己進行界面設計 - 視窗操作系統部門的PM是微軟PM中最厲害的??墒牵@是不太正確的方法,因為如果你有很強的PM, 你可用這種方法,要是你的PM的設計能力不強,這樣的流程就要出問題。你的項目的成功不應該寄托在幾個強有力的PM上,而是要用完善的流程來保證。好的流程應該是,在產品開發的早期,在做設計時,PM就應該和UI設計人員一起來考慮產品設計的合理性。 這個問題在微軟內部我們自己也有很大的爭論。 UI設計人員就常常抱怨,在產品開發的早期,他們常常不被看重,被拋在一邊。UI設計的領導人甚至在全公司的培訓大會上講,我們的這個文化有問題,領導對UI設計人員在產品開發早期能起的作用不夠重視??墒沁@個爭論已有幾年了,結果仍無改變。我想這主要還是跟我們這個行業的產品開發的特性有關系。因為軟件開發是很技術性的,常常在早期的技術討論中,UI設計人員對技術討論說不出個所以然來(因為他們大多是學藝術設計的),漸漸地各開發團隊對UI設計人員的作用就看輕了。在使用界面因素占很大比例的產品團隊,像Office 和MSN,這種情況要好一些。 Usability Engineer 所做的事和UI設計人員不同。他們是將UI設計的模型版,找客戶來進行實用和使用性能的檢驗調查和測試,并根據調查結果對UI設計提出進行修改的意見。也就是說,他們的工作是檢驗UI設計的合理性,有點像測試人員對程序進行檢驗的功能 。 可以說, Usability Engineer 和UI設計人員的關系像測試人員與開發編程人員的關系。 User Education team 是編寫使用說明書的編輯人員。 從大方面的來說,微軟的產品組是公司的幾大部門之一,其他還有市場/銷售部門,服務部門,運作部門,還有研究院什么的。 在產品組里,是按產品分成一個個的商業部門(Business Unit),一個商業部門負責一個主要的產品。其中的項目團隊主要是按以下的結構組成:(縮進表示匯報Report關系) Product Unit Manager - 產品組總經理 ---+ Group Program Manager ---+ Program Manager Lead ------+ Program Manager 1 ------+ Program Manager 2 ------+ Program Manager n ---+ Dev Manager ------+ Dev Lead ------+ Dev 1 ------+ Dev 2 ------+ Dev n ---+ Test Manager ------+ Test Lead ------+ Test 1 ------+ Test 2 ------+ Test n ---+ User Education Team Manager ------+ UE 1 ------+ UE 2 ---+ Architect (整體設計,規劃,基本上只有特別大的產品組才有,畫那種積木圖。順別提及,Bill Gates 是Chief Software Architect) 除此以外,還有全公司合用的: + Usability Engineer + Designer (美工) + Accessiblity Engineer ...... 對于一個Feature,通常每個角色有一個,比如按上例中,可能是 [ Test 1 + Dev 2 + UE 1 + Usability Enigneer ] 組成一個Feature team. Feature Team 之間沒有隸屬關系。 :p 對于參加過DEVP203課程的學員: 其實我們在課上講過的模型,有很多變化的可能性.以上是最基本的微軟配置,比如過的部門就很小,20個人就要出一個產品,并不是所有的角色都有. 允許我拋磚引玉,先談一下微軟的經驗: 合理的開發團隊組合應該是什么? 允許我拋磚引玉,先談一下微軟的經驗: 項目經理團隊:(Program Management Team) • 設計項目經理 (Feature Design PM):負責具體的產品設計,寫Design Spec。PM 隊伍中,80%的PM是做這個。 • 發行項目經理 (Release PM):負責整個項目的流程和進度管理,制定進度表等,協調整個團隊的工作。大的PM 隊伍中有一人專門做這個。這是整個項目的領頭人。大型的項目的成功與否,常常靠得力的發行經理的領導。 • 協助項目經理(Supporting PM):負責其它產品發行需要照顧到的事情,如客戶交流、和市場開發人員交流、負責beta program (初版試行)、等等。大的PM 隊伍中少不了這樣的人。20%的PM是做這個。 開發團隊:(Development Team) • 開發團隊領導(Development Manager): 負責管理各個開發小組,并對開發編程的工作做總體的規劃。 • 開發組長(Development Lead): 負責管理開發工程師,也參加對開發編程的工作做總體的規劃。 • 開發工程師(Develop Engineer, or Developer):負責具體的編程開發。 • 構架師(Architect): 大的產品團隊有一兩個資深工程師專門做整體系統的設計規劃。 測試團隊:(Quality Assurance or Test Team) • 測試團隊領導(QA Manager): 負責管理測試小組 • 測試組長 (Test Lead): 負責管理測試工程師, 制定測試計劃等 • 測試工程師(Tester or Test Engineer):負責具體的測試工作 • 測試開發工程師(Developer in Test, or STED): 負責測試工具的開發 產品可用性團隊:(Usability Team) • 產品可用性工程師 (Usability Engineer): 做使用性能的調查和測試,采訪客戶或將客戶邀請來做調查 • 界面設計師(UI Designer): 負責具體的界面設計 • 產品設計師 (Product Designer): 負責產品的總體設計, 特別是硬件產品。 以上這個團隊并不是所有的產品隊伍都有。比較小的隊伍就沒有這些專人,有的時候向別的隊伍借用,或雇傭臨時工。 客戶教育或文檔團隊:(User Education, or UE Team) • 文檔組長 (UE Lead):負責管理文檔小組 • 文檔編輯 (UE Editor):負責具體的文檔編輯和撰寫 以上只是一個大約的組合模式。不同的團隊有各自的側重點和變化。在很大程度上這些也受到具體的產品的影響。我想我在微軟的產品部門的其他同事們會再做補充。 希望這些信息能對國內的軟件開發公司能有參考價值。我們希望通過這樣的交流,我們能為中國軟件開發事業的進一步發展盡我們的一點微薄之力。 |