改善Web應用程序開發的7個技巧
原創【51CTO譯文】在找到海盜埋藏的金幣,開一個獨角獸飼養場,和娶了一個漂亮的國際超級名模以后,每個經理的夢想是什么?當然是提升Web應用程序開發的效率。
不像金幣,神話中的動物和超級名模,這個目標是可以實現的。你可以一小步一小步地實現這個目標,逐漸地提升團隊的生產力。但是,如果你的目標是數量級上的提升,你必須要做一些深度變革才可以。(它并不像開一個獨角獸飼養場那樣困難)
在開始這個過程以前,考慮一下以下這個事實是十分重要的:構建新的Web應用程序的流程和維護現有的應用程序的流程都需要優化。畢竟,一個Web應用程序的大部分成本是在***遷移到生產環境以后才產生的。
考慮到這一點,這里總結出了可以幫助改善Web應用程序開發的7個技巧:
1,自動部署
把一個Web應用程序遷移到生產環境一定要盡可能的簡單,快捷。為了實現真正的敏捷性,跟上業務發展的步伐,必須要把Web應用程序頻繁地部署到生產環境才可以,否則,延遲會跨越開發周期地堆積起來。如果把一個新版本部署到生產環境需要花費兩天的時間,那么你的生產力會受到嚴重的影響。
2,減少復雜性
一個應用程序越復雜,改變它就越困難。解決方案是什么?當發現一個系統規模太大的時候,把這個系統分成幾個更小的子系統。但是,要完成這個任務,需要這樣一種技術:既可以幫助你理解復雜的系統,又可以幫助開發團隊把系統分成多個更容易管理的組件。
3,從***天起,就以生產環境為目標
對于一個時間緊迫的業務問題來說,制定一個快速的解決方案,以后再修改這個應用程序,讓它適應生產環境,是十分具有誘惑力的。這似乎看起來很敏捷,但是,在現實中,監控,可擴展性,日志,用戶管理等都是不可忽略的事情。理想的解決方案是在一個可以讓你理所當然地獲得這些功能的平臺上構建這個Web應用程序。
4,影響分析
要快速地進行改變,團隊需要確定這些改變不會破壞已經完成的工作。通過以下三個步驟,這個問題會被最小化:首先,在開發過程中,使用影響分析工具:如果一個數據庫的變更會破壞業務邏輯,那么這個工具需要馬上顯示出來。其次,進行回歸測試。***,確保變更的影響可以被度量,尤其是把生產性的數據放到生產性的服務器中的時候。
5,在知識傳遞方面進行投資
人員離職,由不同的團隊負責開發和維護,或者必須把團隊重新分配到不同的項目中,這些都是需要在知識傳遞方面進行投資的理由。但是,不要把知識傳遞的重擔壓在開發者的肩上。文檔是無法滿足這方面的需求的,走查代碼比較緩慢,而且也比較困難。應該使用領域特定語言或可視化的語言,把這個工具交給工具來完成。
6,靈活的控制
在面對需要兩天才能批準遷移到生產環境的官僚化流程的時候,只需要10秒鐘的部署流程的優勢徹底喪失了。要實現真正的靈活性,有兩件事情是必需的:全面問責制——如果問題發生的時候,知道應該向誰尋求幫助;最重要的是,可以回滾一個不太成功的部署。
7,和項目干系人進行合作
越早獲得項目干系人的反饋,Web應用程序開發就會越早走上正軌。如果方向錯誤的話,開發速度再快也沒有意義。考慮到這一點,項目干系人可以很容易地提供關于他們想看到哪些改進的反饋是至關重要的。
看起來好像有很多工作需要做
的確——這些步驟都不是一觸而就的(但是,比起獨角獸飼養場來說,它們要更容易一些)!但是,通過這些技巧,開發團隊的生產力會得到顯著的提高。你還有一些其他的技巧要添加到這個列表中嗎?你如何讓你的團隊的生產力提升一個數量級的?請在留言中與大家分享。
原文作者:Mike Jones 周雪峰 譯
原文地址:http://blog.outsystems.com/aboutagility/2010/12/7-tips-to-boost-web-application-development.html
【編輯推薦】