帶項目體會 合格的Leader 應該具備什么特質(zhì)?
除了***軟件企業(yè)外,軟件項目的 Leader(泛指項目經(jīng)理、技術經(jīng)理、架構師等)有很大一部分是不夠合格的。
注:這里只隨便寫寫人的問題,不討論項目管理的方法論。
許多項目有這樣幾種 Leader:
1. 泛泛而談型
很多時候 Leader 僅僅給出一個大方向,提一些高屋建瓴的理論方向,事情還是交由普通開發(fā)人員去做。完了可能又會回頭埋怨開發(fā)人員的水平不行,沒有達到他的預期。最終軟件產(chǎn) 品磕磕畔畔發(fā)布,達不到預期,責任推到開發(fā)人員頭上,Leader 又高屋建瓴祭出華麗的重構方案或二期方案。
2. 純技術型
這樣的 Leader 也有很多,可能來自于團隊內(nèi)部的大牛升職,也可能來自外部,他們有個共同的特點,愛“玩”技術。這樣的 Leader 也許是具備了太多“工程師氣質(zhì)”,可能對于管理,人事,項目進度,客戶關系等問題抱有抵觸或并不擅長,信奉大型互聯(lián)網(wǎng)公司自由的工作氛圍,推崇“牛逼”的 技術。我遇到過一個20個人的團隊 Leader,公司的抱有極大期待的產(chǎn)品,要用 GO 語言去做。
3. 純管理型
還有許多團隊的 Leader,非技術出身,而是純管理人員。他們中有許多管理能力沒有問題,但是對于軟件項目,卻常常弄得團隊疲于奔命。因為軟件項目的人員工數(shù)很難精確衡量,技術難度(生產(chǎn)性)對于純管理人員來說很難把握,導致不能全盤把握項目,對于項目中的技術風險,時間風險不能有效控制。
理想中的 Leader 應該至少具備以下特質(zhì):
1. 技術實力過硬,但不愛玩技術。
我相信這一點足以 Pass 掉 90% 人,矛盾嗎?不矛盾,技術實力過硬,才足以擔當軟件項目的 Leader 把控全局,這一點毫無疑問。但是他必須有清晰的目標和大局觀,知道自己到底在做什么,因為 做技術 和 做項目 是完全兩件事。要做項目就不要玩技術,要玩技術請去研究機構。有許多 Leader 在承接新項目時,愛使用自己并不了解的新興技術,只為在自己的簡歷中增添一筆,卻對其中的風險認識嚴重不足,甚至最終效果與理想中差之甚遠。
2. 有能力降低復雜度,而不是增加復雜度。
這是上一點的延伸,做為一個 Leader,不管是做產(chǎn)品還是做項目,技術不是目標,技術只是實現(xiàn)目標的過程,這個過程,越可靠,越容易,就意味著成本越低,風險越小。強悍的 Leader,能夠把復雜的目標需求,高度分解,把復雜的開發(fā)技術,抽絲剝繭,帶領開發(fā)團隊一步一步穩(wěn)扎穩(wěn)打的向前。
從企業(yè)做項目做產(chǎn)品的角度看,技術本身沒有“牛逼”與“落后”之分,許多人對兩年前的技術嗤之以鼻,對新興概念趨之若鶩,這樣的人,個人認為只能劃撥到“軟件開發(fā)愛好者”當中去。成熟的技術意味著可靠,學習成本低,方案成熟,最最重要的:風險低。
在編碼方面,有許多 Leader 推崇一些牛逼的寫法,牛逼的設計方法,對一般10行代碼完成的工作,縮減到2行,大加贊賞,如果是個人項目,自己開心就好,但是對于團隊協(xié)作,商業(yè)項目, 這是不可取的。所有的目標都應該放在:提高生產(chǎn)性,降低復雜度。二十年前,厲害的編碼方法是為了節(jié)約存儲成本,運行成本,但是當下,存儲成本與運行成本與 人力成本相比,已基本不值一提。別人多花半個小時去理解代碼的成本,已經(jīng)大大超過你節(jié)約的那幾個字節(jié)的存儲成本,還不包括經(jīng)驗不足的開發(fā)人員理解錯誤所造 成的損失。
3. 有一定的奉獻精神,愿意帶領大家成長
做軟件項目的 Leader 是要有很大奉獻精神的,因為傳統(tǒng)行業(yè)還有拜師這么一說,一日為師,終生為父,但是在 IT 業(yè),還沒看到過拜師這一說,開個玩笑。
Leader 要有一個覺悟,苦心培養(yǎng)和教育開發(fā)團隊,幫忙他們成長,但是懂得感激你,懂你好的人,不會太多。但是依然要去做這件事情,想方設法幫助團隊成長,因為更重 要的目標是把項目把產(chǎn)品做好。方法有很多,比如我們過去嘗試過組織書友會,當時找的是《代碼大全》這本書,每周兩次,輪流講解,也組織過PPT學習,公開 Review等方式,都取得過比較好的效果。
4. 強有力的控制欲與控制力
我認為一個沒有控制欲的人是難堪大任的,有了控制欲才能談控制力。做為軟件項目的 Leader,面對復雜的外部環(huán)境,內(nèi)部環(huán)境,對控制能力的考驗是極大的。
外部環(huán)境的風險可能包括企業(yè)或客戶較高的預期,***挑戰(zhàn)的時間節(jié)點,不確定的目標需求,做為 Leader ,必須有能力化解。
內(nèi)部環(huán)境的風險主要來自人員,如缺編,水平參差不齊的團隊。
曾經(jīng)我?guī)н^一個基本由新手組成的團隊,客戶想要的軟件產(chǎn)品卻要達到較高的設計 指標,并且有著嚴格的工期要求,此時,控制欲與控制力就發(fā)揮了基本的作用,將軟件高度模塊化,核心功能全部由我自己設計編寫,組織團隊到會議室看著投影儀 教他們寫插件,找一個有代表性的功能進行實現(xiàn),對實現(xiàn)的方法,編碼的風格做強制要求,讓他們照抄,要求他們達到代碼風格高度統(tǒng)一。對UI部分的所有細節(jié)都 進行了高度的強制要求,專門做了一個UI DEMO,對UI上的元素布局方法,間距,邊距等進行說明。每周若干次的項目例會以外,至少兩次代碼 Review,考慮到團隊成員的實際水平,開始我會在 Review 時幫著他們重寫,一行一行的推敲,告訴他們?nèi)绾畏治?,如何設計,如何編寫,幾次以后再不合規(guī),加班加點也必須重寫。經(jīng)過一段時間的磨合,大家逐漸進入狀 態(tài),形成了較強的凝聚力與戰(zhàn)斗力。
5. 誠以待人
雖然放到第5點,但這卻是最最重要的一點,這一點做不到,以上所有都是一紙空文。
做為一個團隊 Leader,必須和團隊成員坦誠相待,能夠幫助大家的就用心幫助,對于自己也不是特別擅長的問題,不可以顧左右而言他,對團隊成員進行打壓,這一點亦有 許多人做不到。此外,團隊成員的工作情況,生活情況,都必須有基本的了解,家庭生活壓力是否較大,是否有家人需要照顧,住的是遠是近,公司給的待遇是否偏 低,都必須在心里有一桿秤。至于怎么做,我想對于一個成年人來說,無需多言。
6. 其它等等基本素養(yǎng),不再贅述。
這篇隨筆想到哪里就寫到了哪里,有些凌亂,錯漏不全再所難免,歡迎批評指正。