開發人員和項目資源之爭

一個烈日炎炎的夏日午後,一個產品經理又被一個程序員打了,這得是多大的仇恨才能動起手來?
在這裏插入圖片描述
又是“一個需求引發的血案”,然後真的有才思敏捷的網友給出瞭解決方案。
在這裏插入圖片描述
需求還是有很意思的需求,可憐的是這兩位最終被開除了,其中爆料人特地提到了“外包人員”。

也許是我特別敏感,或者是這麼多年對“外包”這兩個字如魚刺哽喉一般的厭惡,看到成千上萬的外包人員承受着不公平的待遇,實在是不吐不快,最終忍不住坐下來寫這段文字。
其實一開始我對外包也沒有那麼反感,記得2005年剛在北京組建一家外企的研發中心的時候,還跟老闆提出我們可以採用外包人員駐場的模式 … … 結果被老闆斷然拒絕。無奈之下開始了痛苦的招聘過程,每天閱讀上百封簡歷,篩選出幾十封能用的,逐個電話面試,第二輪電話面試,文檔測試直到Coding Test,每個申請人我至少要花費20小時以上的投入才能決定是否留用,這樣持續了1個月以後,能夠通過面試過程的寥寥無幾。我再次找到老闆提起外包的事情,我問他:明明可以用更少的錢,花更少的精力,更快的獲取到項目資源,爲什麼我們要做這樣冗長繁瑣的招聘過程,老闆只在msn上給我回復了一句話:我們不需要項目資源,我們需要的是開發人員(we don’t need project resource, we need developers)。

關於項目資源和開發人員的區別,在後續的幾年中,我才慢慢體會到其中真正的含義。軟件項目不是有了資源就能解決問題的,只有人能解決問題,如果你希望你聘用的是一個人,你首先要把開發人員當人看待。開發人員和項目資源的區別在於,開發人員會自發的解決問題,你只需要給他一個目標和必要的激勵;而項目資源是死的,你不僅要告訴他做什麼,還要告訴他怎麼做,最後還要追着他做完。你要蓋個大樓或者造個冰箱彩電,項目資源一定會多快好省,因爲怎麼做是固定的,可以複製的;但是造軟件這件事情不一樣,你需要的是開發人員腦子裏面的想法,而這個想法每個人都會不同,無法複製。

如果大家去各種招聘網站上去看看,就會發現外包職位大量存在,這是爲什麼?其實我們首先要看看到底什麼是外包,外包可以分爲2種,一種是項目給你,自己去找人,做完了拿着成品回來收錢,這種一般我們叫做項目外包;另外一種,項目還是我的,你就出人,甲方按人頭付錢,這種一般叫做人力外包。另外按照工作地點是否在甲方的現場,所以還有駐場和非駐場的區別。駐場方式和付錢方式雖然沒有直接關係,但一般項目制外包的方式中採用非駐場,而人力外包就基本都是駐場了。

搞清楚了外包的這些形態,我們再來看看爲什麼很多企業,特別是大型非技術類企業更願意採用外包的方式。總的來看,原因主要有這樣幾點 1)節約成本 2)快速啓動 3)專業分工 4)規避風險。

關於前2點,都是擺在明面上的說法,也是大多數人覺得理所應當的事情。做好了需求,想清楚了目標,訂下了預算,給出了工期;那麼剩下的事情就是找個願意接活兒的供應商把東西做出來。這就好像談戀愛找老婆,你有明確的目標,明確的標準,找到了老婆簽好合同,然後希望人家把家裏的活都幹了,還給你生個大胖小子。結果就是,閃婚的離的也快,因爲發現不合適;婚前省錢的後來發現一輩子都交代進去了,因爲人家看的是後期維護。

關於專業分工,這個恐怕是很多項目經理,管理人員精於樂道的原因:我們的主營業務是金融,又不是軟件,那麼應該找專業的軟件公司來給我們開發軟件,我們只要僱傭專業的項目管理人員,想清楚要什麼就夠了。其實這個說法就如同你告訴你老婆,嘿,你是女人,生孩子是你的事情,我現在要一個兒子,可以長高到185,未來能夠成爲體育健將,給你10個月時間,生一個給我。需求提的都很明白,孩子也給你生出來,然後你就要花費至少18年的時間搞明白到底什麼是養孩子(ruan jian kai fa)。

再說最後這個規避風險,這個議題估計是所有的外包項目立項報告中都不會提到的一點,但卻是每個項目通過層層審批的最重要的通行證,說白了就是找人背鍋。

幾年前,我曾經給國內某傳統企業新成立的一家互聯網公司做過一次有關外包管理過程改進的諮詢,對方的目的是希望能夠搞清楚如何在現有外包模式下形成類似互聯網公司創新能力的研發流程。這次調研中我最終總結出了外包模式2個最致命的問題。甲方本應該掌握產品發展方向的產品經理們,在長期的外包模式下逐漸喪失了對產品本身的理解和對市場的判斷,而轉而演化成了純事務性的管理人員。而外包公司爲了短期利益,也不會從產品的發展上考慮問題,因爲對他們而言,市場和用戶對產品的認可與自己的項目成功並沒有直接關係。最後的結果,大家的本職工作都做得很努力,但是產品就是幹不過同類的互聯網公司產品,充其量是個追隨者,完全談不上創新。這一發現讓我再次重新思考10年前原老闆說的那句話:resource vs. developers。

項目還是產品,這是軟件行業一直爭論不休的話題。採用外包模式的一定是項目型思維,因爲只有項目才能外包,產品是無法外包的。項目有始有終,適合使用甲乙方合同約束的方式進行約定。而產品,則很難有一個終止,除非這個產品沒有存在的價值了。但問題是,做軟件的過程到底應該按照項目來管理還是按照產品來管理? 依靠項目做出來的軟件系統(產品)其實就是那個呱呱落地的嬰兒,真正的路程纔剛剛開始。從這一點來看,產品化管理是任何軟件系統整個生命週期的必然,而項目制管理只能覆蓋其中一個階段。很多企業認識到了這一點,慢慢減少項目制外包而轉而採用人力外包的方式,希望能夠通過這種轉變解決軟件維護持續性的問題。但這個轉變並不能從根本上解決問題。鐵打的營盤流水的兵,這些兵還都臨時租用的兵。咋看上去這好像解決了項目制外包的弊端,但是帶來的更大問題是人員的歸屬感問題,進一步說就是人員的主動性問題。

在這些年我所接觸的大型企業中,採用人力外包的不少,在實際工作中甲方項目經理採用種種讓人匪夷所思的“精細化管理措施”,真可以算得上:防火防盜防外包。表面看上去,原因是外包人員不願意站在甲方的立場考慮問題,而造成這種心態的根源其實還是外包的那幾點“好處”。我清楚的記得,在某企業的研發大樓中,外包人員所處的樓層的人員密度是其他樓層的至少5倍,在一個只能容納200人的辦公室面積中,擠進了不下1000人,室內的溫度比較其他樓層高至少2度。這些外包人員所用的電腦,屏幕尺寸不超過20寸,內存僅有4G,打開一個命令行窗口都需要10秒。而在同時,正式員工使用着24寸雙屏,每個人獨立辦公隔間。這樣的不公平待遇,你還指望別人能發揮主動性?

這些年我直接面試過的開發人員應該有幾百人了。給我印象最深的,是80%的面試者都會問一句:你們不是外包吧?其實我非常理解很多剛剛進入這個行業的新人,工作不好找,明知道外包公司的問題而爲了一份收入和一些經驗積累,也要接受這份工作,實在是一件很無奈的事情。我也經歷過同樣的找工作過程,我能理解這裏面的苦衷。但是請你記住,如果你真的想在這個行業混出點名堂,到一家公平對待開發人員的公司去,到一家不會把開發人員當成項目資源的公司去,到一家願意自主開發產品的公司,到一家願意創新的公司去。


[1] 轉載:人生苦短,遠離外包: https://juejin.im/entry/5b68f4a3e51d4535253b4f82

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章