什麼是敏捷開發?它有什麼特點
隨著軟體開發技術的不斷髮展,現在出現了很多種不同的開發模式,其實敏捷開發已經成為現在很多企業開發應用程式都想要選擇的開發方案。那麼什麼是敏捷開發呢?下面一起來了解一下相關的知識吧!
常用的 4 種開發模式:
1.瀑布式開發
瀑布式開發是由 WW.Royce 在 1970 年提出的軟體開發模型,是一種比較老的計算機軟體開發模式, 也是典型的預見性的開發模式。在瀑布式開發中,開發嚴格遵循預先計劃的需求分析、設計、編碼、整合、測試、維護的步驟進行,步驟的成果作為衡量進度的方法,例如需求規格、設計文件、測試計劃和程式碼審閱等。 瀑布式開發最早強調系統開發應有完整的週期,且 必須完整地經歷每個週期內的每個開發階段,井系統化地考量分析所涉及的技術、時間與資源投入等。
瀑布式開發的主要問題是它的嚴格分級導致自由度降低,專案早期即作出承諾會導致對後 期需求的變化難以調整且代價很大,這在需求不明晰並且在專案進行過程中可能有變化的情況 下基本上是不可行的。
2.迭代式開發
法代式開發也被稱為迭代增量式開發,是一種與傳統的瀑布式開發相反的軟體開發過程, 它彌補了傳統開發方式的一些弱點,有更高的成功率。在迭代式開發中,整個開發工作被組織 為一系列短小的、固定長度的小專案,每次選代都包括需求分析、設計、實現與測試。採用迭代式開發時, 工作可以在需求被完整地確定之前啟動, 並在一次選代中完成系統的一部分功能 或業務,再透過客戶的反饋來細化需求,並開始新一輪的迭代。
迭代式開發有如下特點:
每次只設計和實現產品的一部分;
一步一步地完成;
每次設計和實現一個階段,這叫作一個迭代。
3.螺旋式開發
螺旋式開發是由巴利 · 玻姆在 1988 年正式發表的軟體系統開發模型,它兼顧了快速原型的法代特徵及瀑布模型的系統化和嚴格監控,其最大的特點是引入了其他模型不具備的風險分析,使軟體在無法排除重大風險時有機會停止,以減少損失。 同時,在每個法 代階段構建原型是螺旋模型用來減少風險的方法。 螺旋模型更適合大型的昂貴的系統級的軟體開發, 一開始應用的規模很小,當專案被定義得更好、更穩定時逐漸展開。其核心在於不需要 在剛開始時就把所有事情都定義清楚,可以先定義最重要的功能去實現它,然後聽取客戶的意 見,再進入下一個階段,如此不斷迴圈、重複,直到得到滿意的產品。螺旋模型在很大程度上 是一種風險驅動的方法體系,因為在每個階段及經常發生的迴圈之前,都必須先進行風險評估。
特點:
制定計劃:確定軟體目標,選定實施方案,弄清楚專案開發的限制條件。
風險分析: 分析、評估所選方案,考慮如何識別和消除風險。
實施工程:實施軟體開發和驗證。
客戶評估:評價開發工作,提出修正建議,制定下一步計劃。
4.敏捷開發:
敏捷開發(Agile)是一種以人為核心、迭代、循序漸進的開發方法。在敏捷開發中,軟體專案的構建被切分成多個子專案,各個子專案的成果都經過測試,具備整合和可執行的特徵。簡單地來說,敏捷開發並不追求前期完美的設計、完美編碼,而是力求在很短的週期內開發出產品的核心功能,儘早釋出出可用的版本。然後在後續的生產週期內,按照新需求不斷迭代升級,完善產品。
敏捷軟體開發特點:
首要任務是儘早地、持續地交付可評價的軟體,以使客戶滿意。
樂於接受需求變更,即使在開發後期也是如此。敏捷軟體開發能夠駕馭需求的變化,從 而為客戶贏得競爭優勢。
頻繁交付可使用的軟體,交付的間隔越短越好,可以從幾個月縮減到幾個星期。
在整個專案開發期間,業務人員和開發人員必須朝夕工作在一起。
圍繞那些有推動力的人們來構建專案,給予他們所需的環境和支援,並且相信他們能夠把工作做好。
開發團隊及在開發團隊內部進行最快速、有效的傳遞資訊的方法是面對面交談。
可使用的軟體是進度的主要衡量指標。
提倡可持續發展。出資人、開發人員及使用者應該共同維持穩定的開發速度。
為了增強敏捷能力,應持續關注技術上的傑出成果和良好的設計。
簡潔,最小化那些沒有必要投入的工作量是至關重要的。
最好的架構、需求和設計都源於自我組織的團隊。
團隊定期反思如何變得更有戰鬥力,然後相應地轉變井調整其行為。
敏捷開發模式的分類
敏捷開發的實現主要包括 SCRUM、XP(極限程式設計)、Crystal Methods、FDD(特性驅動開發)等等。其中 SCRUM 與 XP 最為流行。
同樣是敏捷開發,XP 極限程式設計 更側重於實踐,併力求把實踐做到極限。這一實踐可以是測試先行,也可以是結對程式設計等,關鍵要看具體的應用場景。
敏捷開發與 DevOps:
DevOps 是 Development 和 Operations 的合成詞,其目標是要加強開發人員、測試人員、運維人員之間的溝通協調。如何實現這一目標呢?需要我們的專案做到持續整合、持續交付、持續部署。 平臺或零程式碼開發平臺也是敏捷開發的一種產物,都可以提高軟體開發的效率。
敏捷開發是一種快速開發應用程式的方式,以最快的途徑完成應用程式的開發,幫助企業提高應用程式的交付速度。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69968176/viewspace-2691209/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 什麼是Hive?它有哪些特點和特性?Hive
- 【Java面試】什麼是守護執行緒,它有什麼特點Java面試執行緒
- 敏捷開發框架有哪些?都有什麼特點敏捷框架
- 什麼是zoom?它有什麼作用?OOM
- 敏捷是什麼?敏捷
- Linux是什麼意思?Linux有什麼特點?Linux
- 什麼是JavaScript及其特點(轉)JavaScript
- 什麼是web2py框架?它有什麼作用呢?Web框架
- 敏捷開發是一個什麼樣的開發模式敏捷模式
- 什麼是AngularJS?它有哪些特性?AngularJS
- 什麼是響應式網頁?有什麼特點呢?網頁
- 什麼是Go語言?Go語言有什麼特點?Go
- 網路安全中蜜罐是什麼意思?有什麼特點?
- js依賴注入的實現思路是什麼?它有什麼優缺點呢?JS依賴注入
- 熱點淺談:低程式碼開發平臺是什麼?低程式碼具備什麼特點?
- 網路安全中什麼是APT攻擊?主要特點是什麼?APT
- 【網路安全】什麼是暗網?暗網的特點是什麼
- 面試官:Kafka是什麼,它有什麼特性與使用場景?面試Kafka
- 面試官:ElasticSearch是什麼,它有什麼特性與使用場景?面試Elasticsearch
- 面試官:RocketMQ是什麼,它有什麼特性與使用場景?面試MQ
- 面試官:Zookeeper是什麼,它有什麼特性與使用場景?面試
- 舉例說明什麼是IIFEs?它有什麼好處?
- 高安全等級網路是什麼意思?有什麼特點?
- 國密瀏覽器是什麼?有哪些?有什麼特點?瀏覽器
- 【知識分享】web伺服器是什麼有什麼特點Web伺服器
- 什麼是APT攻擊?其特點及過程分別是什麼?APT
- 什麼是敏捷估計?敏捷
- 敏捷測試是什麼?敏捷測試
- 三分鐘讓你理解什麼是敏捷開發,這才是敏捷開發......敏捷
- apache伺服器的特點是什麼Apache伺服器
- Linux學習教程之什麼是Redis?Redis有什麼特點?LinuxRedis
- 什麼是Linux系統?Linux系統有什麼特點?Linux
- 企業微信scrm管理系統是什麼意思?有什麼特點?
- Rust語言最獨特的特點是什麼? - RedditRust
- 什麼是零程式碼應用開發平臺?它有哪些功能模組
- Python是什麼?具有怎麼樣的特點呢?Python
- 什麼是敏捷專案管理?敏捷專案管理
- 什麼是資源子網和通訊子網有什麼特點