敏捷開發2.0

在瞭解敏捷開發2.0之前,先來了解常用的4種開發模式

常用的4種開發模式

1.瀑布式開發

瀑布式開發是由WW.Royce 在1970年提出的軟件開發模型,是一種比較老的計算機軟件開發模式,也是典型的預見性的開發模式。在瀑布式開發中,開發嚴格遵循預先計劃的需求分析、設計、編碼、集成、測試、維護的步驟進行,步驟的成果作爲衡量進度的方法,例如需求規格、設計文檔、測試計劃和代碼審閱等。 瀑布式開發最早強調系統開發應有完整的週期,且必須完整地經歷每個週期內的每個開發階段,井系統化地考量分析所涉及的技術、時間與資源 投入等。
瀑布式開發的主要問題是它的嚴格分級導致自由度降低,項目早期即作出承諾會導致對後 期需求的變化難以調整且代價很大,這在需求不明晰並且在項目進行過程中可能有變化的情況 下基本上是不可行的。
在這裏插入圖片描述

2.迭代式開發

法代式開發也被稱爲迭代增量式開發,是一種與傳統的瀑布式開發相反的軟件開發過程, 它彌補了傳統開發方式的一些弱點,有更高的成功率。在迭代式開發中,整個開發工作被組織 爲一系列短小的、固定長度的小項目,每次選代都包括需求分析、設計、實現與測試。採用迭 代式開發時, 工作可以在需求被完整地確定之前啓動, 並在一次選代中完成系統的一部分功能 或業務,再通過客戶的反饋來細化需求,並開始新一輪的迭代。
在這裏插入圖片描述
特點:

  • 每次只設計和實現產品的一部分。
  • 一步一步地完成。
  • 每次設計和實現一個階段,這叫作一個迭代。

3.螺旋式開發

螺旋式開發是由巴利 · 玻姆 CBa町 Boehm)在 1988 年正式發表的軟件系統開發模型,它 兼顧了快速原型的法代特徵及瀑布模型的系統化和嚴格監控,其最大的特點是引入了其他模型 不具備的風險分析,使軟件在無法排除重大風險時有機會停止,以減少損失。 同時,在每個法 代階段構建原型是螺旋模型用來減少風險的方法。 螺旋模型更適合大型的昂貴的系統級的軟件 開發, 一開始應用的規模很小,當項目被定義得更好、更穩定時逐漸展開。其核心在於不需要 在剛開始時就把所有事情都定義清楚,可以先定義最重要的功能去實現它,然後聽取客戶的意 見,再進入下一個階段,如此不斷循環、重複,直到得到滿意的產品。螺旋模型在很大程度上 是一種風險驅動的方法體系,因爲在每個階段及經常發生的循環之前,都必須先進行風險評估。
在這裏插入圖片描述
特點:

  • 制定計劃:確定軟件目標,選定實施方案,弄清楚項目開發的限制條件。
  • 風險分析: 分析、評估所選方案,考慮如何識別和消除風險。
  • 實施工程:實施軟件開發和驗證。
  • 客戶評估:評價開發工作,提出修正建議,制定下一步計劃。

4.敏捷開發

敏捷軟件開發又被稱爲敏捷開發,是一種從 1990 年開始逐漸引起人們的廣泛關注的新型軟 件開發方式,具有應對快速變化的需求的軟件開發能力。它的具體名稱、理念、過程、 術語都 不盡相同,相對於非敏捷開發,更強調程序員團隊與業務專家之間的緊密協作及面對面溝通, 比單純通過書面文檔溝通更有效,能更頻繁地交付新的軟件版本,使自我組織、自我約束的團 隊能夠更好地適應需求的變化,也更注重軟件開發過程中人的作用。
在這裏插入圖片描述
特點:

  • 首要任務是儘早地、持續地交付可評價的軟件,以使客戶滿意。
  • 樂於接受需求變更,即使在開發後期也是如此。敏捷軟件開發能夠駕馭需求的變化,從
    而爲客戶贏得競爭優勢。
  • 頻繁交付可使用的軟件,交付的間隔越短越好,可以從幾個月縮減到幾個星期。
  • 在整個項目開發期間,業務人員和開發人員必須朝夕工作在一起。
  • 圍繞那些有推動力的人們來構建項目,給予他們所需的環境和支持,並且相信他們能夠
    把工作做好。
  • 開發團隊及在開發團隊內部進行最快速、有效的傳遞信息的方法是面對面交談。
  • 可使用的軟件是進度的主要衡量指標。
  • 提倡可持續發展。出資人、開發人員及使用者應該共同維持穩定的開發速度。
  • 爲了增強敏捷能力,應持續關注技術上的傑出成果和良好的設計。
  • 簡潔,最小化那些沒有必要投入的工作量是至關重要的。
  • 最好的架構、需求和設計都源於自我組織的團隊。
  • 團隊定期反思如何變得更有戰鬥力,然後相應地轉變井調整其行爲。

總結瀑布式開發:

  • 瀑布式開發:在從需求到設計、從設計到編碼、從編碼到測試、從測試到提交的每個開發階段都要做到最好,特別是在前期階段設計得越完美,提交後的損失就越少。然而現 在的系統很複雜且多變,所以很難在現實中應用瀑布式開發。
  • 迭代式開發:不要求每個階段的任務都做到最好,可以容忍一些不足,先不去完善它, 將主要功能先搭建起來,以最短的時間及最少的損失完成一個不完美的成果直至提交, 然後通過客戶或用戶的反饋信息,在這個不完美的成果上逐步進行完善。
  • 螺旋開發:在很大程度上是一種風險驅動的方法體系,因爲在每個階段及經常發生的循 環之前,都必須先進行風險評估。
  • 敏捷開發:和迭代式開發相比,兩者都強調在較短的開發週期內提交軟件,但是,敏捷 開發的週期可能更短且更強調隊伍中的高度協作。敏捷方法有時被誤認爲是無計劃性和 紀律性的方法,實際上更確切的說法是敏捷方法強調適應性而非預見性,適應性的方法 主要用於快速適應需求的變化。當項 目的需求有變化時,團隊能夠迅速應對新的需求。

對比以上4種開發模式,總結如下:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章