該模型的幾個重要特點:
1.沒有所謂的項目經理。
程序經理這個角色可以說是接近項目經理的了,他需要編制計劃及跟蹤計劃執行,但在行政級別上,他不是大家的頭,大家都是平等的,大家只是處在不同專業的角度來負責工作。
2.強調項目團隊是由各專家組成的。
軟件開發活動是高強度高挑戰的智力活動,我們需要由各類專家共同負責協調工作,每位專家都是同等重要的。
3.用戶體驗是我們常常忽略的部分。
用戶體驗簡單地說是用戶使用軟件時的感覺,軟件的顏色、布局、文字、行為等等會直接影響用戶使用軟件的滿意度。目前我們國內的項目組,往往沒有用戶體驗設計環節,也沒有專職的用戶體驗設計師。
我第一次學習MSF團隊模型時讓我很震動,該模型體現了以人為本的開發模式,讓團隊中的每個人都極受鼓舞,但該模型在實際工作中很難完全應用,主要原因如下:
1.各專業人才水平參差不齊。
我的個人感覺國內以上六類角色的水平由高到低排列,大致這樣:開發、程序經理、產品管理、測試、發布管理、用戶體驗,而用戶體驗基本是空白。各專業人才能力不相當,無法組成“無頭領”的團隊,充分發揮各種角色的作用。
2.各專業人才水平全部沒達到要求。
哪怕是水平高的開發角色,我們的平均水平跟微軟的相比還是相差太遠,那更加不需要提其他角色了。
3.團隊協助能力差。
我們的團隊基本不會“team work”,我們從小到大的教育基本沒有“team work”的教育。
MSF常常也被人以“太理想化”質疑,MSF所描述的世界只是軟件開發的烏托邦而已。難道我們的現實情況決定了我們的項目團隊水平嗎?我們沒有辦法建立一種實用的項目團隊模型,讓我們的項目團隊能持續進步嗎?
實用團隊模型
我帶領過很多團隊,其中不少是帶領應屆生或者是工作經驗還不多的工程師,團隊中每個人的能力如果還不能塑造好,確實無法讓團隊高效運作。而項目初期我做的很多事情,都是通過項目具體工作來訓練大家、提高每個人水平的事情。
我們的計算機相關教育并沒有訓練出合格的各類專業人才,但我們這般計算機從業者都是充滿激情和追求進步的,基于這樣的現狀,我覺得應該有合適的團隊模型能讓我們的項目團隊自學習,然后逐步發揮各專業人才的作用。
我們光抱怨我們的教育制度是沒有用的,我們需要實用的團隊模型來解決當前的實際問題。我在實際項目中的項目團隊模型,通常是這樣的:
角色和人并一定是一一對應的,一個人可以戴多個角色的帽子,一種角色也可能由多個人擔當。
上述模型有8種角色:項目經理、產品經理、軟件設計師、用戶體驗設計師、測試工程師、實施工程師、配置管理員、QA。
前面六種角色分別與MSF的程序經理、產品經理、開發、用戶體驗、測試、發布管理角色類似。
我基本上是很認可MSF的項目管理思想的,但為了適應實際情況,我做了一些必要的調整。