微軟是怎樣管理產品開發的

              最近看了《軟件開發的科學與藝術》這本書,是由微軟亞洲研究院的一幫華人寫的,自己個人總結了一下,寫了以下這些文字,對微軟的項目管理算是有所瞭解了。         在微軟,項目產品組的行政上是施行1+6的結構,人員組成有一個產品單元經理(Product Unit Manager)加上六個部門,六個部門分別是:產品管理(確定產品的遠景,獲取並確定用戶的需求,開發並維護商業安全,滿足用戶的需求)、項目管理(制定開發功能規範,在團隊內進行溝通和協調,維持產品進度並報告產品狀態,保證能夠儘快盡好的在產品約束條件下發布產品)、軟件開發(開發處滿足設計規範和用戶需求的產品)、軟件測試(開發測試策略和計劃,保證在解決了所有已知問題後再發布產品)、用戶培訓(保證使用文檔要全部很清楚的寫出來,提高用戶使用產品的技能,保證大多數用戶都能夠充分利用產品的功能)、後勤管理(保證產品能夠平穩的發展)。六個部門都有部門經理,如果項目大的話可能會在經理和隊員之間設組長,項目小的話團隊可能會整合,變成項目管理團隊、軟件開發團隊和測試團隊,產品管理、用戶培訓和後勤管理會併到別的團隊中,但是一定會保證軟件開發這個團隊是一個獨立的團隊,這樣成了1+3的結構。這六大部門是一種平行的關係,就是誰也不受誰管轄。         微軟爲了發揮員工的主人翁精神,爲了留住人才,做了很多,除了本身的實力和給員工提供較高薪水外,企業文化是非常好的,例如人性化的考勤和家庭式的工作環境等。另外微軟給新進入的每一個員工會根據他的資歷、能力等情況配發一定數量的公司股票,而且還會定期根據該員工所作出的成績來增加或減少股票的數量,如果微軟的股票上漲了,股票的差價就歸員工所有。這樣就讓每一個員工有一種和公司榮辱與共的感覺。         微軟軟件開發的指導原則:         ●軟件的開發過程是由目標驅動的,而不是有具體任務驅動的         ●開發過程的各個里程碑都是顯而易見的         ●基於版本的發佈         ●進度表是基於風險驅動來制定的         ●依靠完全的團隊合作來完成         ●嚴格管理,保證質量         主要有以下四個里程碑:         ●想法和意圖的批准里程碑         ●產品計劃的通過里程碑         ●範圍完成/第一次使用歷程碑         ●發佈里程碑         其中前三個階段都會引入風險管理。 在想法和意圖的提出後就要對市場和技術等風險進行評估,一旦項目得到立項就進入功能規範細化和設計階段,要根據功能設計進行風險評估,制定總體的進度表;在開試階段要結合代碼的詳細設計變更進度表,結合功能的細微變更和測試檢測出來的bug,評估風險,及時變更進度表。有的項目可能在第一個階段就沒有通過,有的是在第二階段沒有通過,有的甚至在第三階段被斃掉了(例如出現正在開發的產品已經有新的技術實現或者開發的產品沒有對手的有競爭力等情況出現)。         軟件開發微軟做的並不比別的軟件公司有什麼太大不一樣,但是有兩點需要提及:         在一個最小單元的開發組內,文檔和代碼是共享的,而且隊員之間需要相互閱讀代碼,這樣一旦一個成員離職都不會太大影響項目的開發進度;         盡最大努力讓開發人員只做開發,因爲開發人員都是技術的熱衷者,微軟爲了保持他們對技術的熱衷,做了兩點:        (1)一些同開發不相干的職能從開發團隊剝離到別的團隊,其中一個最主要的職責----功能設計剝離到項目管理團隊;        (2)薪水同行政級別掛鉤而不是同崗位掛鉤,你如果是一個資深程序員,你可以安心只做你的程序員,不用去爲了提高自己的薪水而走向管理層,因爲你技術資深就以爲着你的行政級就高,就有可能拿的薪水比經理的還要高。              微軟的測試是在開發一開始就開始了,而且一直到產品的正式版本推出,如果一個輕量級的項目有10人的構成,會有五個測試,一個項目經理,三個開發, 一個做別的工作,從這裏可以看出微軟對測試的看重。         項目經理這個角色非常重要,他不同於開發部門的項目組長(Project Leader),項目經理不用寫代碼,但是卻要有較高水平的技術專長。有技術是爲了服人,爲了更好的溝通。因爲技術人員通常不會向一個不懂技術的項目經理反映問題,也不會真心的尊重他。         他主要執行以下任務:        (1)制定產品的遠景規劃,寫出項目規格說明書。        (2)制定工作詳細任務表,跟蹤這些任務的執行情況,保證其符合規格說明書的原始設計。        (3)組織會議,評審程序錯誤。        (4)指導項目開發的過程設計和實現。        (5)對各種具體實現方案進行取捨並做出決定。        (6)協調各組人員之間的交互配合,包括開發工程師、測試工程師、產品經理、用戶教育和本地化人員。         微軟的一個特色就是,項目組任何成員如果對項目有什麼建議可以寫在紙條上然後貼在會議室的牆上,項目經理組每天的一個重要任務就是收集這些紙條、整理看閱、同項目人員交流,做出取捨,達到規避風險和採納良言的效果。         項目經理通過向產品單元經理彙報,可以對項目的資源(包括項目組所有成員)有調配的權限,但在行政上開發團隊和測試團隊卻不受他管轄的,他影響不了他們的薪水和職位。產品設計、產品實現和產品測試是三權分立是的相互配合,相互制約,同時又是相互依賴的關係。

 

 

來源:http://www.cnblogs.com/yuchencnblogs/archive/2008/07/11/1240918.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章