中國網財經8月16日訊(記者 李春暉)為什么很多程序員自嘲為“碼農”?為什么軟件開發(fā)這一腦力勞動工種,卻把“年輕體力好”作為用人條件之一?如果你知道這個行業(yè)曾經以“寫了多少行代碼”、“做了多少個功能”等“計件式”標準來考核員工的話,大概就能理解一二。
傳統(tǒng)的軟件開發(fā)模式無法最大程度激發(fā)程序員的創(chuàng)造力、創(chuàng)新性,也無法培養(yǎng)其為客戶解決問題、創(chuàng)造價值的能力,反而使一代又一代程序員隨著年齡漸長,陷入“35歲危機”,不得不離開這個行業(yè),另尋出路。
那么這樣一個行業(yè)現狀能不能改?怎么改?一家成立于2001年的軟件開發(fā)公司,通過其20年的發(fā)展摸索,試圖找出這一問題的答案。日前,盛安德科技發(fā)展有限公司CEO張紀偉接受了中國網財經采訪,詳細闡述了其“提升和體現程序員價值,推動中國軟件業(yè)變革”的愿景和思路。
盛安德CEO張紀偉(采訪對象供圖)
傳統(tǒng)軟件開發(fā)模式下,程序員遭遇“35歲瓶頸”
在傳統(tǒng)的軟件開發(fā)模式下,程序員就像一個復雜系統(tǒng)中的齒輪,雖然承擔著大量的工作,但并不是整個系統(tǒng)中最有價值的部分。
傳統(tǒng)軟件開發(fā)模式借鑒了工業(yè)生產,特別是流水線生產的管理方法,強調流程的可控性,將軟件開發(fā)拆解成需求分析、設計、代碼、測試、維護等獨立的環(huán)節(jié)來進行?!坝谑浅绦騿T‘前面’有架構師、需求分析師、項目經理等等,他們敲定了整個軟件的框架和功能,最后剩下大量的代碼工作,留給程序員去填。然而‘前面’的環(huán)節(jié)才是最有價值的?!睆埣o偉表示。
由于代碼的工作量非常大,需要占用諸多人力,一些歐美軟件公司在做好了前期的需求、設計、架構之后,將代碼“外包”給更具人力成本優(yōu)勢的其他國家的軟件公司來做。由此,印度的軟件外包行業(yè)得以迅速發(fā)展,并在相當程度上影響了剛剛起步的中國軟件行業(yè)。
“在上世紀90年代末到本世紀初的幾年里,中國的軟件行業(yè)其實就是模仿,或者說照搬了印度軟件外包模式?!睆埣o偉回憶,“我們那時候甚至以為‘軟件就應該是這么開發(fā)的’?!?/p>
起初,張紀偉就是因為覺得印度的軟件外包模式頗具“錢”景,并且在同樣具有人力成本優(yōu)勢的中國可復制,才從供職的雜志社辭職,于2001年8月創(chuàng)立了盛安德。
“但是我們經過好多嘗試,最終發(fā)現這條路(傳統(tǒng)軟件開發(fā)模式)走不通?!睆埣o偉稱。
誠然,傳統(tǒng)軟件開發(fā)模式有其優(yōu)越性,它極大地增加了項目的可控性,使成本變得可預測。但是它的不足也很明顯:這種比照流水線生產的開發(fā)管理,忽略了軟件開發(fā)是一件需要程序員想象力和創(chuàng)造力的工作。
“有的公司用‘一天做了多少行代碼’、‘做了多少個功能’作為程序員的績效考核標準,但無論是功能還是代碼量,程序員很容易就可以做到。在搜索引擎上搜一搜,能找到很多方法實現這個功能。但這個功能在軟件當中是不是最好用的,就不一定了?!睆埣o偉稱,“也就是說東西雖然做出來了,但對用戶來說,結果并不是很好。而程序員本身,也沒有產生他應該產生的價值?!?/p>
但這并不是程序員單方面的問題,而是在這種傳統(tǒng)軟件開發(fā)模式下,程序員幾乎沒有機會與用戶直接溝通,只是按照需求分析“照章辦事”。而且,在前期需求分析完成后,如果要修改,通常需要比較復雜的流程,因此進入開發(fā)階段后,程序員也很少再有機會聽取用戶的需求意見。
流水線式的分工,使很多程序員終其職業(yè)生涯只做“寫代碼”一件事,也“只會寫代碼”。這就導致很多程序員在年齡漸長后,遭遇“中年危機”。
“如果你的開發(fā)工作就只有寫代碼,那35歲以后可能真的會‘往下走’。到時候,體力不如年輕人好,學東西又不如年輕人快。年輕人學一個新技術,可能兩三天,看點資料就會了。但是大齡程序員可能就做不到?!睆埣o偉稱,“那種認為‘我的技術強’、‘我憑技術混飯吃’的程序員,到35歲以后尤其會有這樣的問題?!?/p>
上世紀50年代,“現代管理學之父”彼得·德魯克在其著作中首次提出“知識工作者”概念。與傳統(tǒng)工廠模式下的工人不同,知識工作者從事的不是重復性的工作,而是需要在動態(tài)的、變革的環(huán)境中充分發(fā)揮自己的靈感和創(chuàng)造性。知識工作者是無法被“計件式”考核所督導的,他們的工作動力來自于高度的自主性。
進入到21世紀以來,以知識經濟為主體的新經濟快速發(fā)展壯大,世界正如德魯克所預言的:知識工作者日漸成為社會勞動的主體?;ヂ摼W、云計算、大數據、人工智能……一系列新技術和新應用接連涌現并快速迭代。軟件作為它們背后的“基礎”,其創(chuàng)造性和革新力也被提出了更高的要求,無論是在開發(fā)模式上還是在人才培養(yǎng)上。
軟件開發(fā)作為典型的知識工種,一些業(yè)內人士開始主動轉型,探尋一種能讓程序員實現自身價值提升、能更好地激發(fā)其主動性和創(chuàng)造力的新型開發(fā)和管理模式。
敏捷開發(fā)模式下,程序員“越老越值錢”
2001年,17位軟件工程師在美國共同發(fā)表了“敏捷宣言”,敏捷開發(fā)模式正式誕生,并被認為“改變了軟件世界”。
“敏捷宣言”中提出了敏捷開發(fā)的基本原則,即個體和交互勝過過程和工具、能工作的軟件勝過詳盡的文檔、客戶合作勝過合同談判、響應變化勝過遵循計劃。
這四項原則突出了敏捷開發(fā)以“人”為核心的理念,認為人比流程重要。持續(xù)集成、快速迭代、重構等等,是敏捷開發(fā)區(qū)別于傳統(tǒng)開發(fā)模式的突出特點。這使得敏捷開發(fā)能更快速、更有效地交付有價值的軟件,同時實現人的價值提升。
敏捷模式誕生以來,在歐美國家軟件行業(yè)得到了廣泛認可和驗證。但在遙遠的中國,這一模式既新奇、又小眾。
張紀偉和盛安德接觸到敏捷模式,是因為一次機緣巧合。彼時的盛安德經歷了創(chuàng)業(yè)之初找不到客戶、借錢發(fā)工資的艱難時期,也經歷了05、06年軟件外包行業(yè)蓬勃發(fā)展的朝陽時期。但張紀偉仍然在探尋一條能讓公司和員工一起穩(wěn)健成長、長遠發(fā)展的“對”的路徑。
“大概是在2006年,一位英國客戶千里迢迢跑到中國,要和我們簽一個敏捷合同,之前我們從未聽說過敏捷。我們提供六、七個人,客戶方也有兩、三個人,還派一個人長期在我們辦公室和我們一起工作。但項目還是很快就遇到大麻煩,怎么救也沒救過來。盡管項目不成功,卻讓我們認識了敏捷?!睆埣o偉回憶,“很快我們就發(fā)現敏捷是ODC業(yè)務(離岸軟件開發(fā))的唯一出路。沒有敏捷,離岸外包都是沒有希望的?!?/p>
于是從2006年起,張紀偉開始在整個公司倡導并實踐敏捷理念。緊接著2008年的經濟危機,使張紀偉進一步驗證并堅定了自己的選擇。
“2008年金融危機對我們的影響很大,手里的固定價格項目(傳統(tǒng)模型下的開發(fā)項目)一個個結束,程序員從項目里出來,找不到下一個項目。市場上沒有銷售線索進來了,連詢盤的都沒有。我們不得已,裁減了近1/3人員。”張紀偉稱,“但當時我們也發(fā)現,剩下2/3人員所在的按時間付費項目(敏捷模式下的開發(fā)項目),幾乎都沒受到影響。敏捷項目是和客戶‘共建’的,只要客戶不垮,我們的業(yè)務不會出現大問題?!?/p>
敏捷項目與客戶的高度黏性、長期性、相對穩(wěn)定性,使張紀偉堅定了把敏捷模式作為主要發(fā)展方向的決心?!?009年以后,我們明確將按時間付費項目作為公司主營業(yè)務?!?/p>
張紀偉認為,與傳統(tǒng)開發(fā)模式不同,敏捷更依賴于程序員個人的能力,同時也更能體現和提升程序員的個人價值。
“傳統(tǒng)軟件開發(fā)將解決用戶問題的工作都交給設計師、需求分析師、項目經理了,程序員根本不碰客戶,程序員只是做代碼,這個是有問題的。而敏捷模式,簡單來說就是要求程序員去碰客戶。你要去了解業(yè)務、了解需求、了解客戶想要解決的問題是什么,然后你要去解決用戶的問題,而不是只寫代碼?!睆埣o偉稱,“傳統(tǒng)模式下程序員開始自己的工作時,第一個問題肯定是‘需求是什么’,敏捷程序員應該問的是‘問題是什么’?!?/p>
也就是說,與傳統(tǒng)模式下的程序員相比,敏捷程序員會身兼數職,不僅僅是需求分析、設計等等,有時甚至需要熟知客戶所在行業(yè)的業(yè)務特性和行業(yè)特征,以便提供更有針對性的服務和解決方案。
這對程序員自身來說,既是考驗,也是成長機遇?!安煌目蛻魰胁煌男枰鉀Q的問題。我們認為程序員需要去理解這些,并且提高自身解決問題的能力。隨著年齡增長、閱歷增加,經驗增加不斷地累積,他解決問題的能力會不斷提升。”張紀偉表示,“因此在敏捷模式下,程序員是‘越老越值錢’?!?/p>
盛安德科技發(fā)展有限公司(采訪對象供圖)
如何留住敏捷型人才?盛安德提出“程序員第一”
軟件開發(fā)公司想要實踐敏捷模式,不是易事。這需要在管理制度、企業(yè)文化層面大刀闊斧的改革,直到締造一個適合敏捷模式的氛圍和環(huán)境。
正如知識工作者的貢獻無法在督導中產生,敏捷程序員也不需要“管理者”。
“敏捷項目里,程序員直接與客戶對接,公司不會安排人去‘管理’程序員。客戶也不會去‘管理’程序員,但是他會在一段時間后進行評估。如果客戶不滿意,那么程序員就會丟掉項目,也會丟掉收入?!睆埣o偉稱。
也就是說,敏捷程序員的收入直接與客戶滿意度掛鉤?!俺绦騿T為客戶解決問題的能力體現了他的價值,他的價值又通過小時單價被反映出來,小時單價越高,工資就越高?!睆埣o偉介紹,“這樣的話程序員就會很清楚:我的工作、收入不取決于我的上級,不取決于任何人,只跟我創(chuàng)造的價值有觀。只要我能解決用戶的問題,我的收入就有保障。”
這種情況下,程序員個人與客戶之間基于長久合作的信任,存在“強”聯系,而公司方面與客戶只有“弱”聯系。那么,如何留住程序員人才,對軟件公司的發(fā)展至關重要。
“我們很早就知道程序員的重要性,為了留住人才想了種種辦法,包括嘗試不同的薪酬激勵和組織形式?!睆埣o偉表示。
盛安德總部建立了一種“60%個人賬戶”制度,即每一單客戶付費的60%,會直接支付給程序員個人。這就對員工形成巨大的正向激勵。
此外,目前盛安德已經頗具規(guī)模的“分公司”模式,在最初實行時,也只是為了留住一名骨干成員。
“2005年時,盛安德大概只有五、六十人規(guī)模。我們當時一個項目組的負責人,想回重慶工作,以便照顧父母,就提出離職。我們覺得很可惜,琢磨在重慶工作,也許并不會影響項目,在重慶建一個分公司怎么樣?這個想法在公司里反復溝通了幾輪,都覺得風險太大,當時的公司規(guī)模支撐建立一個外地分公司難度還比較大。但是最后還是下決心建。沒想到一年之后,重慶公司從一個人發(fā)展到八、九個人,以后每年以十幾個人的速度增長,成為盛安德第一個、也是最大的分公司?!睆埣o偉稱。
包括盛安德最初在海外建立分支機構,也是因為有一個骨干成員全家移民,為了留住這名員工,索性讓他建立了盛安德第一個海外辦事處。
而每個分公司經理擁有分公司20%的股份,這使得這些留下來的核心成員從“雇員”變身為“合伙人”,從“給別人打工”變?yōu)椤白鲎约旱纳狻?。這極大地調動了他們的積極性。
目前盛安德已經在上海,天津,蘇州,石家莊,西安,青島,武漢,成都,重慶,大連,沈陽,鄭州,威海,無錫等多個城市擁有分公司,在澳大利亞、英國、美國、加拿大等多個國家擁有海外分支機構。
今年是盛安德成立20周年?;仡欉^去20年的發(fā)展,很多“大動作”都不是張紀偉自上而下去規(guī)劃、去布置,而是在“以人為核心”的理念下被推著,自然而然往前走。
“我們從來不會制定年度目標或者五年目標,而是更相信如果我們把事情做‘對’的話,好的結果自然會呈現?!睆埣o偉表示。
“對”的事情,就是盛安德一直以來的目標和愿景:成為最適合程序員工作和發(fā)展的公司。
“成立20年以來,我們一直致力于企業(yè)管理理念的創(chuàng)新,以提供自由寬松、開放合作的環(huán)境讓程序員有機會去成長和改變?!彼硎?,“我們的價值觀,就是以程序員的發(fā)展作為企業(yè)發(fā)展的基石,就是‘程序員第一’?!?/p>
今年是盛安德成立20周年,也是“敏捷宣言”發(fā)表20周年。展望未來,張紀偉表示,盛安德“為程序員創(chuàng)造更大的價值”的核心理念,是不會變的。