軟體研發中敏捷開發和迭代開發的異同

2021-09-05 01:35:29 字數 1444 閱讀 5367

在講敏捷開發之前,先了解幾個常見的軟體研發模式

瀑布模型:瀑布模型的軟體研發過程與軟體生命週期一致,由文件驅動,兩相鄰之間存在因果關係,需要對階段性的產品進行review。

螺旋模型:從制定計畫、 風險分析、實施工程(需求確認、軟體需求、軟體產品設計、設計確認與認證、詳細設計、開發、測試)、 客戶評估。每一次螺旋包括4個步驟:制定計畫、風險分析、實施工程、客戶評估。螺旋模型強調了其他模型所忽視的風險分析,特別適合於大型複雜的系統。

接下來,本文主要在以下幾個方面區別敏捷和迭代的異同

一、定義:

敏捷開發:敏捷開發以使用者的需求進化為核心,採用迭代、循序漸進的方法進行軟體開發。

迭代開發:整個開發工作被組織為一系列的短小的、固定長度(如2周-4周)的小專案,被稱為一系列的迭代,這叫迭代開發。

二、區別:

1、性質不同:迭代開發是軟體開發的生命週期模型,每乙個迭代都是乙個完整的瀑布模型,是一種開發過程;敏捷開發是多種軟體開發專案管理方法的集合,是一種開發方法。這是兩者最根本的區別。

2、開發方法模型不同:迭代開發對應的是瀑布模型,螺旋模型等;敏捷開發對應的是scrum,xp(極限程式設計),crystal(水晶程式設計)等開發方法。

3、對需求要求不同:迭代式開發適合那些需求資訊不明確的專案;而敏捷開發是緊緊圍繞使用者需求,以使用者為導向,以快速開發,快速驗證,快速修正的迭代式開發打造大量精品。

三、聯絡:

1、開發方法:

敏捷開發和迭代開發都有採用迭代的方法進行軟體開發。

2、實際應用中的聯絡:

1)敏捷開發的核心原則是擁抱變化,遞增變化。迭代式開發適合那些需求資訊不明確的專案,這樣在開發過程中遇到需求的變化時,所帶來的影響要比其他模型小。而現在的很多專案中,需求在專案進行中變化的事兒經常見,所以顯得迭代式開發的優勢更明顯一些,這正符合敏捷開發的擁抱變化。而且迭代開發是不要求每乙個階段的任務做的都是最完美的,先將主要功能先搭建起來,以最短的時間,最少的損失先完成乙個「不完美的成果物」直至提交,然後再通過客戶或使用者的反饋資訊,在這個「不完美的成果物」上逐步進行完善,這正符合敏捷開發的遞增變化。

2)敏捷開發只是乙個總體概念,而迭代式開發只是幾乎所有敏捷開發所採用的乙個主要的基礎實踐。敏捷開發除迭代式開發外,還包含了其他許多管理與工程技術實踐,如演進式架構設計、敏捷建模、重構、自動回歸測試(art)等等。總而言之,就是敏捷開發與迭代開發是整體與區域性的關係,前者就像大家庭,而後者是大家庭中的一員

3)敏捷迭代開發是對使用者反饋的核心功能進行規劃,從最小化可用產品 的使用者試用反饋,到每個功能使用者參與的反饋,形成 開發 、測試、 驗證的快速迴圈。

總結:敏捷和迭代雖然不一樣,但是它們也是分不開的,迭代和敏捷開發方式的結合,既保證了產品的質量又在專案產品的持續改進中具有一定的優勢。吸取精華,破其糟粕,只有這樣,專案才會達到趨於完美的程度。

迭代,敏捷開發和UP

什麼是軟體開發中的迭代開發?就是開發被組織成一系列固定的短期小專案,稱為迭代,每次迭代都產生,經過測試 整合並可執行的區域性系統。系統在迭代中持續擴充套件和精化,並以迴圈反饋和調整為核心驅動力,最終成為乙個程式設計系統產品。迭代開發,又被稱為增量式開發,進化式開發,或者iid iterative a...

敏捷質疑 迭代開發

迭代在於我們明確的承認資訊和知識的不完備性,不可完備性.而專案的成功,需要某種程度的完備性.這種認知的侷限與成功的條件之間的矛盾,促成了人們解決這類問題的通用方法 漸進的試錯法 試錯法參考一 試錯法參考二 是解決問題 獲得知識常用的方法,即根據已有經驗,採取系統或隨機的方式,去嘗試各種可能的答案。當...

敏捷質疑 迭代開發

迭代在於我們明確的承認資訊和知識的不完備性,不可完備性.而專案的成功,需要某種程度的完備性.這種認知的侷限與成功的條件之間的矛盾,促成了人們解決這類問題的通用方法 漸進的試錯法 試錯法參考一 試錯法參考二 是解決問題 獲得知識常用的方法,即根據已有經驗,採取系統或隨機的方式,去嘗試各種可能的答案。當...