敏捷軟體開發

2021-09-22 06:58:26 字數 1908 閱讀 2625

隨著軟體規模的不斷擴大、軟體涉及的領域越來越廣,客戶對軟體要求也越來複雜,這一點的最直接的體現就是軟體需求的變化越來越頻繁。敏捷軟體開發正是為了應對這一問題而誕生的軟體工程學方法。它以適應性的過程代替傳統的**型的過程代替傳統的**性的過程,在很大程度上滿足了現代商業軟體業務複雜、需求多變、時間要求緊迫等特點。

敏捷軟體開發的倡導「個體和協作勝於過程;可工作的軟體勝於完整的文件;客戶協作勝於合同;響應變化勝於遵循計畫」的軟體開發方式,以人為核心,注重交流和協作,強調軟體可持續發展,實現頻繁交付對客戶最重要的價值。

敏捷軟體包含敏捷專案管理、敏捷需求管理和敏捷軟體方法三個部分。

一、敏捷專案管理

敏捷是一種態度而不是乙個流程,是一種氛圍而不是方法。敏捷專案管理強調的是溝通:與客戶之間的溝通、專案成員之間的溝通。基於這一思路,敏捷專案管理更重視與「人」的作用,要求專案的組織形式具有以下特點:

1,很強的文化適應性。

2,最低限度的規則,鼓勵自我組織,並結合自律以遵守哪些規則。

3,很好的協作和溝通環境。

從以上三點可以看出,敏捷專案管理對人的限制很低,這與傳統軟體工程中把「人」做為生產流水線上的乙個環節進行管理的方式截然不同!軟體業是科技密集型的產業,軟體產品的最終質量更多的取決與軟體開發人員的素質和態度,而不是軟體的開發過程和開發裝置,這也是軟體業與傳統行業差距最大的地方。敏捷專案管理的最終著眼點便是如何提高軟體開發人員的素質和如何激發軟體開發軟體的熱情,從而提高最終軟體的質量。

但是從另一方法,採用敏捷專案管理,也必然要求專案成員具有更高的專業技能和專業素養,以防止寬鬆的環境導致的消極怠工等現象。

二、敏捷需求管理

軟體開發的最終著眼點是如何滿足使用者的需求。這些需求通常是複雜的、模糊的,甚至是不確定的。敏捷需求管理採用增量交付的軟體開發流程,借助其與客戶持續溝通的特點,不斷的校準軟體的開發防線,逼近使用者的最終需求,使最終開發出來的軟體滿足客戶的要求。

增量交付的軟體流程如圖1所示。該流程最重要一點在於「增量交付」,軟體以模組化的方式進行開發,通常乙個模組的開發周期是一至兩周。每個模組開發完成後,按照正規的發布流程發布,交付給客戶試用。在客戶使用過程中,了解客戶對當前完成功能的意見。然後與客戶溝通,一起制定下一輪開發的計畫。

該流程的最大好處在於客戶全程參與軟體的開發,把握軟體的目前的開發狀態,確保軟體實現的功能能夠滿足使用者的需求。

但是另一方面,增量的交付也對軟體開發技術提出了更高的要求:模組化的開發方式要求更徹底的解耦合;需求的變化要求軟體架構具有更高的靈活性;增量交付要求對發布過程的高度自動化等等。

三、敏捷軟體方法

對應於以人為本的敏捷專案管理和以增量交付的敏捷需求管理,敏捷軟體開發提供很多具體的方法指導軟體的開發實踐,這些方法包括重構、結對程式設計、測試驅動、持續整合等,以下簡要介紹重構和結對程式設計。

1,重構。

重構即在不改變既有**的行為的前提下,改善**的設計。重構的目的是為了消除**重的「壞氣味」,從而達到放置**腐爛的目的。

常見的重構的手法有「重新命名」、「抽出新方法」、「包裝成員」、「將方法在繼承層次中移動」等。

重構通常以設計模式作為目標,以單元測試作為保證**正確性的手段。

2,結對程式設計

結對程式設計即兩個開發人員使用一台電腦進行開發,通常是乙個人操作另乙個人,另乙個人輔助,一段時間後,兩人交換。這種看似降低了一半的開發效率開發方式具有以下優點:

第一,所有的決定都是有兩個人共同做出的,並且所有的**是在兩個人的配合下寫出的,這大大降低了bug的產生機率,從而縮短了除錯所需要的時間。

第二,所有的**至少有兩個人了解,這降低了**對開發人員的依賴性,防止開發人員的離職對專案造成的影響。

敏捷軟體開發為現代商用軟體量身打造。經過這幾年的發展,無論在專案的開發方式,還是在具體實踐方法上,都有形成了自己的特色,與傳統的開發方式分庭抗衡。

敏捷軟體開發

敏捷軟體開發 英語 agile software development 又稱敏捷開發,是一種從1990年代開始逐漸引起廣泛關注的一些新型軟體開發方法,是一種應對快速變化的需求的一種軟體開發能力。它們的具體名稱 理念 過程 術語都不盡相同,相對於 非敏捷 更強調程式設計師團隊與業務專家之間的緊密協作...

敏捷軟體開發

我們知道,傳統的開發模式已經不能不適用於現在情況,原因有很多 需求經常發生變化,軟硬體更新速度很快等,這些原因都使得傳統不管是 瀑布模型 還是 增量 不管是 快速原型 還是 螺旋 模型,這些軟體開發的模型,不在實用了。所以,在2001年,敏捷宣言提出,標誌著敏捷開發模型初步形成。那麼敏捷開發和傳統開...

敏捷軟體開發

1.敏捷宣言 個體與互動 勝過 過程和工具 可用的軟體 勝過 完備的文件 客戶協作 勝過 合同談判 響應變化 勝過 遵循計畫 2.什麼事敏捷軟體開發 一種軟體開發方 可以應對客戶快速變更的需求,他強調以人為核心,採用迭代的方式,循序漸進的開發軟體。3.scrum 是乙個敏捷開發過程框架,將整個開發周...