多少年來,人們普遍有一種看法,認(rèn)為軟件工程應(yīng)該和其它種類的工程一樣:仔細(xì)的設(shè)計(jì),精確的規(guī)劃,然后進(jìn)行開發(fā) —— 嚴(yán)格按照設(shè)計(jì)說明書。就像修建一座橋梁,不是嗎?這種開發(fā)方式的問題在于:軟件,它是“軟”的。它可以無限的延展。任何需要的時(shí)候你都可以大幅度的修改你的軟件,人們也都是這么干的。
還有,因?yàn)檐浖梢员荒脕韺?duì)任何事物進(jìn)行模型造型,你能要求軟件開發(fā)人員去實(shí)現(xiàn)的可能的東西幾乎是無窮無盡。想要在軟件里模擬集成電路嗎?干吧。想管理銀行?沒問題。讓五億人和他們的朋友保持聯(lián)系?為什么不呢?小菜一碟。不僅如此,在開發(fā)的中途我們還能要求程序員去做各種修改,這種事情經(jīng)常的以一種不可預(yù)期的形式出現(xiàn)。
這可不是像修橋那樣。
由于漠視這種需求不斷變化的現(xiàn)實(shí),多年來,無數(shù)的項(xiàng)目要么慘遭失敗,要么巨額超出預(yù)算。所以,在各種證據(jù)面前,整個(gè)行業(yè)為什么還要堅(jiān)守這種錯(cuò)誤的認(rèn)識(shí)?很難說為什么。不過,最終,行業(yè)里開始出現(xiàn)一種新的認(rèn)識(shí):軟件開發(fā)工作應(yīng)該更好的響應(yīng)需求的變化。事實(shí)上,為了適應(yīng)這種需求上的變化,我們應(yīng)該改進(jìn)軟件開發(fā)過程。沒有比如今的web創(chuàng)業(yè)開發(fā)社區(qū)更歡迎這種趨勢(shì)的了。所謂的敏捷開發(fā)方法已經(jīng)開始流行,“l(fā)ean start-up”運(yùn)動(dòng)號(hào)召對(duì)運(yùn)行中的系統(tǒng)進(jìn)行自動(dòng)的或依據(jù)經(jīng)驗(yàn)的超常快速變更響應(yīng)。
所以,我們都是好樣的,不是嗎?雖然行動(dòng)的不是那么快。盡管有越來越多的敏捷開發(fā)方法被人們接受,仍然有大量的傳統(tǒng)錯(cuò)誤認(rèn)識(shí)游蕩在我們周圍…這些認(rèn)識(shí)大部分都該丟到腦后。
1. 誤解:你應(yīng)該招聘一些“日本忍者”式的程序員。
對(duì)編程超人的迷信是硅谷創(chuàng)業(yè)公司中最普遍的一種病癥:一個(gè)孤僻的程序員,以匹薩和咖啡因?yàn)槟芰浚^戴耳麥,通宵不倦的開發(fā)一個(gè)復(fù)雜的系統(tǒng),所有的東西都自己一個(gè)人來干。時(shí)過境遷了。軟件開發(fā)已經(jīng)發(fā)展成一種團(tuán)體運(yùn)動(dòng)。所有的創(chuàng)業(yè)公司只要獲得了任何有意義的成功,都會(huì)成長(zhǎng)起來。一個(gè)編程獨(dú)俠客能夠勝任的情況放到一個(gè)10人的公司里后就不可行了。而且,更糟糕的是,鼓勵(lì)逞英雄的行為會(huì)在開發(fā)團(tuán)隊(duì)里產(chǎn)生腐蝕性的機(jī)能障礙。始終如一的朝九晚五、日復(fù)一日編寫出公司賴以生存的穩(wěn)固功能代碼的程序員,輸給了能以通宵加班(通常只是一晚)來期望獲得慷慨的褒獎(jiǎng)的精明極端利己主義者。與其獎(jiǎng)勵(lì)這種英雄,不如培養(yǎng)出真正具有團(tuán)隊(duì)精神的員工。
2. 誤解: 程序員需要安靜的工作,避免打攪。
讓人們獨(dú)自的干活,這個(gè)聽起來很有道理。每一次的打擾都是切實(shí)的中斷你的思緒,而且你需要花很久才能重新找回那種“狀態(tài)”。有些著名的軟件公司甚至堅(jiān)持要為每個(gè)程序員安排獨(dú)立的辦公室。他們這樣就不會(huì)被打攪了,是嗎?除非現(xiàn)代新形式的干擾并不會(huì)像一個(gè)真人拍你的肩頭時(shí)引起你的分心,比如即時(shí)聊天工具,移動(dòng)手機(jī),F(xiàn)acebook,Twitter,電子郵件,以及從程序員頭上戴的耳麥里傳出的用于幫助集中精神的音樂。現(xiàn)實(shí)情況是,大多數(shù)的獨(dú)自工作的程序員每天只花一小段時(shí)間用于真正的編程:各種形式的干擾事情層出不窮,整天他們都在進(jìn)入狀態(tài)和失去狀態(tài)的循環(huán)中來來回回。然而,有個(gè)辦法能解決這個(gè)問題:結(jié)對(duì)編程。兩個(gè)程序員,一臺(tái)電腦。沒有Email,沒有Twitter,沒有手機(jī)電話(至少?zèng)]有無計(jì)劃的電話;你可以在有規(guī)律的間隔休息時(shí)間里處理這些事情)。如果按照這樣做,你會(huì)收獲一個(gè)完全編程的一天。而且,和他人一起工作,“進(jìn)入狀態(tài)”的過程幾乎完全不費(fèi)時(shí)間。這是一種完全不同的工作方式,我深信這種方式的效率遠(yuǎn)高于獨(dú)自工作的形式。事實(shí)上,針對(duì)當(dāng)前的辦公室里的這些“電子設(shè)備引起的注意力分散”情況,我認(rèn)為這是能讓軟件開發(fā)團(tuán)隊(duì)獲得最高效率的唯一辦法。
3. 誤解: 創(chuàng)業(yè)公司競(jìng)爭(zhēng)激烈,所以每個(gè)人都該干到精疲力竭為止。
沒白沒夜的加班加點(diǎn)并不能讓你做的更多,做的更快。事實(shí)上,這會(huì)讓你適得其反。不錯(cuò),你覺得一周就能完成。但大部分的創(chuàng)業(yè)公司的開發(fā)計(jì)劃都會(huì)比這個(gè)長(zhǎng),程序員通常需要持續(xù)幾個(gè)月的進(jìn)行開發(fā)(如果不是幾年的話)來成功的完成一個(gè)產(chǎn)品。很多創(chuàng)業(yè)公司的行為表現(xiàn)就好象是這罐金子就放在那個(gè)墻角,只要能再努力一點(diǎn)就能拿到它。很快,開發(fā)人員的精力就被榨干了,如僵尸一般只是做出在加班的樣子,沒有任何的工作效率。高強(qiáng)度的工作,只是從短期來看會(huì)獲得更多的工作效率。著名的開發(fā)公司Pivotal幫助過成百上千的創(chuàng)業(yè)公司開發(fā)過系統(tǒng),從來都是嚴(yán)格按照40小時(shí)工作日來完成任務(wù)的。 本新聞共 2頁(yè),當(dāng)前在第 1頁(yè) 1 2
想認(rèn)識(shí)全國(guó)各地的創(chuàng)業(yè)者、創(chuàng)業(yè)專家,快來加入“中國(guó)創(chuàng)業(yè)圈”
|