當前位置:編程學習大全網 - 編程語言 - 敏捷方法的特點

敏捷方法的特點

敏捷方法是壹種從1990年代開始逐漸引起廣泛關註的壹些新型軟件開發方法,是壹種應對快速變化的需求的壹種軟件開發能力。它們的具體名稱、理念、過程、術語都不盡相同,相對於“非敏捷”,更強調程序員團隊與業務專家之間的緊密協作、面對面的溝通(認為比書面的文檔更有效)、頻繁交付新的軟件版本、緊湊而自我組織型的團隊、能夠很好地適應需求變化的代碼編寫和團隊組織方法,也更註重軟件開發中人的作用。

敏捷開發

敏捷開發(agile development)是壹種以人為核心、叠代、循序漸進的開發方法。在敏捷開發中,軟件項目的構建被切分成多個子項目,各個子項目的成果都經過測試,具備集成和可運行的特征。簡言之,就是把壹個大項目分為多個相互聯系,但也可獨立運行的小項目,並分別完成,在此過程中軟件壹直處於可使用狀態。

敏捷開發是全新理論嗎?答案莫衷壹是。細心的人們可以發現,敏捷開發其實借鑒了大量軟件工程中的方法。叠代與增量開發,這兩種在任何壹本軟件工程教材中都會被提到的方法,在敏捷開發模式中扮演了很重要的角色。再向前追溯,我們還也可見到瀑布式與快速原型法的影子,也許還有更多。

改善,而非創新。敏捷開發可理解為在原有軟件開發方法基礎上的整合——取其精華,去其糟粕。因此敏捷開發繼承了不少原有方法的優勢。“在敏捷軟件開發的過程中,我們每兩周都會得到壹個可以工作的軟件,”Fowler介紹,“這種非常短的循環,使終端客戶可以及時、快速地看到他們花錢構建的軟件是壹個什麽樣的結果。”

也許是因為時間關系,Fowler只說出了這些優勢中的壹部分。允許開發過程中的需求變化、通過早期叠代可以較早發現風險、使代碼重用變得可行、減少項目返工……借鑒了眾多先進方法和豐富經驗,擁有的眾多優勢使得敏捷開發看來已經成為解決軟件危機的標準答案。

問題與思考

然而,我們不得不面對的現實卻是,模式與方法的優化並不意味著問題的終結。作為壹種開發模式,敏捷開發同樣需要面對眾多挑戰。

大項目的拆分意味著更多子項目的出現,協調這些同步或異步推進的子項目,合理的資源調配都將變得更加復雜。另外,在當前項目和項目組普遍“增容”的情況下,遇到的問題同樣成倍增長。人的重要性被提到了更高的高度,而缺乏有效協調手段,減少人員流動和項目變更對整個項目造成的影響也將成為壹大挑戰……新方法帶來眾多便利的同時,也相應引發了幾乎同樣多的問題。

敏捷開發(agiledevelopment)概念從2004年初開始廣為流行。Bailar非常支持這壹理論,他采取了"敏捷方式"組建團隊:Capital One的"敏捷團隊"包括3名業務人員、兩名操作人員和5~7名IT人員,其中包括1個業務信息指導(實際上是業務部門和IT部門之間的"翻譯者");另外,還有壹個由項目經理和至少80名開發人員組成的團隊。這些開發人員都曾被Bailar送去參加過"敏捷開發"的培訓,具備相關的技能。

每個團隊都有自己的敏捷指導(Bailar聘用了20個敏捷指導),他的工作是關註流程並提供建議和支持。最初提出的需求被歸納成壹個目標、壹堆記錄詳細需要的卡片及壹些供參考的原型和模板。在整個項目階段,團隊人員密切合作,開發有規律地停頓--在9周開發過程中停頓3~4次,以評估過程及決定需求變更是否必要。在Capital One,大的IT項目會被拆分成多個子項目,安排給各"敏捷團隊",這種方式在"敏捷開發"中叫"蜂巢式(swarming)",所有過程由壹名項目經理控制。

  • 上一篇:四川父親用廢棄輪胎打造奧特曼送給兒子做生日禮物!妳認為這有何意義?
  • 下一篇:熱探針怎麽使用?
  • copyright 2024編程學習大全網