您的位置:軟件測試 > 軟件項目管理 > 項目人 >
微軟產品組里的十一類人
作者:網絡轉載 發(fā)布時間:[ 2013/8/20 13:50:41 ] 推薦標簽:

微軟產品組里的十一類人
第一種是產品規(guī)劃人員。產品規(guī)劃人員主要任務是調查,包括調查你的競爭對手、客戶、以及其他市場需求。產品規(guī)劃的過程是定義產品的過程。他們通常會做很多研究,通過跟蹤市場用戶,做市場調查,看行業(yè)的報告,從而確定產品三到五年的發(fā)展規(guī)劃。其實作為產品規(guī)劃人員重要的一點,是要有前瞻性。不僅僅是能看到現在市場是什么樣的,而更要能看到三到五年以后會是什么樣的。我們可以看到微軟好多產品,都有一種說法叫”version 3.0” ,可能在1.0、2.0時不是很好,有可能是功能的問題,也有可能是超前于市場的緣故,像Windows做出來時,無論從硬件或軟件應用程序來看,都沒有市場,但是通過不斷的改進,到3.0時取得了很大的成功。從這一點看,產品規(guī)劃人員是非常重要的。
第二類人是產品管理人員。某種程度上有點類似于傳統的市場人員,但也不完全相同。他們的主要任務是把產品推向市場。包括決定產品的定位、包裝。重要的一點是向用戶傳達一個什么信息。也是用戶為什么買你的產品,或者升級到你的產品。很多人說微軟的產品除了質量好外,市場也做得好。象IE是一個很好的市場運作的例子。如IE初的用戶定位,不是試圖讓Netscape已有的用戶轉到IE上,從來沒有這么做過,而是面向新的Internet用戶,這是用戶定位很清楚。此外,對IE不同的版本,開發(fā)側重點不一樣,需要用一條簡單的信息告訴用戶,這個版本比其他版本有什么好處。這些都是產品管理人員要做的。
下一個角色是程序經理,我們以前叫項目經理。但上次我在上海講的時候,學員說,他和國內的項目經理做的事情很不一樣,所以這里我叫程序經理,有時候我可能會交換著用。
在微軟,程序經理主要是做產品,在適當的時候推出適當的產品。他碰到的主要困難是如何保持控制。適當時候意味著你必須控制好產品的發(fā)布日程,不能有延誤。大家知道產品過程中不確定的是人為因素,把發(fā)布日期控制好是很困難的。還有,要做出正確的取舍。有些時候你會在發(fā)布日期和新的特性之間需要做出取舍,或者是不是采取新的技術、用新的工具、算法什么是不是必要、我們是不是需要去做,做什么和不做什么之間,做出取舍,從而控制產品的特性并使其能滿足市場需求。程序經理需要衡量做這些事情的危險性,需要衡量得特別清楚! 
這三類人把整個產品的策劃,推向市場,以及產品開發(fā)過程控制基本上定下來了,可以是說關鍵的。
  剩下的有產品設計人員,主要是做產品的用戶界面或可視化方面的設計。這些人一般人都有設計方面的背景。像微軟的產品,以前對用戶界面設計或用戶交互方面?zhèn)戎夭皇呛芏啵驗閭鹘yPC,早期只是專業(yè)人員的工具。但現在越來越面向消費者、初學者方向發(fā)展,那么對于界面設計要求越來越高。公司在這方面投入了很大的人力。我不知道大家都看到新的Windows XP、或像“MSN Explorer”沒有,這些產品和傳統的產品相比,外觀,包括用戶使用方式都是完全不一樣的,更注重的是一種整體的體驗、經歷。
  產品設計還有一個重要的工作,是保證產品所有可視部分保持一致。不同的模塊或者不同的特性可能由不同的人員開發(fā),如何保證可視部分看起來一樣,使用戶不至于在使用一個產品時突然覺得不是同一個公司的產品,這取決于產品設計人員。
  第五種人員是產品可用性評估工程師,他們主要做的是保證產品可用、易用,而且能夠容易被用戶接受。一般在產品開發(fā)的初期或過程中,都有一些不同的原型,是針對一些特性怎么做,用戶怎么交互,設計一些不同的原型,然后交由可用性評估工程師做可用性測試,從而決定終的方案。這方面微軟一直是非常重視的。你可能注意到在IE早期版本里,地址欄里面并沒有“Go“按鈕,只是有一個地址欄。但是后來通過可用性測試,發(fā)現一些用戶把地址敲進去后,在那兒等著,也不知道按回車。確實有這樣的人。所以從IE5.0開始在地址欄后加了個按鈕,用戶敲完地址以后,可以試著按一下按鈕,來鏈接到他所需要的網頁。
  下一類是開發(fā)人員。開發(fā)人員在微軟應該是很重要的,但是我感覺相比之下,沒有像在我們國內一些企業(yè)那么重要。開發(fā)人員的主要工作,一部分是設計一些算法,對程序經理做出的文檔或者特性說明要提出自己的反饋。還有更重要的一塊是,幫助程序經理推出產品日程,從什么時候可以做到“beta1”、“beta2”,什么時候可以發(fā)布。這些跟開發(fā)人員密切相關,所以由開發(fā)人員決定它的進度。除此之外,是通常的寫代碼,編程與調試,以及后期的缺陷修復。
  下一部分是測試人員。微軟對測試非常重視。測試人員在產品開發(fā)過程中要獨立完成,是不受其他人員的影響,獨立完成測試。另外某些情況下,要作為用戶的代言人,把用戶的利益放在首位。如果你認為這個產品這樣發(fā)布出去不行,一定要堅持。當然這樣往往會引起一些激烈的爭論,決定問題到底是要不要解決,但終的結果是使用戶受益。
  再下一類是微軟特有的本地化人員。這一點我想對大家目前可能不是很適用。但我們將來怎么把我們的產品推向世界,有一個全球化的過程,也有通過本地化來滿足中國以外的其它市場的要求的過程,所以將來肯定會有這方面的需求。
還有一類人員是文檔發(fā)布,這里面包括網站方面的文檔,軟件內的文檔,這些文檔主要是幫助用戶怎么使用產品。還有面向開發(fā)人員的,做一些代碼示例,這是文檔發(fā)布主要的工作。我們傳統談到的開發(fā)文檔在微軟是程序經理來完成的,是所有的程序經理在項目開始針對每個特性寫非常詳盡特性說明。
  還有一類人專職于產品支持,這在微軟也是非常重要的。一方面微軟跟終用戶打交道常見的一個途徑,往往有很多用戶打電話提出問題,將來在下一個版本會把它解決掉。還有重要的在微軟來說,用戶每打進一個電話都是要花錢的,實際上產品支持直接影響到公司的營業(yè)額。提供更快速更有效的用戶支持是重要的一個環(huán)節(jié)。
  后一個角色是運營管理,實際是網站運營管理。大家也知道,微軟產品目前越來越多和Internet緊密集成,像我們現在做的“Hotmail”、“MSN Calendar”等產品,本身是一個網站。
運營管理角色原來是沒有的,這只是近兩三年來新發(fā)展出來的角色,在將來會越來越重要。因為你跟傳統的做所謂包裝的產品不一樣。以前你可以說我把CD做完了,產品發(fā)布了,沒事了。因為用戶買了產品,你已經賺錢了。而做連機在線服務的時候,軟件發(fā)布僅僅是一個開始,用戶只要使用你都需要花錢,都會影響你整個的贏利。
實際上在線管理是非常復雜的,比如“Hotmail”,現在有一億一千多萬用戶。在前端大概有五千多個服務器運行著Windows 2000,來滿足用戶登錄。后臺還有許多服務器負責郵件的收發(fā),存儲,是很復雜的一個系統,因為有底層的網絡,有硬件,還有操作系統,還有上面的你的應用程序,再加上Internet本身又是不確定的環(huán)境。怎樣把這復雜的系統管理好,是很具有挑戰(zhàn)性的。
和傳統應用程序不同,用戶隨時可以走開,而且還有很多不確定性。例如我們傳統的產品,用戶買得越多,我賺的錢越多;但在連機的時候,用戶多有時候也可能是個問題,是你可能支持不了那么多用戶。比如同時有很多人來訪問,你的網站是不是能滿足這么多用戶訪問的需求,因此網站運行還往往需要提前對流量或用戶在線數做出較精確的預測。
運營管理在微軟將會越來越重要,而同時產品的很多設計會影響到你到底能不能好好運行。所以這對其他人員也提出了新的要求。
  目前基本上來說,運營管理、產品規(guī)劃、產品管理和程序管理這四類人實際上在主要推動產品的進程。其他人扮演的是一個被動的或專注于做某項具體事情的角色,但是每一個角色都是不可或缺的。
  前面我們講了微軟現在基本上有十一個工種。怎么把這些人組織起來,能夠更有效地去投入到開發(fā)過程中呢?微軟目前基本上是一種所謂的條塊結構,即在公司內部基本的組織是一個產品單元,比如像IE是一個產品單元組,產品單元組的管理者會有預算,有人給錢。在每個產品單元內,在行政上按你的工作類型來劃分:像程序經理,他上面會有一個總的程序經理組長;如開發(fā)人員有一個開發(fā)組長;測試人員也同樣,這是在行政上的組織。行政組織結構主要是為了對你的業(yè)績做出一些考核,包括將來會不會給你加工資。在做產品的時候,在每個產品單元組內,又按不同的特性劃分為各個不同的項目組,劃分的基本原則是希望由一個很精干很小型的團隊來進行開發(fā)。因為我說了要按產品的不同特性來劃分組織,這要求你在產品設計時,大的產品能分成一個個小模塊和小特性,然后相互之間又沒有很大的依從關系,因為跨組的交互或者跨組的依從關系是難管理的。每一個團隊內基本上由項目經理,或者程序經理來領導負責一個特性,下面會有開發(fā)人員,也會有測試人員,基本上開發(fā)人員和測試人員的比例一般都是一比一,這樣一個組差不多十個人,是基本的開發(fā)單元。一些跟技術有關的決定基本上是項目經理做出來的,不會有上面的人左右你的決定。這種組織結構使在一些商務和技術方面很快做一些決定,同時因為每個組人少,能使大的團隊能像小的團隊這樣很快向前移動,而效率不會受到影響。
以IE產品組為例。它在不同時期有不同的人員,人數也是不同的。早IE1.0是幾個人,IE2.0可能是三四十個人,到IE4的時候基本上到了300人的項目組。在300人的項目組里面是這樣的組成:一個是產品單元經理,這因為是以產品單元為基本單位,所以產品單元經理是大老板,下面有五個產品規(guī)劃人員,產品經理有二十個,項目經理五十個,開發(fā)人員一百個,測試人員也有一百個,因為還有文檔發(fā)布(因為IE也有一些SDK,也有一些聯機的網頁和幫助文件),所以文檔人員有十個人。這種人員結構也是根據產品的特性,或者你在這個版本中間你的側重點來決定的。同樣在IE產品組,在IE5.5的時候,也有300多個人,但這時候項目經理只有15個人,比IE4五十個人要少好多,開發(fā)人員也只有40個人,因為到IE5.5的時候,基本上大的特性已穩(wěn)定的,IE5.5面向終用戶方面做的工作要少一些,主要在穩(wěn)定性和性能方面做提高,另外對一些公司大企業(yè)的用戶做一些支持,所以開發(fā)人員和項目經理數目減少了,但是測試人員很多,測試人員有200人,這主要是在IE4的時候覺得少,所以在IE5的時候組織獨立的測試隊伍進行測試。
  IE產品組分為十個項目組,每個組大概有十到五十個人,每個組基本上負責一個產品模塊,像瀏覽,或HTML的編輯、打印。但是有一些時間一個項目經理會負責不止一個特性,甚至有一些開發(fā)人員可能在某些方面有專長,也需要在不同組織之間流動,所以這種組織實際上是一個動態(tài)的。
  下面我們談一下微軟產品開發(fā)過程。開發(fā)過程劃分的基本原則是,希望把大的項目分為若干個里程碑式的開發(fā)周期,并在各個周期都要考慮一些冗余,使你的開發(fā)周期變得更實際一些。通過目標描述來保證所有的人是沿著同一個方向發(fā)展。利用產品特性描述來指導開發(fā)過程。同時利用用戶的數據來決定一些特性的取舍,或者優(yōu)先級的排定。加不加這個特性,不是開發(fā)人員覺得好,我做這個東西,往往還是從用戶角度來考慮,用戶從中間有多大收益來決定。
  還有更重要一點是統一的術語。在微軟內部剛進去時也會做類似這樣的培訓,會請的各種角色做一個講座,大概需要六七個小時。其中有對很多術語、縮寫,還有對這套開發(fā)模式的介紹。從而保證所有人理解的都是統一的。這樣你才能保證無論在做事或者討論的時候,大家的理解是一樣的。
  還有一點是在開發(fā)產品過程中不間斷地測試,而不是做完了到某一個階段才開始測試,因為往往那個那時候往往已經太晚了。
  微軟產品開發(fā)過程分為四個階段,第一個階段是規(guī)劃階段,這個階段基本上是由產品規(guī)劃人員以及項目經理來驅動的,這個階段主要是要完成這樣一些事情:一個是目標描述;谶@個產品目標,我們已經知道了,我們需要做哪些事,做哪些特性來達到這個目標,這樣決定了產品提供哪些的功能。然后程序經理要根據這個功能來寫出相應的規(guī)范說明。一般產品規(guī)格說明,是傳統上說的技術文檔,基本會寫兩次,第一次寫一個簡單的,里面列出了你這個功能或者你的特性希望達到什么要求,跟我們整個產品的目標有哪些相關的,產品之間依從性,為什么要做這個特性。寫完這一頁的特性描述之后,大家會坐在一起看一看,排定一個優(yōu)先級別,哪些事我們先做,哪些有可能做,或哪些是下一版本再做。把這個事情做完了,程序經理會寫一個更詳盡的特性說明,這是指導開發(fā)、測試整個過程的技術文檔,基本上一般都會有一些模板。
  在規(guī)劃階段,當所有的特性規(guī)格說明完了以后,還要制定日程進度表。這個日程進度表往往需要由開發(fā)人員的參與?吹搅诉@些產品規(guī)范,根據你的經驗估計做這個需要多長時間,還需要打入一些冗余,把這個做完之后,產品規(guī)劃階段已經完成了。
  產品規(guī)劃階段完成的標志,是目標描述,所有特性規(guī)格說明以及日程進度表的完成,這樣進入第二個階段,即開發(fā)階段。
因為我們自己有特性描述,已經知道做什么。所以根據這些特性,會把這一階段分為三到四個子階段;镜膭澐衷瓌t是重要的或相互依從的特性先開始做,剩下一些次重要的會在第二、三間段做。這一階段是由開發(fā)人員去推動。所有的開發(fā)人員開始寫代碼,對于每一個開發(fā)人員都有相應的測試人員,會把開發(fā)人員寫的代碼拿去測試。這個階段完成的標志是所謂的特性完成,或者叫代碼完成,也是所有的這種特性都已經開發(fā)完畢。這時進入了測試階段。
測試階段主要由測試人員推動。在開發(fā)階段也有測試在進行,但在測試階段進行的主要是集成的測試,像安裝、兼容、性能或其他方面的測試。此外通常還要發(fā)放一些“beta”版本,讓用戶去實際使用并發(fā)回反饋。這一階段會有更多的bugs,但是這一階段基本上不會增加新的特性。這一階段結束的標志是所謂的“零缺陷”。微軟有一些來跟蹤缺陷或者叫bugs的工具,如果從這些工具看到針對這個發(fā)布周期已經沒有任何active bugs,這標志著穩(wěn)定化階段已經結束,F在有一個趨勢,是穩(wěn)定化階段做得越來越長,從而更好的保證產品的質量。
  接下來是發(fā)布階段。在這一階段大家會繼續(xù)跟蹤bug的狀態(tài),直到確認可以發(fā)布。一般會做一個CD,或把它發(fā)布到網上。后發(fā)布階段會由產品經理、項目經理,以及做運營管理的人來共同執(zhí)行。
  總結一下,微軟產品組有明確的分工及不同的角色,產品開發(fā)由四個階段組成,即規(guī)劃階段、開發(fā)階段、測試和穩(wěn)定化階段以及后的發(fā)布階段。總的原則在微軟是有一個詳細的分工和職責的劃分,通過每個人的角色控制產品開發(fā)過程。
我剛才談到四個過程及十一個角色,實際上每個角色實際上并不是同步的。比如像產品規(guī)劃人員,在第一個階段和第二個階段產品規(guī)劃人員會有一些工作,到第三個階段因為特性已經完成了,不會有新的特性,產品規(guī)劃人員已經開始做下個版本。但是產品經理會繼續(xù)做這個產品以保證這個產品繼續(xù)進行。
客戶需求決定了產品的方向和目標,往往在做一些決定時考慮的是客戶和市場,很少純粹為了技術和其他原因。
重要的是把大的項目分成若干個子項目,這是漸進的,而不是一次性把很大的問題解決。
目標描述和產品特性說明,是我們傳統文檔,這是為整個項目起到了指導作用,必須定義得很清晰,使所有人都能看到它。
后一點,從項目一開始開始讓所有人都去介入。因為好的產品是設計出來的,不是后開發(fā)出來的。在前期基本上定下來以后,后期的開發(fā)是完成的階段。如果設計有缺陷,如沒有考慮到技術支持方面的問題,則后期很難做,假使再加進去對產品質量或發(fā)布日期都有很大的影響。還有是通過不間斷的測試來保證產品的質量

軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd