在我看來,團隊比流程更重要。一個優(yōu)秀的項目經(jīng)理,無論你采用瀑布,迭代,還是敏捷;都能夠靈活的駕馭流程,激發(fā)團隊的創(chuàng)造力,并創(chuàng)造最大的價值。翻看一年半以前做過的一個大項目的項目總結(jié),雖然時間過去這么久,還是覺得這篇總結(jié)里的很多內(nèi)容非常有感觸,貼出來分享一下。
項目背景:
互聯(lián)網(wǎng)里的軟件項目。對原產(chǎn)品的一個核心功能進行優(yōu)化和重構(gòu)。從項目啟動到項目發(fā)布總共一個月時間,原預估的開發(fā)周期為3個月,總工作量為500人日,項目核心成員(PD、ued、dev、qa、pm)11人。我在項目中作了如下的嘗試:
一、 項目流程的改進嘗試
流程應該是輔助我們提升效率提高質(zhì)量的手段,為遵守流程而遵守流程是沒有任何必要的。我們的項目要在這么短的時間里完整非常復雜的目標,一個關(guān)鍵點就是能靈活的運用現(xiàn)有流程,通過適當?shù)倪^程裁剪和并行開發(fā)來提升效率。項目中的具體做法如下:
1. 裁剪項目里程碑控制點,強化項目計劃以及功能預演在項目中的關(guān)鍵作用,弱化評審活動對項目進程的制約以及對項目資源的消耗。
2. 項目多項活動并行開展,提高項目效率,縮短項目周期。
i. 項目啟動之后,需求分析、前端開發(fā)、設計、編碼、測試分析工作同步開展;并非像以前一樣要等到所有需求或者demo都穩(wěn)定后才能進入設計編碼,而是當整體需求明確,需求細節(jié)還不完善時即進入開發(fā);同時也根據(jù)demo的完成情況靈活的安排開發(fā)任務。使得整個項目組能快速的響應需求,使整個過程更加靈活、敏捷。
1) 實際上是將一個大活動分成了若干個小塊,每個小塊完成之后下一項活動就可開展,而不是要等到整個大活動完成之后才能進入到下一活動。
2) 這種方式在一定程度上也引起了需求變更,反復修改等問題,在一定程度上增加了資源量的投入。因此需要良好的控制。在并行開始前,整體需求(比如需求范圍,包括的功能點等)必須是確認清楚的,只有一些需求的細節(jié)是有待明確的;同時需要整個項目組都對整體需求有統(tǒng)一的認識;特別是開發(fā)人員。
ii. 在測試階段,也將單元測試、功能測試以及codereview等審核工作并行開展。
1) codereview等審核工作不再成為項目進入測試的制約條件,而是可以并行開展的。但codereview工作對項目質(zhì)量控制室非常重要的一環(huán),因此在項目編碼前要有詳細的設計方案知道開發(fā)人員進行編碼,在編碼過程中需要有架構(gòu)師或技術(shù)負責人指導和跟蹤開發(fā)人員編碼。
2) 單元測試由測試人員和開發(fā)人員協(xié)同完成,測試人員編寫TC,準備測試數(shù)據(jù),開發(fā)人員利用測試人員的TC和測試數(shù)據(jù)來編寫單元測試。
4. 測試階段,由測試負責人主導和控制,全員參與測試,共同保證項目質(zhì)量。產(chǎn)品的質(zhì)量是做出來的,而不是測出來的;PD、PM、開發(fā)更需要對產(chǎn)品的質(zhì)量負責。
5. 流程是死的,人是活的要靈活運用流程,而不是被流程束縛
二、 項目團隊成長的改進嘗試
在我的項目管理理念里,一個成功的項目,除了要能多快好省的完成項目目標,滿足客戶和公司的利益以外;還應該讓每個項目成員獲得成長和進度,讓每個人對自己的工作充滿激情和斗志,成為人員培養(yǎng)的重要實踐。在我自己的項目中,我也會堅持貫徹我的理念。下面則是在項目中在這方面所做的一些努力和嘗試。
1. 項目成立初期,每位項目成員確立個人的項目目標,在項目中對個人能力的培養(yǎng)有一個清晰的定位,也是對每個人的激勵。
2. 在項目過程中合理調(diào)配任務為每個人的能力培養(yǎng)提供條件。比如