2012年11月5日 星期一

[手機]應用軟件的「敏捷開發」模式:從小米MIUI談起






MIUI不僅擁有大量小米擁躉,也得到了許多其他品牌手機用戶的喜愛

  小米手機的用戶或許已經發現,手機所使用的Android ROM“MIUI”,自推出以來每週都會發佈一次更新。小米CEO雷軍曾表示,MIUI採用了敏捷開發(agile develolment)的模式,因此可以在短時間內完成開發,實現軟件快速迭代。用戶對MIUI這一ROM的質量或許見仁見智,不過,什麼是“敏捷開發”?

  作為一種相對新穎的產品開發模式,敏捷開發這一概念提出於2001年2月。當時17名軟件工程師在美國猶他州Snowbird舉行會議,討論輕量級軟件開發方法,並發佈了《敏捷軟件開發宣言》。這標誌著敏捷開發的誕生。這一模式隨後被矽穀創業公司大量應用,並於近幾年被引入國內。

  最初的“敏捷宣言”強調:個人和互動比流程和工具更重要;可運行的軟件比複雜的文檔更重要;與客戶的合作比合同談判更重要;對改變的響應比跟隨計劃更重要。

  因此在敏捷開發模式中,一個項目被分解為多個部分或多個步驟。在每個階段完成後,項目都可以拿出一定程度可交付的產品。這樣做便於實現產品交付目標,降低整個項目的複雜度,同時在項目早期就能拿出初具雛形的產品。

  以MIUI為例,早在2010年,MIUI就已經出現,並逐步培養起了一批用戶。然而,最初版本的MIUI僅僅只是Android系統的一個界面。當前MIUI中用戶熟悉的語音助手、應用超市、防打擾功能,甚至手電筒應用,都沒有被包括在其中,而是在過去3年的開發過程中逐漸加入。每週的更新中,有相當一部分是為了修複bug所做的更新,這也是分用戶覺得它“為了更新而更新”的原因。

  總的來說,敏捷開發要求團隊有極高的執行力:增量開發目標提出來容易,但是能力不夠就不能按時交付──這也是許多企業在實際執行中,發現項目無法獲得預期效果的原因。同時要求測試驅動開發,以便出現問題時,能迅速定位是由哪一步、哪個模塊引起。而作為創業型公司,“快速迭代”能在初期吸引足夠擁躉,從而為後期推廣鋪平道路。

  (李瑋)