提高Web應用程式開發的7個技巧

發表於2011-01-07

在找到海盜埋藏的金幣,開一個獨角獸飼養場,和娶了一個漂亮的國際超級名模以後,每個經理的夢想是什麼?當然是提升Web應用程式開發的效率。

不像金幣,神話中的動物和超級名模,這個目標是可以實現的。你可以一小步一小步地實現這個目標,逐漸地提升團隊的生產力。但是,如果你的目標是數量級上的提升,你必須要做一些深度變革才可以。(它並不像開一個獨角獸飼養場那樣困難)

在開始這個過程以前,考慮一下以下這個事實是十分重要的:構建新的Web應用程式的流程和維護現有的應用程式的流程都需要優化。畢竟,一個Web應用程式的大部分成本是在首次遷移到生產環境以後才產生的。

考慮到這一點,這裡總結出了可以幫助改善Web應用程式開發的7個技巧:

1. 自動部署

把一個Web應用程式遷移到生產環境一定要儘可能的簡單,快捷。為了實現真正的敏捷性,跟上業務發展的步伐,必須要把Web應用程式頻繁地部署到生產環境才可以,否則,延遲會跨越開發週期地堆積起來。如果把一個新版本部署到生產環境需要花費兩天的時間,那麼你的生產力會受到嚴重的影響。

2. 減少複雜性

一個應用程式越複雜,改變它就越困難。解決方案是什麼?當發現一個系統規模太大的時候,把這個系統分成幾個更小的子系統。但是,要完成這個任務,需要這樣一種技術:既可以幫助你理解複雜的系統,又可以幫助開發團隊把系統分成多個更容易管理的元件。

3. 從第一天起,就以生產為目標

對於一個時間緊迫的業務問題來說,制定一個快速的解決方案,以後再修改這個應用程式,讓它適應生產環境,是十分具有誘惑力的。這似乎看起來很敏捷,但是,在現實中,監控,可擴充套件性,日誌,使用者管理等都是不可忽略的事情。理想的解決方案是在一個可以讓你理所當然地獲得這些功能的平臺上構建這個Web應用程式。

4. 影響分析

要快速地進行改變,團隊需要確定這些改變不會破壞已經完成的工作。通過以下三個步驟,這個問題會被最小化:首先,在開發過程中,使用影響分析工具:如果一個資料庫的變更會破壞業務邏輯,那麼這個工具需要馬上顯示出來。其次,進行迴歸測試。最後,確保變更的影響可以被度量,尤其是把生產性的資料放到生產性的伺服器中的時候。

5. 在知識傳遞方面進行投資

人員離職,由不同的團隊負責開發和維護,或者必須把團隊重新分配到不同的專案中,這些都是需要在知識傳遞方面進行投資的理由。但是,不要把知識傳遞的重擔壓在開發者的肩上。文件是無法滿足這方面的需求的,走查程式碼比較緩慢,而且也比較困難。應該使用領域特定語言或視覺化的語言,把這個工具交給工具來完成。

6. 靈活控制

在面對需要兩天才能批准遷移到生產環境的官僚化流程的時候,只需要10秒鐘的部署流程的優勢徹底喪失了。要實現真正的靈活性,有兩件事情是必需的:全面問責制——如果問題發生的時候,知道應該向誰尋求幫助;最重要的是,可以回滾一個不太成功的部署。

7. 和專案干係人進行合作

越早獲得專案干係人的反饋,Web應用程式開發就會越早走上正軌。如果方向錯誤的話,開發速度再快也沒有意義。考慮到這一點,專案干係人可以很容易地提供關於他們想看到哪些改進的反饋是至關重要的。

看起來好像有很多工作需要做

的確——這些步驟都不是一觸而就的(但是,比起獨角獸飼養場來說,它們要更容易一些)!但是,通過這些技巧,開發團隊的生產力會得到顯著的提高。你還有一些其他的技巧要新增到這個列表中嗎?你如何讓你的團隊的生產力提升一個數量級的?請在留言中與大家分享。

原文:outsystem  譯文:51cto

 

相關文章