如何管理軟件開發團隊
1. 團隊管理的目標與策略
團隊管理的基本目標是:讓所有成員有條不紊地開展工作,在預定的時間和成本之內,開發完成質量合格的產品,從而使企業和個人獲得預定的利益。
團隊管理的努力目標是:調動一切積極因素,努力提高產品質量、提高工作效率并且降低開發成本,使企業和個人獲得比預定目標更多的利益。
團隊管理的策略:大部分的管理工作是成熟的,有成功的模式可以套用,應當走規范化管理的路線;而另外小部分的管理工作可能是富有個性的,并不適宜套用規范,那么應當采用超越規范化的管理方式。
規范化的正面意義是“穩定有序”,負面意義是“僵化死板”。超越規范化的正面意義“高效靈活”,負面意義是“混亂無序”。
團隊管理既需要大量的規范化管理方式,又需要小量的超越規范化的管理方式。通常前者約占80%,而后者約占20%(僅是參考數據)。
國內大部分軟件企業的管理現狀是;規范化管理太少了,非規范化的管理太多了,到處都是游擊隊的運作方式。阻礙中國軟件企業發展的瓶頸問題通常不是技術,而是雜亂無章的管理。
2. 規范化的管理
規范化管理有兩層含義:首先制定工作規范,然后按照規范開展工作。
軟件團隊的主要工作包含了技術開發和管理,因為至少需要兩類規范。一類是軟件技術開發規范,它規定了如何開展需求分析、系統設計、編程、測試等工作;另一類的項目管理規范,它規定如何開展項目規劃、項目監控、質量管理、配置管理等工作。上述通常稱為過程規范。
企業需要實用的,容易執行的,而非高深的、復雜的軟件過程規范,制定這樣的規范是一項頗具難度的工作。規范制定者首先要深入調查企業過程能力的現狀,識別出薄弱環節,分清“輕重緩急”。再根據企業的實力(如資金和人力)確定過程改進的各個階段目標,制定與目標相適應得規范。在參考業界推薦的過程標準或規范,要舍棄那些聽起來很先進但對本企業毫無益處的東西,只選取對企業有實用價值的東西。
企業制定軟件過程規范是為了幫助人們把工作做的更好,而不是存心與人們過不去。企業一方面要用行政命令和懲罰措施來強制實施軟件過程規范,另一方面又要設法使員工們樂于執行規范從而避免流于形式。
3. 超越規范化的管理
在團隊的日常工作中,總有一些事情無法套用規范,因為干活得是活生生的人而不是機器。無法套用規范的管理并不見得會雜亂無章,情況好壞取決于的管理才能。
本節之所以用“超越規范化的管理”這個名稱而不是“非規范化管理”。是想突出“超越”兩個字。規范的東西通常是平凡的,普通人都能學會使用;而“超越”則是不平法的,它需要智慧。超越規范化的管理得精髓是“知人善任”。
團隊領導給成員們指派任務、制定進度計劃是項目管理中的一項重要工作,屬于項目規劃過程域。一般地,規范化的做法是:
(1) 先分解產品的功能,給出WBS(Work Breakdown Structure)圖;
(2) 根據WBS圖估算產品的規模(例如用代碼行或者功能點來度量);
(3) 根據產品的規模和團隊的平均生產率,進一步估算工作量(如用人月來度量);
(4) 根據工作量和團隊的人力資源,確定人數和工作時間。
(5) 后把符合角度要求的人安插到具體崗位上(即分配任務),并分配處期望的時間。
上述做法比起瞎指揮好得多了,但是該規范并沒有告訴我們哪個人適合干什么事情,所以依據規范制定出來的計劃具有統計意義上的合理性,但并不是優的。軟件開發是智力創而不是體力勞動,給軟件人員分配任務不能像對待傳統工人那樣隨意。可以不必深入了解工人A和工人B的技能,反正兩個人干的活都差不多。然而對軟件人員C和D,假設C很擅長于設計用戶界面而編程水平比較低,D很擅長于編程而幾乎不懂得界面設計,如果C和D的工作錯位的話,那么將對開發工作產生嚴重的負面影響。
知人善用顯然是超越規范的。直觀地理解,“知人”是指應當非常了解他的團隊成員,包括知識技能和性格愛好,等等;“善用”是指讓團隊各成員揚長避短,使團隊戰斗力達到強。
人到企業工作,既要為企業創造效益,又要獲取個人的利益。一般地,規范化管理的目的是使企業和個人獲得預定的利益(實現這個目標已經相當不錯了),然而人的潛力是巨大的,卓越的能夠充分調動團隊成員的工作積極性,使企業和個人獲取比預定目標更多的利益,這也是超越規范的管理。
具體做法可謂五花八門,例如,如果經費充足的話,有些領導經常性地帶著團隊吃喝玩樂,美其名曰Team Building;有些領導以身作則拼命干活,希望下屬效仿他成為工作狂;有些領導經常性地做員工的思想工作,企圖讓人相信積極地工作是人生大的快樂。這些激勵辦法能否起作用只有天知道。
真正有效的激勵辦法是利益驅動。利益有許多種,如金錢,地位,榮譽,成感,等等。不同的人在不同的時刻追求的利益是有很大差異的。所以英名的領導應該為下屬設計能夠讓他心動的激勵方案(而不是千篇一律的),這樣才有可能真正地提高下屬的工作積極性。
知人善用的深刻含義是:不僅用合適的人正確做他擅長的事,而且還要激勵他做得更好。“知人”是實現“善用”的前提條件。如果領導不與下屬溝通,沒有真正關心下屬,那么不可能做到知人善用,實際上浪費了人力資源(團隊寶貴的資源)。