亂文隨筆:帶項目的一些體會以及合格的 Leader 應該具備什麼特質?

除了一流軟件企業外,軟件項目的 Leader(泛指項目經理、技術經理、架構師等)有很大一部分是不夠合格的。

:這只隨便寫寫人問題,不討論項目管理的方法論。

 

許多項目有這樣幾種 Leader:

1. 泛泛而談型

  很多時候 Leader 僅僅給出一個大方向,提一些高屋建瓴的理論方向,事情還是交由普通開發人員去做。完了可能又會回頭埋怨開發人員的水平不行,沒有達到他的預期。最終軟件產品磕磕畔畔發佈,達不到預期,責任推到開發人員頭上,Leader 又高屋建瓴祭出華麗的重構方案或二期方案。

2. 純技術型

  這樣的 Leader 也有很多,可能來自於團隊內部的大牛升職,也可能來自外部,他們有個共同的特點,愛“玩”技術。這樣的 Leader 也許是具備了太多“工程師氣質”,可能對於管理,人事,項目進度,客戶關係等問題抱有抵觸或並不擅長,信奉大型互聯網公司自由的工作氛圍,推崇“牛逼”的技術。我遇到過一個20個人的團隊 Leader,公司的抱有極大期待的產品,要用 GO 語言去做。

3. 純管理型

  還有許多團隊的 Leader,非技術出身,而是純管理人員。他們中有許多管理能力沒有問題,但是對於軟件項目,卻常常弄得團隊疲於奔命。因爲軟件項目的人員工數很難精確衡量,技術難度(生產性)對於純管理人員來說很難把握,導致不能把握項目,對於項目中的技術風險,時間風險不能有效控制。

 

理想中的 Leader 應該至少具備以下特質:

1. 技術實力過硬,但不愛玩技術。

  我相信這一點足以 Pass 掉 90% 人,矛盾嗎?不矛盾,技術實力過硬,才足以擔當軟件項目的 Leader 把控全局,這一點毫無疑問。但是他必須有清晰的目標和大局觀,知道自己到底在做什麼,因爲 做技術 和 做項目 是完全兩件事。要做項目就不要玩技術,要玩技術請去研究機構。有許多 Leader 在承接新項目時,愛使用自己並不瞭解的新興技術,只爲在自己的簡歷中增添一筆,卻對其中的風險認識嚴重不足,甚至最終效果與理想中差之甚遠。

 

2. 有能力降低複雜度,而不是增加複雜度。

  這是上一點的延伸,做爲一個 Leader,不管是做產品還是做項目,技術不是目標,技術只是實現目標的過程,這個過程,越可靠,越容易,就意味着成本越低,風險越小。強悍的 Leader,能夠把複雜的目標需求,高度分解,把複雜的開發技術,抽絲剝繭,帶領開發團隊一步一步穩紮穩打的向前。

  從企業做項目做產品的角度看,技術本身沒有“牛逼”與“落後”之分,許多人對兩年前的技術嗤之以鼻,對新興概念趨之若鶩,這樣的人,個人認爲只能劃撥到“軟件開發愛好者”當中去。成熟的技術意味着可靠,學習成本低,方案成熟,最最重要的:風險低。

  在編碼方面,有許多 Leader 推崇一些牛逼的寫法,牛逼的設計方法,對一般10行代碼完成的工作,縮減到2行,大加讚賞,如果是個人項目,自己開心就好,但是對於團隊協作,商業項目,這是不可取的。所有的目標都應該放在:提高生產性,降低複雜度。二十年前,厲害的編碼方法是爲了節約存儲成本,運行成本,但是當下,存儲成本與運行成本與人力成本相比,已基本不值一提。別人多花半個小時去理解代碼的成本,已經大大超過你節約的那幾個字節的存儲成本,還不包括經驗不足的開發人員理解錯誤所造成的損失。

 

3. 有一定的奉獻精神,願意帶領大家成長

  做軟件項目的 Leader 是要有很大奉獻精神的,因爲傳統行業還有拜師這麼一說,一日爲師,終生爲父,但是在 IT 業,還沒看到過拜師這一說,開個玩笑。

  Leader 要有一個覺悟,苦心培養和教育開發團隊,幫忙他們成長,但是懂得感激你,懂你好的人,不會太多。但是依然要去做這件事情,想方設法幫助團隊成長,因爲更重要的目標是把項目把產品做好。方法有很多,比如我們過去嘗試過組織書友會,當時找的是《代碼大全》這本書,每週兩次,輪流講解,也組織過PPT學習,公開Review等方式,都取得過比較好的效果。

 

4. 強有力的控制慾與控制力

  我認爲一個沒有控制慾的人是難堪大任的,有了控制慾才能談控制力。做爲軟件項目的 Leader,面對複雜的外部環境,內部環境,對控制能力的考驗是極大的。

  外部環境的風險可能包括企業或客戶較高的預期,極具挑戰的時間節點,不確定的目標需求,做爲 Leader ,必須有能力化解。

  內部環境的風險主要來自人員,如缺編,水平參差不齊的團隊。

  曾經我帶過一個基本由新手組成的團隊,客戶想要的軟件產品卻要達到較高的設計指標,並且有着嚴格的工期要求,此時,控制慾與控制力就發揮了基本的作用,將軟件高度模塊化,核心功能全部由我自己設計編寫,組織團隊到會議室看着投影儀教他們寫插件,找一個有代表性的功能進行實現,對實現的方法,編碼的風格做強制要求,讓他們照抄,要求他們達到代碼風格高度統一。對UI部分的所有細節都進行了高度的強制要求,專門做了一個UI DEMO,對UI上的元素佈局方法,間距,邊距等進行說明。每週若干次的項目例會以外,至少兩次代碼 Review,考慮到團隊成員的實際水平,開始我會在 Review 時幫着他們重寫,一行一行的推敲,告訴他們如何分析,如何設計,如何編寫,幾次以後再不合規,加班加點也必須重寫。經過一段時間的磨合,大家逐漸進入狀態,形成了較強的凝聚力與戰鬥力。

 

5. 誠以待人

  雖然放到第5點,但這卻是最最重要的一點,這一點做不到,以上所有都是一紙空文。

  做爲一個團隊 Leader,必須和團隊成員坦誠相待,能夠幫助大家的就用心幫助,對於自己也不是特別擅長的問題,不可以顧左右而言他,對團隊成員進行打壓,這一點亦有許多人做不到。此外,團隊成員的工作情況,生活情況,都必須有基本的瞭解,家庭生活壓力是否較大,是否有家人需要照顧,住的是遠是近,公司給的待遇是否偏低,都必須在心裏有一杆秤。至於怎麼做,我想對於一個成年人來說,無需多言。

 

6. 其它等等基本素養,不再贅述。

 

 

這篇隨筆想到哪裏就寫到了哪裏,有些凌亂,錯漏不全再所難免,歡迎批評指正。

 

 

 

發佈了29 篇原創文章 · 獲贊 21 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章