敏捷方法

接觸敏捷方法到現在已經有5個月的時間左右,期間我們也遵循敏捷開發模式進行項目的開發。另外就是因為在面試過程中被提問到對敏捷開發的理解,所以今天我想總結下我對敏捷開發的理解。

首先我想談談我對傳統模式開發-瀑布式開發的理解。瀑布式開發是一種老的、過時的軟件開發方法。它的整個過程是:需求分析、概要設計、開發、測試、維護。由此可見它的每一個階段的輸出是下一個階段的輸入,文檔是整個階段銜接的唯一信息,它采用的是文檔驅動開發。

瀑布式開發套用自傳統的工業化生產,有論文統計這也是造成70%軟件開發失敗的原因(過程周期長、反饋周期長、難以應對變化)。所以為了改變這一狀態,在20世紀90年代,Martin Fowler和ThoughtWorks提出了敏捷方法,他們互相協助創作了“敏捷軟件開發宣言”(http://agilemanifesto.org/iso/zhchs/manifesto.html

aglie.png

經過時間修正后的解釋:“兩邊價值一樣多,但是我們刻意的選擇了左邊” —— 徐昊(ThoughtWorker)

敏捷開發(agile development)是一種以人為核心、迭代、循序漸進的開發方法,它采用的是迭代開發(迭代開發是指將一個復雜且開發周期特別長的開發任務分解成小周期且可完成的任務)。敏捷開發也包括站會、重構、CodeReview、Retro、看板等。敏捷開發的輕量級的方法包括:

  • Scrum方法
  • FDD - 特征驅動開發(Feature-Driven Development)
  • DSDM - 動態系統開發方法(Dynamic Systems Development Method)
  • Crystal - 水晶方法族(Crystal Methods)
  • XP - 極限編程(Extreme Programming)
  • ASD - 自適應軟件開發(Adaptive Software Development)
    未完待續!
    本人是小白一枚,希望大家多多指教!
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容