首先,很顯然成功的網(wǎng)絡(luò)項(xiàng)目必然是靈活的。"推出速度快,更新頻率高"一直是開(kāi)源領(lǐng)域的口號(hào),它也適用于網(wǎng)絡(luò)應(yīng)用軟件。如果我們能夠接受真實(shí)世界的網(wǎng)絡(luò)代碼作為開(kāi)發(fā)人員的里程碑時(shí)代已經(jīng)過(guò)去,那么"毫無(wú)理由的會(huì)淪為網(wǎng)絡(luò)項(xiàng)目早期階段過(guò)度結(jié)構(gòu)化的犧牲品",正如Joel Spolsky所言:"及時(shí)推出也是一種特性。一種真正重要的特性。你的產(chǎn)品必須具備這種特性"。特別是新興企業(yè),將產(chǎn)品快速推向市場(chǎng)的能力通常超過(guò)了架構(gòu)搭建的份量。
這并不意味著你應(yīng)該跳過(guò)會(huì)影響到安全性或者用戶隱私權(quán)的領(lǐng)域。在今天的企業(yè)氣候中,這種失誤將是致命的。舉例來(lái)說(shuō),但是可擴(kuò)展性則是目前在網(wǎng)絡(luò)項(xiàng)目早期搭建階段被過(guò)份關(guān)注的一個(gè)領(lǐng)域。在某些情況下,制定為今后的可擴(kuò)展性重新編寫應(yīng)用程序的計(jì)劃時(shí)需要多加謹(jǐn)慎,也不要為了體系架構(gòu)的問(wèn)題而延遲首個(gè)版本的推出。
最近幾年,我們看到這種快速而松散的方式甚至已經(jīng)應(yīng)用到個(gè)性鮮明的網(wǎng)站上。舉例來(lái)說(shuō),目前網(wǎng)站可以自行搭建并體驗(yàn)規(guī)模的擴(kuò)展。Twitter已經(jīng)開(kāi)始逐步淘汰用Scala編寫的最新平臺(tái)中的Ruby代碼(Scala是一種在Java虛擬機(jī)上運(yùn)行的多重范型編程語(yǔ)言)。
其次,研發(fā)部門通過(guò)編寫的無(wú)數(shù)行代碼或者某些類似的評(píng)定標(biāo)準(zhǔn)來(lái)衡量員工生產(chǎn)力的做法也是完全錯(cuò)誤的。如果我們假設(shè)為網(wǎng)絡(luò)應(yīng)用軟件創(chuàng)建的代碼壽命本身就短,那么避免浪費(fèi)員工勞動(dòng)產(chǎn)出的最佳方法就是編寫的代碼宜少不宜多。
目前的開(kāi)發(fā)人員可以使用各種用來(lái)編寫網(wǎng)絡(luò)應(yīng)用程序的數(shù)據(jù)庫(kù),框架,服務(wù)器和工具。開(kāi)發(fā)人員應(yīng)該充分利用他們。隨著網(wǎng)絡(luò)應(yīng)用軟件開(kāi)發(fā)逐漸成為配置這些預(yù)裝組件的過(guò)程,開(kāi)發(fā)人員應(yīng)該將注意力集中在推動(dòng)應(yīng)用軟件研發(fā)的業(yè)務(wù)邏輯上,而不是把時(shí)間浪費(fèi)在重新編寫那些與他們競(jìng)爭(zhēng)對(duì)手的軟件沒(méi)有多大差別的代碼上。
代碼是消耗品;但開(kāi)發(fā)人員不是
最后,企業(yè)應(yīng)該根據(jù)軟件的屬性去評(píng)估他們的軟件投資:軟件實(shí)質(zhì)上就是一種短期資產(chǎn)。定制網(wǎng)絡(luò)應(yīng)用軟件的任何一種版本的知識(shí)產(chǎn)權(quán)價(jià)值都是很小的。更大的價(jià)值是來(lái)自于編寫網(wǎng)絡(luò)應(yīng)用程序的開(kāi)發(fā)人員,因?yàn)樗麄儾攀秦?fù)責(zé)去重新編寫代碼來(lái)適應(yīng)永遠(yuǎn)都在變化中的業(yè)務(wù)和技術(shù)版圖的人。
以谷歌和微軟為代表的這些企業(yè)都懂得雇傭,維護(hù)和激勵(lì)優(yōu)秀的軟件開(kāi)發(fā)人員的價(jià)值所在。他們?cè)谶@方面也做的很好。但慚愧的還有很多企業(yè)將他們最好的編程人才浪費(fèi)在毫無(wú)必要的中層管理職位上,或者讓他們完全遠(yuǎn)離了他們擅長(zhǎng)的領(lǐng)域,而不是讓他們?nèi)グl(fā)揮作為軟件開(kāi)發(fā)人員的價(jià)值。
或者網(wǎng)絡(luò)泡沫經(jīng)濟(jì)時(shí)代最大的損失就是對(duì)軟件研發(fā)人員的打擊,在網(wǎng)絡(luò)泡沫破滅以后,去專攻計(jì)算機(jī)科學(xué)或者信息技術(shù)學(xué)位的美國(guó)學(xué)生數(shù)量日漸減少。這是整個(gè)行業(yè)的恥辱,因?yàn)樵谶^(guò)去10年里能屹立不倒的網(wǎng)站幾乎鳳毛麟角,對(duì)網(wǎng)絡(luò)軟件的需求也風(fēng)光不再。
網(wǎng)絡(luò)應(yīng)用軟件像所有軟件一樣必須經(jīng)常進(jìn)行更新,因?yàn)榧夹g(shù)在進(jìn)步,業(yè)務(wù)需要作出相應(yīng)的變化。但是這并不意味著編程必須是一項(xiàng)徒勞的任務(wù)。對(duì)所有被擱置一邊的軟件來(lái)說(shuō),今天的網(wǎng)絡(luò)比起10年前的網(wǎng)絡(luò)要強(qiáng)大和先進(jìn)的多。如果我們希望這種進(jìn)步繼續(xù)下去,軟件開(kāi)發(fā)人員就必須讓年輕的從業(yè)人員相信軟件開(kāi)發(fā)是我們這個(gè)行業(yè)中發(fā)展最快和最至關(guān)重要的職業(yè)之一。