敏捷開發框架有哪些?都有什麼特點

一個小白2020發表於2020-05-15

  現在是一個快速發展的時代,無論是做什麼事情都非常講究效率,對於軟體開發來說更是如此,為了改變傳統軟體開發方式速度慢的缺點,出現了敏捷開發方式。那麼什麼是敏捷開發呢?敏捷開發的小版本釋出又是什麼呢?下面一起來了解一下相關的知識吧!

   什麼是敏捷開發的小版本釋出

  (1)什麼是敏捷開發的小版本釋出?

  敏捷開發(Agile Development)是一種以迭代為核心、循序漸進的開發方法。在敏捷開發中,軟體專案的構建被切分成多個子專案。但是敏捷開發並不是為了盲目進行加速或出於速度考慮才選擇敏捷的版本釋出。相反,它是一種符合標準的規劃方法並且融入許多實踐經驗的開發模式。

  敏捷開發其最本質的含義是:對使用者需求的快速響應,要讓慢如蝸牛的開發變成快速的產品交付。在敏捷開發中不會拿到需求後就閉門造車,直到最後才將產品交付給客戶。而是儘量多的產品釋出,一般以周、月為單位。這樣客戶每隔一段時間就會拿到釋出的產品進行試用,而開發人員也可以從客戶那得到更多的反饋來改進產品。正因為釋出頻繁,每一個版本新增的功能簡單,不需要複雜的設計,這樣文件和設計就在很大程度上簡化了。又因為簡單設計,沒有複雜的架構,所以客戶有新的需求或者需求進行變動時,也能很快的適應。因此,敏捷開發強調小週期、小版本、快速重構。

   (2)敏捷開發小版本釋出有哪些優勢?

  從本質上說,敏捷開發小版本釋出是一種非常務實的開發方式。因為小版本的目的是要分解複雜度、降低風險,改善和提高對需求變更的能力。表現為兩個方面:一是它強調對使用者不斷變化的需求一定要儘快的快速響應,雖然使用者需求頻繁更改是最讓人惱火的。二是使用者的很多需求,在很多的情況下是無法事先全部預先想好的,是要在開發過程中不斷完善起來的。

  小版本釋出有眾多優勢,具體有以下幾個方面:

  ①總體風險比較少:小版本總是在上一個版本基礎上區域性調整和增加,變化小使到技術複雜度低;由於規劃的功能較少,工作量也易於估算,所以其總體風險比較少,常常能如期釋出。②提升需求接納能力:由於小版本快速實現併發布測試,然後就進入下一個小版本的週期,這樣新需求一旦提出就能快速進入開發視野和儘快實現。而且在變更大的時候,小版本控制能隨時將程式回覆到以前某一時間點狀態。③測試和開發高效協作:小版本能將開發環境與測試環境進行有效的隔離,使到開發和測試可以並行工作。例如,當開發實現第一個版本後,開發人員就進入下一個版本週期;測試人員測試新發布的版本並提交Bug,開發人員就可以在下一個版本結束時修正所有上一輪發現的Bug,然後釋出新版本。如此迴圈往復,開發和測試實現高效協作。④頻繁的小版本釋出可讓專案主管控制軟體開發的進度。因為透過小版本釋出能使專案主管對整個專案的進度、程式的編寫、修改情況有一個整體的瞭解。

   敏捷開發如何緩解風險:

  1. 需求風險

  敏捷開發中,產品經理作為使用者代表,他的職責就是和使用者的溝通需求、把握好產品的願景。一個好的產品經理會維護好產品需求列表,不會讓它有大的波動。而軟體開發人員則透過需求細化會議來和產品經理達成對需求的一致理解,透過迭代計劃會議確定要開發的需求,透過迭代評審會議對需求做必要的調整。這些措施都會避免發生突如其來的重大需求更改給專案帶來的風險。

   2. 進度風險

  敏捷開發中的下列實踐可以幫助緩解進度風險。

  迭代計劃會議。敏捷開發不像傳統專案那樣階段式的管理,它是一個迭代週期一個迭代週期進行的。每個迭代週期時間都不是很長,因此風險可以及時發現及時處理,這就比傳統專案更適合應對進度風險。而且,迭代週期內出現的意外變更或其它風險,也只會在下個迭代處理。所以,只要在迭代計劃會議上制定出合理的迭代計劃,那麼團隊就可以按照自己的開發節奏推進專案,避免被意外打亂計劃。

  估算團隊速率。團隊速率影響迭代計劃和版本計劃的可行性。敏捷開發在每個迭代週期都會完成需求、設計、實現、測試這些活動,所不同的只是完成的需求不同;而且每個迭代週期都很短,所以只需要1~2個迭代之後,就可以得出比較真實的團隊速率。

  現場使用者交流。軟體開發人員可以和作為使用者代表的產品經理實時進行交流,一起對需求進行細化,排定需求的優先順序。這在很大程度上避免了在開發過程中出現影響進度的大的需求變更。

  缺陷清除前移。傳統的開發模式下,缺陷清除大部分是依靠後期的測試來完成的,而這種做法往往會使得修復缺陷的時間更加漫長,影響專案進度。而敏捷開發則在每個迭代週期內都要完成測試活動,使得專案後期遺留的缺陷就會很少,進度會更加可控。

   3. 人員風險

  敏捷開發中透過培養和使用T字型人才來緩解人員風險。

  所謂T字型人才,就是指一個人在開發過程某一領域具備較深的造詣,同時在其他相關領域也具備一定能力。如一個有經驗的軟體編碼人員同時能做些詳細設計工作和測試的能力。

  這樣,當敏捷團隊中出現人員流動的情況下,就會有很多後備人才可以承擔他留下的工作。

  結對程式設計的實踐也可以很好地應對人員離開帶來的風險。畢竟結對程式設計的人員對設計和程式碼同樣熟悉,他無須任何培訓就可以接手工作。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69968176/viewspace-2692306/,如需轉載,請註明出處,否則將追究法律責任。

相關文章