在找到海盜埋藏的金幣,開(kāi)一個(gè)獨(dú)角獸飼養(yǎng)場(chǎng),和娶了一個(gè)漂亮的國(guó)際超級(jí)名模以后,每個(gè)經(jīng)理的夢(mèng)想是什么?當(dāng)然是提升Web應(yīng)用程序開(kāi)發(fā)的效率。
不像金幣,神話中的動(dòng)物和超級(jí)名模,這個(gè)目標(biāo)是可以實(shí)現(xiàn)的。你可以一小步一小步地實(shí)現(xiàn)這個(gè)目標(biāo),逐漸地提升團(tuán)隊(duì)的生產(chǎn)力。但是,如果你的目標(biāo)是數(shù)量級(jí)上的提升,你必須要做一些深度變革才可以。(它并不像開(kāi)一個(gè)獨(dú)角獸飼養(yǎng)場(chǎng)那樣困難)
在開(kāi)始這個(gè)過(guò)程以前,考慮一下以下這個(gè)事實(shí)是十分重要的:構(gòu)建新的Web應(yīng)用程序的流程和維護(hù)現(xiàn)有的應(yīng)用程序的流程都需要優(yōu)化。畢竟,一個(gè)Web應(yīng)用程序的大部分成本是在首次遷移到生產(chǎn)環(huán)境以后才產(chǎn)生的。
考慮到這一點(diǎn),這里總結(jié)出了可以幫助改善Web應(yīng)用程序開(kāi)發(fā)的7個(gè)技巧:
1. 自動(dòng)部署
把一個(gè)Web應(yīng)用程序遷移到生產(chǎn)環(huán)境一定要盡可能的簡(jiǎn)單,快捷。為了實(shí)現(xiàn)真正的敏捷性,跟上業(yè)務(wù)發(fā)展的步伐,必須要把Web應(yīng)用程序頻繁地部署到生產(chǎn)環(huán)境才可以,否則,延遲會(huì)跨越開(kāi)發(fā)周期地堆積起來(lái)。如果把一個(gè)新版本部署到生產(chǎn)環(huán)境需要花費(fèi)兩天的時(shí)間,那么你的生產(chǎn)力會(huì)受到嚴(yán)重的影響。
2. 減少?gòu)?fù)雜性
一個(gè)應(yīng)用程序越復(fù)雜,改變它就越困難。解決方案是什么?當(dāng)發(fā)現(xiàn)一個(gè)系統(tǒng)規(guī)模太大的時(shí)候,把這個(gè)系統(tǒng)分成幾個(gè)更小的子系統(tǒng)。但是,要完成這個(gè)任務(wù),需要這樣一種技術(shù):既可以幫助你理解復(fù)雜的系統(tǒng),又可以幫助開(kāi)發(fā)團(tuán)隊(duì)把系統(tǒng)分成多個(gè)更容易管理的組件。
3. 從第一天起,就以生產(chǎn)為目標(biāo)
對(duì)于一個(gè)時(shí)間緊迫的業(yè)務(wù)問(wèn)題來(lái)說(shuō),制定一個(gè)快速的解決方案,以后再修改這個(gè)應(yīng)用程序,讓它適應(yīng)生產(chǎn)環(huán)境,是十分具有誘惑力的。這似乎看起來(lái)很敏捷,但是,在現(xiàn)實(shí)中,監(jiān)控,可擴(kuò)展性,日志,用戶管理等都是不可忽略的事情。理想的解決方案是在一個(gè)可以讓你理所當(dāng)然地獲得這些功能的平臺(tái)上構(gòu)建這個(gè)Web應(yīng)用程序。
4. 影響分析
要快速地進(jìn)行改變,團(tuán)隊(duì)需要確定這些改變不會(huì)破壞已經(jīng)完成的工作。通過(guò)以下三個(gè)步驟,這個(gè)問(wèn)題會(huì)被最小化:首先,在開(kāi)發(fā)過(guò)程中,使用影響分析工具:如果一個(gè)數(shù)據(jù)庫(kù)的變更會(huì)破壞業(yè)務(wù)邏輯,那么這個(gè)工具需要馬上顯示出來(lái)。其次,進(jìn)行回歸測(cè)試。最后,確保變更的影響可以被度量,尤其是把生產(chǎn)性的數(shù)據(jù)放到生產(chǎn)性的服務(wù)器中的時(shí)候。
5. 在知識(shí)傳遞方面進(jìn)行投資
人員離職,由不同的團(tuán)隊(duì)負(fù)責(zé)開(kāi)發(fā)和維護(hù),或者必須把團(tuán)隊(duì)重新分配到不同的項(xiàng)目中,這些都是需要在知識(shí)傳遞方面進(jìn)行投資的理由。但是,不要把知識(shí)傳遞的重?fù)?dān)壓在開(kāi)發(fā)者的肩上。文檔是無(wú)法滿足這方面的需求的,走查代碼比較緩慢,而且也比較困難。應(yīng)該使用領(lǐng)域特定語(yǔ)言或可視化的語(yǔ)言,把這個(gè)工具交給工具來(lái)完成。
6. 靈活控制
在面對(duì)需要兩天才能批準(zhǔn)遷移到生產(chǎn)環(huán)境的官僚化流程的時(shí)候,只需要10秒鐘的部署流程的優(yōu)勢(shì)徹底喪失了。要實(shí)現(xiàn)真正的靈活性,有兩件事情是必需的:全面問(wèn)責(zé)制——如果問(wèn)題發(fā)生的時(shí)候,知道應(yīng)該向誰(shuí)尋求幫助;最重要的是,可以回滾一個(gè)不太成功的部署。
7. 和項(xiàng)目干系人進(jìn)行合作
越早獲得項(xiàng)目干系人的反饋,Web應(yīng)用程序開(kāi)發(fā)就會(huì)越早走上正軌。如果方向錯(cuò)誤的話,開(kāi)發(fā)速度再快也沒(méi)有意義。考慮到這一點(diǎn),項(xiàng)目干系人可以很容易地提供關(guān)于他們想看到哪些改進(jìn)的反饋是至關(guān)重要的。
看起來(lái)好像有很多工作需要做
的確——這些步驟都不是一觸而就的(但是,比起獨(dú)角獸飼養(yǎng)場(chǎng)來(lái)說(shuō),它們要更容易一些)!但是,通過(guò)這些技巧,開(kāi)發(fā)團(tuán)隊(duì)的生產(chǎn)力會(huì)得到顯著的提高。你還有一些其他的技巧要添加到這個(gè)列表中嗎?你如何讓你的團(tuán)隊(duì)的生產(chǎn)力提升一個(gè)數(shù)量級(jí)的?請(qǐng)?jiān)诹粞灾信c大家分享。
本文鏈接:http://www.95time.cn/tech/site/2011/8249.asp
出處:伯樂(lè)在線
責(zé)任編輯:bluehearts
◎進(jìn)入論壇網(wǎng)站綜合、網(wǎng)頁(yè)制作版塊參加討論
|