敏捷軟件開發的現狀及其在中國的發展

敏捷 軟件開發的現狀及其在中國的發展

近幾年,敏捷軟件開發在軟件工業界有了良好的發展勢頭並逐漸被推廣開來。一些著名的公司如 Google, Microsoft Yahoo 和衆多的中小公司 都已經開始採用敏捷開發,尤其是 Scrum 。它們中的許多已經有了較長時間的經驗。中國的許多開發團隊這幾年也在逐漸接受並應用這種開發模式。

敏捷 軟件開發的發展現狀

  一種軟件開發方法被業界普遍接受並流行起來可能需要十年或二十年的時間。從 Scrum 和極限編程誕生以及被應用到現在已經有 20 多年的歷史了。精益軟件開發模式也有已近 10 多年的歷史。現在,這些敏捷方法正在取得良好的發展,越來越多的人開始關注它們。

   Scrum Alliance 是敏捷開發發起人之一 Ken Schwaber 創辦的一個 Scrum 諮詢公司。除了組織會議和提供關於 Scrum 的相關諮詢服務外, Scrum Alliance 公司的最大的特點是開創了 Scrum 認證系統,用以對 Scrum 人員進行認證。該系統分別有培訓和認證兩個過程。它有五種類型的證書: Scrum 專家( Certified  Scrum Masters )、產品所有者( Product Owners )、 Scrum 行業者( Scrum Practitioners )、 Scrum 教練( Scrum Coach )和 Scrum 培訓師( Certified  Scrum Trainer )。 Scrum 培訓師證書是提供 Scrum 顧問給團隊進行 Scrum 培訓和認證的。 Scrum 專家產品所有者和 Scrum 行業者證書則是側重於對團隊進行 Scrum 項目的實際應用培訓和認證。這些證書已經獲得軟件行業的廣泛接受。每年有成千上萬的人在培訓和認證過程中獲得提高併爲公司帶來效益。

  另一個主要的有關敏捷開發的組織是敏捷聯盟( Agile Alliance )。敏捷聯盟是一個由對敏捷開發感興趣的個人和公司組成的聯盟。該組織的主要活動包括出版刊物,組織討論小組,組織會議等。其中一個比較重要的會議是一年一度的敏捷會議( Agile Conference )。它已經成爲一次著名的會議,吸引着世界各地從事敏捷開發的研究人員、項目經理、開發者、公司和顧問團等。 許多在會議上提交的文章都被收入並發表在 IEEE 相關刊物上。

  另一方面,各種類型,各種規模的公司都逐漸開始關注敏捷開發。科技巨頭如 Google, Yahoo, IBM Microsoft 使用敏捷開發已經很多年。他們通常選擇某幾個開發團隊來試用敏捷開發模式,然後將開發經驗推廣到其他的開發團隊中去。中小型軟件公司以其靈活創新的特點,更加適合敏捷開發。許多公司都已經把開發團隊完全轉型到敏捷開發模式下。根據 Forrester 公司, “Dr. Dobb’s Journal” ,和 Methods and Tools 針對 2005 2008 年的行業調查報告顯示,在美國和歐盟,對敏捷的認識和採用率以每年 50% 左右的速度增長。如果用傑弗裏摩爾( Geoffrey Moore )的技術採納生命週期理論( Technology Adoption Life Cycle theory )來分析這一數據,我們會發現敏捷方法已經過了創新( innovators )和初期採用( early adopters )階段,目前已進入早期多數( early majority )階段。很顯然,敏捷方法將在早期多數( early majority )階段加速採用率的增長勢頭,並被更廣泛的企業所接受。

爲方便 敏捷 項目的管理,許多公司推出了針對 敏捷開發 的項目管理軟件。其中比較流行的商業軟件有 ScrumWorks, VersionOne, Rally 等等。這些工具的出現已有一段時間,他們遵循傳統的軟件產品發展模式因而積累了繁多的功能,大多數敏捷團隊可能只會用到其中少數的一些功能。其它還有很多種類似的工具 , 比如 ExtremePlanner, TargetProcess, Scrum For Team System, JIRA 等等。相信讀者在互聯網上會很容易找到它們的相關資料。在開源工具方面,比較流行的有 XPlanner, XPWeb, Trac 等等。這些工具有些和敏捷開發並無直接聯繫。我們的中國公司開發了 GScrum™ 。這是中國第一歀產品化的此類軟件。 GScrum™ 是一個基於 WEB RIA (Rich Internet Application) 的敏捷項目協作平臺。敏捷團隊可以通過瀏覽器在任何地方使用 GScrum™ 的服務。 GScrum™ 側重於團隊的合作和溝通,被應用於我們自己客戶的項目管理中,受到了廣泛好評。 GScrum™ Scrum 和精益( Lean )開發結合起來,團隊可以針對不同的項目調整使用不同的方法。它的功能集中而不繁雜,簡單易用。同時, GScrum™ 可以讓有協作關係的不同公司和不同地域的團隊在同一個項目中安全方便地合作,這對軟件公司和客戶以及夥伴公司的協作會有很大的幫助。

敏捷 在中國

     敏捷在中國剛剛開始被採納。中國的軟件開發羣體在近幾年開始使用敏捷方法,所以只有很少的一些有關組織和公司。而且大部分使用敏捷方法的公司都集中在外資跨國企業如 IBM SUN ,以及一些軟件外包公司如文思創新( Vanceinfo )等。同時也有一些比較前沿的國內公司如騰訊等率先推廣了敏捷開發。可以說中國的敏捷採用率仍然停留在技術採納生命週期的初期試用( early adopters )階段。儘管如此,中國的軟件工業中存在着敏捷方法迅速發展的契機.

首先,在中國,大規模的軟件公司只有少數幾個,剩下的大多數開發團隊規模都不大,開發團隊都不會超過 200 人。這些團隊大多采用手工作坊的工作方式, 沒有正規的開發方法,許多事情的處理往往取決於他們技術領導的個人風格。這有時被稱爲“實用主義”。“實用主義”看起來很高效,沒有任何管理開銷和束縛。但這種方式有幾個缺點。首先,這樣的團隊效績和產品的質量不穩定,往往時好時壞。其次,這樣很難形成有凝聚力的自我管理的團隊。如果團隊的核心人物離職或出了其它問題,整個團隊就立即喪失了組織力,或整個團隊就要去適應另一種開發風格。再有,這種團隊往往也缺少一種有序自覺的學習和自我提高機制,而開發效率的停滯就是對人才的浪費和不負責任。總之,這種方式的最大缺點就是質量和效率的隨機性和不穩定性,很難和職業化的軟件開發競爭。顯然,這些並不是什麼好事。但另一方面,在轉向使用敏捷開發模式的過程中這些團隊比其它團隊面臨更少的障礙,消耗更少的資源。換言之,他們沒有成型的模式,沒有過多的包袱,採用敏捷開發模式讓他們失去的很少,但能獲得很多。這些公司的規模也有利於敏捷方法的實施。他們規模較小並且在同一個地方工作, 採用敏捷開發更容易、風險更少,敏捷也更適用於他們。

其次,正在發生的本次經濟危機讓許多公司重新評估自己的日常支出和運營效率。許多大規模的裁員和人事的凍結讓這些公司感覺到資源的有限。在這種情況下,對現有資源效率的提高將對提高公司的競爭力和長期的發展起到更爲至關重要的作用。另外,對於中國來說,在過去幾年基礎設施和硬件發展有了很大的提高。但相應的管理和服務並未同步跟上。這些管理和服務項目將促使政府部門,銀行,電信公司以及其它的中國企業對軟件的開發和應用投入更大的力量。再加上中國政府爲應對經濟危機的大規模投入,未來的幾年,中國的軟件市場將比其他國家和地區發展得更爲迅猛,以滿足中國自身的需要和麪對世界各國加劇的商業競爭和挑戰。敏捷開發會爲中國的軟件服務和產品帶來我們最需要的質量和效率的提高。這爲敏捷模式在中國的迅猛發展提供了難得的時機。

第三,中國文化中存在許多適合敏捷開發的元素。《敏捷宣言》的第一條便把人和人們的協作放在了規程和工具的前面。在中國文化的深層,無論政府機關,企業或家庭, 更多的是以人爲核心,而非規程和條例 。這符合敏捷重視人多於過程的精神。如果這一點能被仔細的研究和應用於整個團隊,將更容易激發團隊成員的積極性和創造性,提高軟件開發的質量和速度。還有,敏捷開發對傳統的西方式由上至下多層次的職業管理提出了挑戰。現在,很多人都在關心和討論管理層需要如何改變以更好地適應敏捷模式。其中一點是,敏捷要求管理層更簡潔並更注重服務於團隊。在中國,公司和項目管理並不是很職業化。從這種起點轉向敏捷可能更直接、簡單。另外,中國的很多軟件開發人員習慣於幾乎無計劃的隨心所欲的代碼編寫。這在西方被稱爲牛仔編碼( cowboy coding )。這種風格離敏捷的距離似乎比應用瀑布模型或CMMI 標準的專業開發風格更小。許多其他的中國文化因素,比如關注細節,節儉,以及面對變化的適應能力等都爲敏捷開發在中國軟件業的發展提供了有力的支持。

  這些獨特的中國文化元素和業界特點爲敏捷開發的發展和實施提供了先天的條件。如果中國的軟件業界能夠在敏捷開發的理論與實踐方面迎頭趕上並有所創新,敏捷開發一定能爲中國的軟件產業效率和質量的提高,和進入甚至領先國際市場起到決定性的推動作用。我們相信,敏捷在中國很快就會迎來一個迅猛的發展時期。

 

發佈了25 篇原創文章 · 獲贊 6 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章