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

來源:互聯網
上載者:User

     
        最近看了《軟體開發的科學與藝術》這本書,是由微軟亞洲研究院的一幫華人寫的,自己個人總結了一下,寫了以下這些文字,對微軟的專案管理算是有所瞭解了。

        在微軟,項目產品組的行政上是施行1+6的結構,人員組成有一個產品單元經理(Product Unit Manager)加上六個部門,六個部門分別是:產品管理(確定產品的遠景,擷取並確定使用者的需求,開發並維護商業安全,滿足使用者的需求)、專案管理(制定開發功能規格,在團隊內進行溝通和協調,維持產品進度並報告產品狀態,保證能夠儘快盡好的在產品約束條件下發布產品)、軟體開發(開發處滿足設計規範和使用者需求的產品)、軟體測試(開發測試策略和計劃,保證在解決了所有已知問題後再發布產品)、使用者培訓(保證使用文檔要全部很清楚的寫出來,提高使用者使用產品的技能,保證大多數使用者都能夠充分利用產品的功能)、後勤管理(保證產品能夠平穩的發展)。六個部門都有部門經理,如果項目大的話可能會在經理和隊員之間設組長,項目小的話團隊可能會整合,變成專案管理團隊、軟體Team Dev和測試團隊,產品管理、使用者培訓和後勤管理會併到別的團隊中,但是一定會保證軟體開發這個團隊是一個獨立的團隊,這樣成了1+3的結構。這六大部門是一種平行的關係,就是誰也不受誰管轄。

        微軟為了發揮員工的主人翁精神,為了留住人才,做了很多,除了本身的實力和給員工提供較高薪水外,企業文化是非常好的,例如人性化的考勤和家庭式的工作環境等。另外微軟給新進入的每一個員工會根據他的資曆、能力等情況配發一定數量的公司股票,而且還會定期根據該員工所作出的成績來增加或減少股票的數量,如果微軟的股票上漲了,股票的價差就歸員工所有。這樣就讓每一個員工有一種和公司榮辱與共的感覺。

        微軟軟體開發的指導原則:
        ●軟體的開發過程是由目標驅動的,而不是有具體任務驅動的
        ●開發過程的各個裡程碑都是顯而易見的
        ●基於版本的發布
        ●進度表是基於風險驅動來制定的
        ●依靠完全的團隊合作來完成
        ●嚴格管理,保證品質

        主要有以下四個裡程碑:
        ●想法和意圖的批准裡程碑
        ●產品計劃的通過裡程碑
        ●範圍完成/第一次使用曆程碑
        ●發布裡程碑
        其中前三個階段都會引入風險管理。 在想法和意圖的提出後就要對市場和技術等風險進行評估,一旦項目得到立項就進入功能規格細化和設計階段,要根據功能設計進行風險評估,制定總體的進度表;在開試階段要結合代碼的詳細設計變更進度表,結合功能的細微變更和測試檢測出來的bug,評估風險,及時變更進度表。有的項目可能在第一個階段就沒有通過,有的是在第二階段沒有通過,有的甚至在第三階段被斃掉了(例如出現正在開發的產品已經有新的技術實現或者開發的產品沒有對手的有競爭力等情況出現)。

        軟體開發微軟做的並不比別的軟體公司有什麼太大不一樣,但是有兩點需要提及:
        在一個最小單元的開發組內,文檔和代碼是共用的,而且隊員之間需要相互閱讀代碼,這樣一旦一個成員離職都不會太大影響項目的開發進度;
        盡最大努力讓開發人員只做開發,因為開發人員都是技術的熱衷者,微軟為了保持他們對技術的熱衷,做了兩點:
       (1)一些同開發不相干的職能從Team Dev剝離到別的團隊,其中一個最主要的職責----功能設計剝離到專案管理團隊;
       (2)薪水同行政層級掛鈎而不是同崗位掛鈎,你如果是一個資深程式員,你可以安心只做你的程式員,不用去為了提高自己的薪水而走向管理層,因為你技術資深就以為著你的行政級就高,就有可能拿的薪水比經理的還要高。
    
        微軟的測試是在開發一開始就開始了,而且一直到產品的正式版本推出,如果一個輕量級的項目有10人的構成,會有五個測試,一個專案經理,三個開發, 一個做別的工作,從這裡可以看出微軟對測試的看重。

        專案經理這個角色非常重要,他不同於開發部門的項目組長(Project Leader),專案經理不用寫代碼,但是卻要有較高水平的技術專長。有技術是為了服人,為了更好的溝通。因為技術人員通常不會向一個不懂技術的專案經理反映問題,也不會真心的尊重他。
        他主要執行以下任務:
       (1)制定產品的遠景規劃,寫出項目規格說明書。
       (2)制定工作詳細任務表,跟蹤這些任務的執行情況,保證其符合規格說明書的原始設計。
       (3)組織會議,評審程式錯誤。
       (4)指導項目開發的過程設計和實現。
       (5)對各種具體實現方案進行取捨並做出決定。
       (6)協調各組人員之間的互動配合,包括開發工程師、測試工程師、產品經理、使用者教育和本地化人員。
        微軟的一個特色就是,項目組任何成員如果對項目有什麼建議可以寫在紙條上然後貼在會議室的牆上,專案經理組每天的一個重要任務就是收集這些紙條、整理看閱、同項目人員交流,做出取捨,達到規避風險和採納良言的效果。
        專案經理通過向產品單元經理彙報,可以對項目的資源(包括項目組所有成員)有調配的許可權,但在行政上Team Dev和測試團隊卻不受他管轄的,他影響不了他們的薪水和職位。產品設計、產品實現和產品測試是三權分立是的相互配合,相互制約,同時又是相互依賴的關係。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.