長期以來,程序員被看作是沉默寡言的典型。他們能夠長時間獨自坐下來,不跟別人討論,面對紙張及電腦屏幕來工作的人?,F(xiàn)在,這種現(xiàn)象早已經(jīng)不盡然了,新的尤其是敏捷方法論更強調(diào)的是人們之間的有效溝通,而最有效的溝通便是面對面的交流,這也是結(jié)對編程取得巨大成功之所在。正如水晶方法論創(chuàng)始人Alistair?Cockburn對軟件開發(fā)活動的總結(jié):“軟件開發(fā)是一場資源有限的創(chuàng)建與交流的協(xié)作性游戲。游戲的主要目標(biāo)是交付有用的可工作的軟件,次要目標(biāo),是為下一場游戲做準(zhǔn)備,既知識的累積。下一場游戲可以是改變或者替代當(dāng)前的系統(tǒng),或是創(chuàng)建另一個相關(guān)的系統(tǒng)?!?br />
一個軟件開發(fā)團隊的成功依賴于合作、交流及協(xié)調(diào),而這些因素卻都以人為核心,恰恰是人這個大的因素左右了項目的成敗,而不是所選擇的任何過程與技術(shù),而這個因素卻常常被人們所忽視。當(dāng)技術(shù)與人們的認(rèn)識和文化價值觀相抵觸時,技術(shù)就不會再產(chǎn)生效力。一個擁有充足人員且具有良好機能的團隊往往能更好地完成項目,而不在乎讓他們使用什么樣的過程及技術(shù)。
然而,人的能力卻是不可預(yù)測的,他們善于尋找、學(xué)習(xí)并有主動性,特別是善于進行非正式面對面交流,但同時,人們也具有會犯錯誤、墨守成規(guī)、只想創(chuàng)新、積習(xí)難改與變化無常等缺點。正因為人是變化無常的,我們不能指望人會成為可預(yù)料的或每個人都會變成一個樣子。正如你不能希望給一個人雙倍的酬勞,制定雙倍的懲罰制度,并付出雙倍工作時間,就希望能夠得到雙倍的成果輸出一樣。這是因為,人不是機器,而是復(fù)雜的情感生物,輸出的成果最終取決于當(dāng)時的思考質(zhì)量、思考速度、主動性、身體狀況、情緒等諸多因素。但是,人的內(nèi)在潛力卻是非常巨大的,只要用紀(jì)律和寬容來應(yīng)付人們的共同弱點,便可以去其短,揚其長,來激發(fā)人們的內(nèi)在潛力。當(dāng)人們有了工作自豪感和公民感,再加上善于尋找和主動性后,我們會發(fā)現(xiàn)人們每天都會積極地完成工作,這將使項目長期處于最佳狀態(tài)。在這方面,XP(極限編程)采用豐富的、短的、非正式交流途徑,同時強調(diào)技能、紀(jì)律、個人理解水平,將中間件需求降到最低的方法,來獲得盡可能高的質(zhì)量和生產(chǎn)力。?
變化總是在發(fā)生
他們總是不斷地拿走你的奶酪。
預(yù)見變化
隨時做好奶酪被拿走的準(zhǔn)備。
追蹤變化
經(jīng)常聞一聞你的奶酪,以便知道它產(chǎn)什么時候開始變質(zhì)。
盡快適應(yīng)變化
越早放棄舊的奶酪,你就會越早享用新的奶酪。
改變
隨著奶酪的變化而變化
享受變化
嘗試冒險,去享受新奶酪的美味!
做好迅速變化的準(zhǔn)備,不斷地去享受變化
記?。核麄?nèi)詴粩嗟哪米吣愕哪汤?,如果你不改變,你就會被淘汰?br />
--?引自<誰動了我的奶酪>
面對市場經(jīng)營的特殊挑戰(zhàn),只有那些具有高度靈活機制的企業(yè)才能立于不敗之地。不能適應(yīng)變化,變化就會把你變得面目全非。再完美的計劃也時常遭遇不測。軟件中的所有東西都在變化。需求在變、設(shè)計在變、業(yè)務(wù)在變、技術(shù)在變、團隊在變、團隊成員在變。問題不在于變化,因為變化總在發(fā)生,問題在于在發(fā)生變化時沒有能力應(yīng)付。只有變化是不變的,時刻準(zhǔn)備著這樣調(diào)整一點,那樣調(diào)整一點。通過許多小的調(diào)整,而不是幾次大的調(diào)整來控制軟件的開發(fā),也就是說我們需要利用及時反饋來知道我們何時出現(xiàn)了錯誤,我們需要很多機會來糾正這些錯誤,而且,我們必須能夠以比較合理的成本完成這樣的糾正,即使你不得不朝完全不同的方向前進,這就是作為一名程序員的生活。敏捷就是快速、輕松和靈活,迅速行動的能力,以最少的開銷完成工作的能力,適應(yīng)不斷變化條件的能力。
這就像XP方法論創(chuàng)始人Kent?Beck對XP所做的比喻:“XP團隊?wèi)?yīng)該是智慧的游牧人,隨時準(zhǔn)備迅速收起帳篷,跟隨牧群到處流浪。這里的牧群可能是與預(yù)期不同方向的設(shè)計、與預(yù)期不同方向的客戶、離開團隊的成員、突然升溫的技術(shù)或者是不斷變換的商業(yè)環(huán)境?!泵艚蒈浖_發(fā)的根本是相信在我們混亂的業(yè)務(wù)環(huán)境中有不可預(yù)測性,相信人們或團隊在面對這種不可預(yù)測性時,有能成功交付軟件能力的可預(yù)測性,而這些,這是由于開發(fā)人員之間的有效溝通、與客戶和管理者之間的有效溝通,才使得這種被稱為富于創(chuàng)造與交流的協(xié)作性軟件開發(fā)游戲取得成功。
再富裕的國家,也會因為浪費人才而變得貧窮。與之類似,企業(yè)生存的最大課題就是培養(yǎng)人才,有了好員工,不愁沒有好顧客。企業(yè)的發(fā)達,乃人才的發(fā)達;人才的繁榮,既事業(yè)的繁榮。把人放在第一位,其他事情就會少發(fā)愁。
--?引自<管理智典>
<資本論>指出:一切剩余價值皆是由人創(chuàng)造的,而不是其它任何機器。在軟件開發(fā)中的任何分析和設(shè)計工具不管有多先進,都不可能自動產(chǎn)生設(shè)計及代碼,而真正產(chǎn)生設(shè)計及代碼的,恰恰是操作它們的人,過分信賴過程與工具以及低估人的智力和經(jīng)驗都是一切災(zāi)難的源泉。
與此同時,<設(shè)計模式>一書也指出:在軟件開發(fā)和維護中,從長遠(yuǎn)來看,真正引起軟件低效的原因,是人,人的低效才是最主要的。這看起來有點自相矛盾,其實為一體,既:成也在人,敗也在人!
軟件開發(fā)和維護中的低效,初看起來,使人聯(lián)想到的首先可能會是:開發(fā)及維護人員技術(shù)水平不夠了、軟件文檔支持不足了、軟件人員偷懶了、開發(fā)或維護團隊內(nèi)部人員關(guān)系不好了等等。但深究起來,一般卻和一個企業(yè)的內(nèi)部組織文化有很大的關(guān)系。
目前,國內(nèi)很多國企、私企普遍存在的內(nèi)部現(xiàn)象是:一馬在前,萬馬齊拍;前面的馬向后看到的是后面馬的笑臉,后面馬向前看到的是前面馬的屁股。故才會有后面群馬齊拍,前面馬飄飄不知所以然的壯麗場景。在這種企業(yè)文化中,人人只會以乾隆年間的和?和大人為偶像,以“厚而無形,黑而無色”的厚黑精神為人生最高境界。試想在這種企業(yè)組織文化中,真正老實實干的人只能忍氣吞聲、本著不求有功、但求無過之心,整天提心掉膽,人人皆自衛(wèi)。而奸滑的人卻會善于濫竽充數(shù)、邀功請賞、見風(fēng)駛舵,只要嘴巴甜、馬屁拍的好、拍的妙,定會升官發(fā)財,內(nèi)部則猜疑、譴責(zé)、以及微妙和間接的勾心斗角與明掙暗斗隨處可見。這種企業(yè)最終是不會留下真正的人才的,留下的只會是一些馬屁精。如果一個企業(yè)文化如此,開發(fā)及維護團隊會如何,內(nèi)部員工又會怎么做,可想而知!如果你所處的環(huán)境不是這樣,恭喜你。
最好的環(huán)境應(yīng)該是互相信任,彼此互相尊重,彼此之間都相信對方會把自己的最高利益和整個團體的利益放在心中,彼此都愿意切磋技巧、經(jīng)驗及看法。而要成為一個有效的團隊成員,首先需要認(rèn)識到自己的無知,每個人都要向別人學(xué)習(xí),應(yīng)該相信直覺,并且開放和誠實的交流環(huán)境常常是保證有效團隊合作的最好策略。
作為一個組織,核心就在于對人的信賴,在于一個適應(yīng)性強的文化氛圍,這能夠?qū)⑷死υ谝黄?,獲得有效的協(xié)作關(guān)系。一個企業(yè)做的是否成功,關(guān)鍵是看它有多強,而不是有多大。把人放在第一位,管理層次少,內(nèi)部信息溝通及時、各職能部門協(xié)作意識強的企業(yè)才更容易成功。?在激勵一個人按某種特定方式工作時,報酬比懲罰更有效,懲罰要盡量避免。你若能在他人心中激起一種急切的需求,并能引導(dǎo)這種需求,你便能無往不勝??释玫絼e人的認(rèn)可和贊賞,是人類隱藏最深的本性。
--?引自<管理智典>
<孫子兵法-作戰(zhàn)篇>中指出:“殺敵者,怒也;取敵之利者,貨也。車戰(zhàn),得車十乘以上,賞其先得者。”意思是說,要使軍隊勇敢殺敵,就要激發(fā)士兵對敵人的仇恨;要使軍隊奪取敵人的物資,就要以財貨獎賞士兵。所以在車戰(zhàn)中,凡繳獲戰(zhàn)車十輛以上的,要獎最先奪得戰(zhàn)車的人。
同理,<素書六章>中也指出:小功不賞,則大功不立;小怨不赦,則大怨必生。這和前面是一樣的道理,然而,國內(nèi)很多軟件企業(yè)領(lǐng)導(dǎo)者,滿腦子想的仍是:中國人,多的是,有什么用,走一個,馬上還能來一群,怕什么!殊不知,你就再是鐵打的營盤,也架不住流水的兵,不注重人,必會留不住人。
冰凍三尺,非一日之寒,做軟件的,少則數(shù)月,多則幾年。三天兩頭換人,每天看到的都是新面孔,那還象是做軟件的,就象是在選秀。這樣的軟件能成功么?既使僥幸成功,也定不會長久,因為他們不可能織起一個強而穩(wěn)定的團隊,組織起來的只能是臨時應(yīng)戰(zhàn)的雇傭兵而已。有上面這種想法的領(lǐng)導(dǎo)大多通常是以指令性過程方法和產(chǎn)品為中心,把做作軟件的人看做是“即插即用”的機器,這些高層管理者往往抱著一種“菜譜哲學(xué)”的思想,認(rèn)為如果組織機構(gòu)有了明確定義的軟件過程方法,詳細(xì)地規(guī)定了每個開發(fā)活動的步驟,那么所有問題都將被解決。如果“正確”的過程已經(jīng)開發(fā)好,他們就可以雇用任何人(當(dāng)然,最好不用人全部由機器自動生成最好),只要遵循制定好的過程,完美的軟件就將準(zhǔn)時且不超預(yù)算地大量產(chǎn)出,這種信條是建立在把軟件開發(fā)當(dāng)成是一門科學(xué)的基礎(chǔ)之上的,然而,殘酷的現(xiàn)實卻向他們證明,軟件開發(fā)更多的是一門藝術(shù)而非科學(xué),是一門需要技能、手藝精巧的人互相協(xié)作的藝術(shù)。如果公司領(lǐng)導(dǎo)成天跟員工斤斤計較,抓住員工小辮子不放,動不動就大聲呵斥、擺臉色看、給小鞋穿,還要經(jīng)常免費加班、扣工資、罰資金。試想,在這種環(huán)境下,員工會怎么做,大部分會直接走人,留下的人卻學(xué)會了磨洋工。工作時看著忙忙碌碌,實則作秀也。老板可能還會納悶,怎么員工這么買力,產(chǎn)品質(zhì)量還日漸下降。殊不知,這就和菜場買菜一樣,你越和賣菜的討價還價,賣菜的給你菜時越會和你斤斤計較(既缺斤少兩)是一個道理,只有這樣兩方心理才能夠平衡。雖然,聰明一些的高層領(lǐng)導(dǎo)者總是宣稱員工是組織機構(gòu)中最重要的方面,但骨子里仍把員工看作隨意可替換的資產(chǎn),這也正是人類的一大缺點:嘴上說的和實際做的往往是兩回事。
所謂“道”,就是讓部屬與領(lǐng)導(dǎo)者的價值觀相一致,這樣部屬就會與領(lǐng)導(dǎo)者同生共死,不會畏懼什么困難和危險,表現(xiàn)出崇高的獻身精神。如何讓部屬與領(lǐng)導(dǎo)者的價值觀相一致,其實很簡單,將員工利益看作第一位,以人為本,重視他們、信任他們、支持他們。其實,員工們對公司的要求其實很低,一般如下:
第一、?按時發(fā)工資(基本保證)。
第二、?得到辦公室配送的飲料或食品。
第三、?得到領(lǐng)導(dǎo)賞識。
第四、?獲得特別授權(quán)去完成某艱巨任務(wù)。
第五、?多發(fā)獎金(不吃大鍋飯)。
第六、?職位上的提升。
第七、?加薪。
以上幾條,對于每一個有遠(yuǎn)見的公司領(lǐng)導(dǎo)都是不難做到的。那怕能做一半,員工們也會心存感激之情了。
幫助他人,可說是一種最直接有效、可以激發(fā)自身價值與責(zé)任感的方法。在全神貫注幫助他人解決問題的過程中,在悉心呵護照顧他人的過程里,不但我們的無限潛力會因此而充分發(fā)揮出來。而且,相對而來的成就感,也會讓人覺得自己任重而道遠(yuǎn),并能更積極地來面對人生了。
--?引自<好習(xí)慣、好人生>
近兩年,書面上流行的狼系列叢書<狼文化>、<狼圖騰>等。也同樣給中國軟件業(yè)發(fā)展以極大的啟示,強調(diào)擁用像狼群般的高度緊密協(xié)作的團隊意識、敏銳的嗅覺(既可以察覺到細(xì)小或即將來到的變化)、始終保持野性(既持續(xù)的積極進取的態(tài)度和精神)等。中國人喜歡窩里斗這是出了名的,就是軟件人員內(nèi)部也經(jīng)常在彼此攻擊、無休無止。要知道,在一個有效團隊中是沒有“我”這個字的,只有“我們”。這里借用曹植曹帥哥一句話:“本是同根生,相煎何太急!”?來真心希望中國軟件業(yè)能真正團結(jié)一致,齊心合力,建立自己的狼群文化,早日走出低谷,向全世界宣布:我們是狼,不是羊!
創(chuàng)建一個有效的團隊是一項艱苦的任務(wù),它對項目的成功是必不可少的。首先是通過招募好的開發(fā)人員,從好的材料開始,他們可能不具備所有需要的技能,但至少應(yīng)該愿意去學(xué)習(xí)。其次是在團隊內(nèi)培養(yǎng)正確的態(tài)度,既他們只有團結(jié)一心才能走向成功,每個人都應(yīng)該積極參與系統(tǒng)開發(fā)。建設(shè)和培養(yǎng)一個有效團隊需要時間,但這樣做是組織機構(gòu)能做的最好的投資之一。?
若是你在一年中不曾有過失敗的記錄,你就未曾勇于嘗試各種應(yīng)該把握的機會。害怕失敗,就等于拒絕了成功。那些盼望并且追求成功的人,要比那些成天擔(dān)心而且接受失敗的人要快樂得多,其成就也會高的多。
--?引自<管理智典>
假如軟件的第一版就做得很好,那么人們就會再次使用該軟件。由于世界上所有的事情都在迅速變化著,因此,軟件也需要不斷更新、擴充、改變及修改。而想要得到穩(wěn)定不變軟件的唯一方法就是讓產(chǎn)品壞到?jīng)]有人再想用它,穩(wěn)定意味著無知覺的產(chǎn)品。要明白,穩(wěn)定的要求是敵人而不是朋友。改變要求是生活中嚴(yán)酷的現(xiàn)實,明智的軟件人員應(yīng)事先預(yù)想并處理它而不是抱怨它。而使軟件創(chuàng)建更加快速與健壯的,是軟件復(fù)用。有關(guān)軟件復(fù)用的問題從表面上看是技術(shù)上的,實則真正的問題還是來自人。
開發(fā)人員需要擺脫不相信也不想理解別人成果或只想重頭做來增加個人經(jīng)驗的看法,如果不解決人的問題,那么技術(shù)問題也就變得無關(guān)緊要了。開明的領(lǐng)導(dǎo)和合適的獎賞制度有時能克服這些問題,假如企業(yè)文化把重復(fù)使用擱置起來,不與重視,那么在實現(xiàn)重復(fù)使用方面的投資、開發(fā)以及努力都將沒有多大的成果??朔说膯栴}最主要的還是有效溝通的問題,雖然我們已經(jīng)學(xué)會把感情生活與工作分開,但是如果隊員間不能持續(xù)進行有效的溝通、沒人承認(rèn)自己的錯誤、怨氣得不到平息、歡樂沒有人共享,那么整個團隊就無法高效率地工作。如果我們每個人都能夠放下生活中所帶的虛假面具,說出自己真實的感覺,也認(rèn)真傾聽別人的想法,那么任何工作的進展都會順利的多。
一個人并不是生來就要被打敗的,你盡可以消滅他,卻不能打敗他。
--?引自<老人與海>
生命原本脆弱,我們只能堅強地活著,并努力尋找歡樂,就這樣。這里有一點我想告訴大家,大家在積極進取、努力拼搏的同時,一定要多加注意自己的身體。要知道,留著青山在,不怕沒柴燒,身體乃革命的本錢也。千萬不要有這樣思想:三十歲前我用命換錢,三十歲后我用錢換命。要好好想想,沒有了好的身體,我們還能做什么!所以,請記住:努力工作,從珍惜生命做起!
生活并不是筆直通暢的走廊,讓我們輕松自在地在其中旅行。生活是一座迷宮,我們必須從中找到自己的出路。我們時常會陷入迷茫,在死胡同中搜尋。但如果我們始終深信不疑,有一扇門就會向我們打開,它或許不是我們曾經(jīng)想到的那扇門,但我們最終將會發(fā)現(xiàn),它是一扇有益之門。
--?引自<誰動了我的奶酪>
最后,讓我引用<WINDOWS游戲編程大師技巧>書中一句話來結(jié)束本文:“當(dāng)你看到眼前有列過山車,請坐上去,不要猶豫。張開你的臂膀,盡情體驗個中滋味,一直堅持到游戲的最后,這就象生活一樣。你的生活將不會留下太多回憶,除非你曾經(jīng)反抗過、吶喊過,并用堅持不懈的努力向著完美伸出雙臂。世上沒有不可能實現(xiàn)的事情,只要你相信能做到,你就能做到!”