在我們的認知裡,三個臭皮匠頂一個諸葛亮,但是事實真的是這樣的嗎?顯然不是,一個優秀的人,遠遠比三個普通的人更重要。
有很多人包括我,在認識技術人員的技能上都犯過很大的錯誤,無法認識到一名優秀的人遠比普通的開發人員要高效得多。事實上,統計數字表明,真正優秀的人員要比普通的人員好上好幾個數量級,也就是成百上千倍。這裡要強調的是,一個熟練的程式設計師不只是略高力於平均水平,熟練與否的差異是巨大的。 比如,在我的團隊中,大約有10人,一般主力開發人員也就兩三名,其他的人也就是打打下手,做點邊邊角角的事情一個新上任的項目經理,在招募團隊進行項目開發時,他們經常會認為一名優秀的技術人員也僅僅次普通的技術人員高效那麼一點點。所以,經理們經常會容易錯誤地認為或者由於項目資金的限制,假使不能得到最合適的和最優秀的的人才,普通開發人員也是可用的。 但是技術型項目並不像挖戰壕一樣,在挖戰壕的時候及時最瘦弱的戰士,只要給他時間就可以挖出一個坑,但是技術性工作並不是這樣的。比如,在軟體開發中,明天編寫的程序很有可能需要依賴今天開發的代碼,如果是一名普通的程式設計師進行基礎性的建設,那能會發現,到最後,很多時間就花費在不得重新進行返工,修復缺陷或者更改設計。 為了節約成本或者其他因素,僱用中等或普通的技術人員會可能會大幅度減緩項目速度。中國有一句俗話叫做,一粒老鼠屎壞了一鍋粥,這個比喻很可能不是特別恰當,但是,常常是讓一個差的技術人員離開團隊比新加入一個優秀的人員所起的正向作用還要大。再聯想到在延期項目中加人會使項目延期得更長,你就可以理解為什麼大多數企業發展緩慢。 我見過一個沒有經驗的項目經理說過這樣一句話,因為增加更多的倉庫人員會使貨物裝車更快,所以增聘更多的技術人員也可以縮短項目所需的時間。這是行不通的。為了讓新人跟上進度會花費時間,你需要請老員工去幫助他,那麼這些老員工會脫離目前既定的任務或者分散在既定任務上的精力。
除此之外,堆人數會導致溝通成本的上升,溝通渠道會隨著成員的增多而增多。對於一個只有兩人的團隊來說,只有一個溝通渠道:小李與小王。此時,小張加入團隊後,就會猛增到三個溝通渠道。繼續加人,渠道的數量還會繼續以指數速度增長。計算公式是n(n-1)/2。在100人的團隊中,你有100×(100-1)/2個渠道,這是一個非常可怕的數字,如果再因為溝通漏鬥現象,項目的溝通成本將不可計數。
用普通的技術人員建設項目的想法體現了兩個項目誤區
· 可以通過增加人員利用,人海戰術來縮短項目時間,達到快速完成項目的目的;
· 普通技術人員以平均水平建設項目(bug成群,偏離任務)也是可以的。實際上,普通開發人員會拖累整體生產力,並且使項目花費的時間比實際需要的更長。
怎樣解決這種情況呢?一是給優秀的技術人員強有力地支持,整個項目的質量將會有質的飛躍。二是要認識到擁有普通技術人員對項目沒有幫助,並且照顧差的技術人員會消減優秀開發人員,他們是真正的生產力(普通的人員會分去一部分優秀人才的薪酬等福利)。
一個項目,特別是複雜的大型項目,它不是一個裝車運貨的簡單過程,直接可以通過人海戰術就可以解決。想要更快的更優秀的完成項目件應該怎麼辦?不要怕花錢,好鋼用在刀刃上,聘請和培養優秀的技術人員這將在短期(項目建設)和長期(運營和維護項目)都給你帶來高額回報。