從程式設計師到專案經理(17):你不是一個人在戰鬥--思維一換天地寬

發表於2013-04-23

來源:西門吹雪

程式設計師和專案經理是兩種完全不同的崗位,工作方式也大不一樣。以前是一個人單幹,現在是團隊一起幹,以前是自己親自幹,現在是指揮別人幹,這是一種巨大的變化。要適應這種變化,首先必須要轉換思維模式。思想決定行為,思維模式就好比在陌生城市找路用的地圖,拿著過時的地圖,自然無法到達想去的目標。思維不換走老路,思維一換天地寬。

1.從單幹到群幹

從程式設計師到專案經理,不只是職位的變化,其工作性質也發生了根本性改變,簡單的說,是一個從單幹到群乾的過程。

嚴格來說,程式設計師並不是單幹,他們也是在團隊中,需要具有團隊合作的精神,但其實程式設計師的工作具很強的單幹的特徵。在專案中,程式設計師的基本工作,也就是完成專案經理分配的開發任務,而這些開發任務,是專案經理或團隊進行工作分解後的小的工作包,是一個確定的功能點,一個人足可以勝任,因此程式設計師只需要自己構思、自己編碼就可以了,並不需要很多人一起來合作完成。

專案經理不一樣,他面臨的不是某個確定的功能點,而是整個專案,無法一個人完成,必須要整個專案組齊心合力一起來做,這就是群幹,也就是團隊作戰。專案經理不只是自己需要團隊精神,更要能夠激發其他人的團隊精神。

我們看一看程式設計師和專案經理兩種角色的比較:

 

角色

主要特徵 目標 主要工作 合作 技能要求
程式設計師 單幹 完成專案經理安排的開發任務 編碼 要求具有團隊精神,能與其他人合作完成任務 開發能力
專案經理 團隊作戰 “快好省”實現專案驗收,並使各方滿意 制定計劃、指導和安排工作、專案監控、團隊建設等 使團隊更具有合作精神,建設凝膠型團隊 領導力(管人)

執行力(理事)

正如黃健翔的名言說的一樣:“你不是一個人在戰鬥!”專案經理要時刻記住這一點,不要只顧自己悶頭編碼。只有學會發揮團隊的力量,才能管好專案,成為一名真正合格的專案經理。

2.為什麼軟體企業人難管

從單幹到團隊做戰,專案經理最大的變化就是以前只需要管自己一個人,現在你要管一個團隊,以前獨善其身就可以了,現在要兼濟他人了。可以說,專案經理最重要的一項工作就是管人。

但是軟體企業的人是出名的難管。軟體公司的經理管人有兩難,一是留人難,人才流失成了很多公司的心病;二是用人難,要把程式設計師用好,把大家的潛力發揮出來,決非易事。

1)留人難

每年春節過後大約三月份,是很多軟體公司的人力資源部經理最“興奮”的時候,一方面他們要大量招人,另一方面,大量程式設計師辭職流失,讓他們叫苦不迭。

程式設計師的離職率高,一直是行業的普遍存在的問題。據前程無憂網站2012提供給《中國經濟週刊》的資訊表明,IT行業人才流失率高居所有行業的首位。另外據CSDN的一份調查顯示,43.6%的開發者在5年內換了3份以上的工作,這麼高的跳槽頻率真是讓人瞠目結舌。我們不禁要問,為什麼程式設計師這麼“喜歡”跳槽呢?

我曾經接觸過數以百計的人員離職,根據對他們的分析,我將程式設計師離職的主要原因分為三種:

表 程式設計師離職原因分析

類別

原因

分析

行業原因

程式設計師就業情況比較好

既然選擇多,也就沒有必要擔心離職問題了。

行業不成熟

很多軟體企業生存艱難,大部分軟體企業給員工提供的薪資福利有限。

行業內“貧富差距”大

少數優秀的公司如阿里巴巴的高薪,導致程式設計師這山望著那山高,影響了員工作穩定性。

公司原因

人際關係緊張

人人都向往愉快、和諧的工作環境。

對公司前景沒有信心

如果說公司是大海中的一條船,沒有人願意待在一條沒有方向,船身也破破爛爛、搖搖晃晃的小船上,不如趁早離開,找一條更大更堅固的船。

晉升機會少,個人能力得不到發揮。

   良禽擇木而棲,既然英雄無用武之地,那也沒有必要在一棵書上吊死。

工作壓力太大,或長期出差

要錢也要命啊。為了工作可以忍一時之苦,但長期搏命,那就要考慮值不值得了。很少有公司真的把員工當作家庭成員,那只是說說而已,同樣也不要指望員工真的把公司當成自己的家,把公司的事當成自己的事

個人原因

期望獲得更高的薪酬

跳槽是公認的漲薪最快的方式。

想換多換幾個公司,多學一點東西,開闊視野

自己有一身武功,到哪裡都會吃虧。在一個小環境中待久了,不瞭解外面的世界,能學到的東西也有限。

有些人抱著“此處不留爺,自有留爺處”的想法,不認真對待工作

既然這樣,公司也不會認真對待他們,更加不會委以重任,最後他們也就邊緣化為可有可無的人物了,跳槽也就成了唯一的出路。

以上列舉顯然不能窮盡所有的問題,但能抓住主要原因就可以了。

這麼多問題中,最重要的還是薪資問題。據《北京青年報》的調查顯示,“職業收入高低”是促使人們跳槽和選擇新職業的首要原因。然而在這一問題上,公司其實也有其苦衷。

很多人從學校畢業,對開發基本上一無所知,經過在公司一年多的培訓學習,取得了巨大進步,個人能力提升很快,此時必然對薪資要求也比較高,這是可以理解的。然而,站在公司的角度,這一年你基本上還談不上什麼貢獻,公司卻付出了較大的成本,大幅加薪一時難以接受,難道我把你招進來就是為了培訓然後再漲工資幹活嗎?你也許會認為公司非常短視,這樣的公司不待也罷,殊不知,軟體行業看似光鮮,其實大量的企業掙扎在生死線的邊緣。據工信部統計,2011年上半年我國軟體行業利潤僅佔軟體業務收入的1.28%,這麼低的利潤率,能活下來就是成功,對公司提出過高的要求也是不現實的。

在這一場博弈中,沒有誰對誰錯,但公司肯定是受傷的一方。真正將員工利益與公司利益統一起來的鳳毛麟角,大部分公司裡,公司和員工就像一對冤家,雖然互相需要,卻又矛盾重重。

當然,其實公司也應該轉變思路,不要總抱著我培養了你、你應該感謝我的心態,在程式設計師進步巨大的情況下,還是要給員工相應的薪酬,真正留住人才,畢竟軟體專案禁不起人員劇烈變動的折騰,從長遠來看,公司還是划算的。

2)用人難

留人難,用人更難,要把程式設計師用好,則是難上加難。員工用得好,每個人都奮勇當先,以一當十。用得不好,員工死氣沉沉,沒有朝氣和幹勁。在我所見過的軟體專案中,雖然有不少程式設計師工作主動積極、富有效率,但更多的是缺乏激情、消極怠工、甚至不服從專案經理工作安排情況。

為什麼軟體開發人才就這麼難用呢?這是由多方面的因素所決定的:

●軟體開發的特點

軟體產品有一個非常顯著的特徵,就是它是一種無形的東西,在生產過程中看不見也摸不著,完成以後可以看到執行效果,但你還是無法知道它是不是一個“豆腐渣工程”。它裡面暗藏的問題也許若干年後才能看到,也就是說它的質量評價非常困難。這與傳統的製造行業有著非常大的差別,比如你是造一棟房子,生產過程中我們就能看到它的結構設計是怎樣的,它的地基是不是夠牢固,它有沒有用“牙籤鋼筋”等等。

第二個重要特點是對人的依賴性非常大。同樣的一個功能點,由不同的程式設計師來做,所花的時間可能會相差很遠,比如有經驗的人來做可能只要1天,沒經驗的人來做,可能1周甚至1個月都完成不了,做出來的質量也可能有天壤之別。即使是同一個人,由於其工作狀態的差別,也會產生巨大的差異,如果主動積極做,可能只要1天,消極怠工的做,就無法預期了。這樣的情況,在傳統行業是無法想象的,只要按規定的程式和規範來做,即使換一撥工人,也可以在同樣的時間建造出來,建出來的房子的質量也不會相差太遠。要知道,再爛的挖土機也能挖出一個大坑。

總之,軟體開發存在非常多的不確定性,非常依賴於每一個開發人員。雖然管理專家們發明了很多方法企圖來減少這種不確定性,減少對人的依賴,讓軟體開發像傳統行業一樣變得可控,但迄今為止,仍然沒有一個通用的行之有效的方法,專家們也不得不無奈的發出“沒有銀彈”的感慨。

● 程式設計師的個性比較強

不得不承認,與其它行業人員相比,程式設計師顯得更加內向、不合群,有些人自視甚高,看不起別人。他們做事衝動、不服管,也就不足為奇了。

●程式設計師的想法比較多

程式設計師都很聰明,對自己的期望值也很高,不會滿足於現狀。有想法本來是好事,但人人都很有想法時,經理就沒那麼好當了,沒有高超的領導技能是難以應付的。

綜上所述,軟體企業對人的依賴性非常強,卻又面臨著留人難和用人難這樣兩難的困境。要解決這些問題,一方面要求軟體企業真正要做到以人為本,另一方面也對管理者提出更高的要求。

3.轉換思維提升領導力

留人難、用人難,難道我們真的就無能為力了嗎?這兩難困境中,有行業原因、有公司原因,對於這些,作為專案經理也許力不從心;但也有程式設計師的原因和專案經理自身的原因,對於這一類問題,專案經理並非無能為力。即使在同一個公司,不同專案組中的人員流失情況、團隊士氣也會有很大的差別,這說明專案經理完全是可以有所作為的。對於有強大領導力的專案經理而言,人員的流失率會更小,工作效率會更高。要提升領導力,首要的是轉換思維。

在前面博文中曾介紹了管理的五大思維:以目標為中心的思維、整體思維、平衡思維、以人為中心的思維、團隊思維。其中前面三項與理事有關,而後面兩項與管人有關。下面我們對這兩種思維進行詳細的解析:

表 管人的兩大思維

思維

主要觀點

分析

以人為中心的思維

軟體產品主要取決於人

雖然流程、規範也很重要,但軟體產品的質量,專案的進度、成本等因素,更多取決於每個人的技能與投入程度。

人的潛力是巨大的

一個人的能力就像海上的冰山,專案經理無所作為,你得到就只是露出水面的那5%。一個優秀的專案經理可以通過其領導力,將員工的潛力挖掘出來。

人是有感情的

員工絕不是木頭,可以隨便搬來搬去,搬到哪裡都是一塊木頭。首先專案經理不可以做傷害下屬感情或面子的事情,進一步可以利用這一點,適當使用感情牌,提高團隊的凝聚力。

人是有動機的

員工可以努力工作,但這有動機的,要學會分析、利用員工的動機,並採用合適的激勵手段。

人與人之間是有差異的

每個人在能力方面和思維方面均存在差異。這一方面要求專案經理不能吹毛求疵,要容忍員工的不足,另一方面,專案經理不能一味以己之心,度人之腹,要尊重人的個性思維。

團隊思維

團隊的力量可以是1+1>2,也可以是1+1<2

“三個和尚沒水吃”,這是典型的1+1<2,其根本原因是他們之間沒有建立坦誠相待、團結合作的關係。一個專案團隊也是如此,不要以為人多就力量大,那還要看專案經理會不會領導團隊,會不會用人。

團隊成員之間相互影響

近朱者赤,近墨者黑。正面的情緒也會給別人施加正面的影響,不好的因素同樣會擴散,而且會更快、影響更大。因此,專案經理必須要帶動正能量,並注意將那些負面的東西扼殺在萌芽狀態。

團隊之間的協用程度是團隊戰鬥力的關鍵

團結就是力量。一個木桶能裝多少水,不僅取決於每塊木板的長度,還取決於木板之間結合是否緊密。專案經理的領導力,就是木板之間縫隙的粘合劑。

專案經理在團隊中起著至關重要的作用

一頭獅子領著一群羊,要勝過一隻羊帶著一群獅子。專案經理是團隊的核心,他在團隊中起著協調作用、激勵作用、榜樣作用,可以說他直接決定了團隊的戰鬥力。

可以看出,這種以人為中心的思維和團隊思維,真正體現了以人為本的思想。它們與程式設計師的機器思維、單幹思維大相徑庭。許多專案中的問題,就是由於專案經理的思維還停留在程式設計師階段造成的。

管理學之父彼德.德魯克說:“管理是一門反映人的內心,與人性息息相關的科學。”專案經理只有跳出程式設計師思維的侷限,實現思維的轉換,尊重人性、遵循人的社會法則,才能真正把人留住、用好,專案團隊才能具有更強的戰鬥力。

4.專案經理也是人事經理

在管人的方面,除了要建立上面兩大思維之外,還要提高一項認識,那就是專案經理其實也是整個團隊的人事經理。

很多專案經理對下屬關注的重點往往是他有哪些具體技能,比如他有幾年工作經驗,他會用JQuery嗎,熟悉NHibernate嗎等等,而對於專案組成員培訓、薪資、離職這些事情,則認為統統是部門經理或人力資源經理的事情。如果將問題交給人力資源部,需要跨部門協調,比較麻煩,因此乾脆直接全部推給部門經理。

我擔任部門經理的時候,曾無數次遇到這樣的情況:

專案經理找到我說:“經理,某某要辭職了,幫我安排一個人。”

“你跟他談過沒有?”我問道。

“還沒有。”

“他為什麼辭職?”

“還不清楚,可能是工資問題吧。”

我找員工溝通過之後,原因自然是五花八門,有要求加薪的,有抱怨環境的,還有跟專案經理合不來的,不一而足。經過多輪溝通,該開導的開導,有合理要求的盡力幫助爭取,還有一部分可以承諾延遲滿足,或者用前景來“誘惑”等等,採取這些方法之後,還是有不少人願意留下來繼續做的。其實,大部分辭職的人並不是喜歡換工作,而是有一個心結,需要上司來幫他開啟。

其實我做的這些工作,專案經理一樣可以做。專案經理與員工朝夕相處,要時刻關注員工的動態,發現異常情況,及早介入溝通,也就不需要其上司費盡心力了,而且員工可能根本不會走到辭職這一步,溝通效果會更好。

專案經理還有一個普遍存在的誤區,就是在評價下屬時,習慣於說某某不聽話、不好管。殊不知,一個員工好不好管,其實也取決於專案經理本人的態度和做法。一個看似不好管的員工,經過引導,同樣可以成為專案的骨幹,這樣的例子屢見不鮮。

所以專案經理在碰到管人的難題時,不要再總是想“這個我管不了”、“那個我沒辦法”,而應該抱著“我也是人事經理”這樣的心態,主動溝通、想辦法。如果經過分析或者努力後,確實需要上司出馬的,才去請上司來幫忙解決。直接把問題丟出去,當然是最簡單,但這樣做一方面你在團隊中的威望會受到影響,專案的凝聚力下降,另一方面你的個人價值也大打折扣。

5.打造“凝膠型”團隊

著名職業經理人唐駿說,管理的任務就是“造一條船,然後讓船划起來”。對專案經理而言,我們已經有了一條船——就是專案團隊,現在的任務要把它划起來。

軟體質量之父沃茲.漢弗萊曾經提出,一支高效的團隊應該是一種“凝膠型”的團隊。在這樣的團隊中,大家有著清晰的共同目標,彼此合拍,每個人都全身心投入,團隊顯示出超常的戰鬥力。

我曾有經過一次專案災難拯救的經歷,這一段時間我真正體會到了凝膠型團隊的力量。專案上線後發現軟體執行效率極低,故障不斷,人人疲於奔命,客戶發出最後通牒,三天之內搞不定就下線。在這種情況下我臨危受命,臨時接管專案。接手後我主要做了以下幾項工作:

1.找出當前影響最大的幾個問題,採用頭腦風暴法一起找出解決方案,在短時間內讓客戶體驗有較大改善,讓客戶重拾信心,然後不失時機安撫客戶情緒;

2.每天客戶下班後開會,與專案組成員一起進一步研究專案存在的問題,按輕重緩急做成任務列表,制定階段目標,並檢查上一階段完成情況,更新任務列表;

3.向公司申請了充足的經費,保障後勤,改善工作環境和吃、住條件,解除後顧之憂;

4.與團隊一起加班加點,一起分析問題,並親自完成一些力所能及的功能修改。

有隨後一段時間裡,專案團隊的狀態讓人難以置信。專案組雖然夜以繼日的工作,卻沒有一個人說出一句怨言。其中一位同事才剛當上爸爸一個星期,就駐現場無法回家;還有兩位同事的女朋友半夜打電話過來,他們只能躲在一邊苦苦安慰;還有一位同事,由於個人原因早先已經申請了離職,仍然與我們一起奮戰到最後一刻……經過一個多月辛苦修改完善,專案總算徹底擺脫了危機,專案組高高興興打道回府。

在這一次經歷中,雖然大家都很辛苦,但每個人都過得很充實。大家同心合力,每個人都貢獻了自己全部的智慧和力量,也都做到了以前難以想象的事情。

我為什麼舉這個一個非正常專案(陷入災難)的例子呢?這是因為要建設一個真正的凝膠型團隊非常不易,不只是依賴於專案經理和每一位成員,還與公司的制度、氛圍、專案的任務特點等多方面的因素密切相關。在這個例子中,專案災難顯然也是激發大家戰鬥力的一個重要因素。不過,即使是不能完全做到,但通過專案經理努力,還是可以近似實現的。

根據專案經理團隊中充當的角色和發揮作用的不同,凝膠型團隊可以分為兩種,即星型和網路型,如下圖所示:

 

從程式設計師到專案經理(17):你不是一個人在戰鬥--思維一換天地寬

 

圖 兩種“凝膠型”的團隊

 

● 星型

專案經理處於中心位置,好比一顆紅太陽,把大家吸引在自己的周圍,整個專案組依靠專案經理領導力團結在一起。這要求專案經理個人能力極強,富有魅力,具有絕對的權威。星型團隊的決策方式常常是這樣的:專案經理收集意見,專案經理決策,再反饋給大家,或者由專案經理單獨決策,再分發給大家。

● 網路型

網路型的團隊中,專案經理看似在其中不佔主導地位,專案經理的權威被弱化,實則專案經理的對團隊的控制已經內化到每個人的潛意識之中,達到了一種近似於“無為而治”的境界,因此對專案經理的要求更高。

這種團隊的決策方式一般採用民主制或民主集中制。把大家聯結在一起的不只是專案經理領導力,更是富有挑戰性、具有吸引力的目標,以及共同的認識和價值觀。專案經理往往是外柔內剛,能夠不動聲色,於無形中實現對專案掌控。

能夠建成星型團隊的專案經理已經寥寥,能做到網路型更是可遇不可求。不管有多難,目標不能丟。我們就好比是一群已經出發的登山者,來到了山腳下,怎麼能夠因為看到山太高太難爬就放棄攀登呢?

相關文章