在 創建敏捷宣言 時,有不少“輕量級”開發流程;此後出現了其他此類方法。它們現在統稱為“敏捷”方法。
- 敏捷是一種思考和行動的方式。
- 敏捷 是一種心態,一套價值觀和原則。
- 敏捷是關於短週期、迭代和增量交付、快速失敗、獲得反饋、及早向客戶交付業務價值,以及人員、協作和交互。
敏捷是一種關於透明度、檢查和適應的思考方式。但是,敏捷不包含任何角色、事件或工件。這是一種心態。
例如
Scrum 是敏捷方法保護傘下廣泛使用的框架之一。
它可以幫助你變得更加敏捷,但是在敏捷運動中還有更多的框架,比如看板、XP、水晶等,如下圖所示:
1. Scrum
這是一種非常流行的方法,它藉用了足球 scrum的名稱 ,並用它來比喻:
- 每日站立 會議,
- Scrum 的迭代很短。每次迭代都專注於交付由 Scrum 團隊開發的工作軟件,
- Sprint 和產品具有嚴格的優先級“積壓”,並且
- 分配“產品負責人”角色來設置優先級。
- 維護敏捷最佳實踐的“ Scrum Master ”
2.極限編程(XP)
XP 是一套工程實踐。開發人員必須超越他們的能力來實施這些實踐。團隊計劃少量工作並在稱為 1-4 週迭代的短時間內構建。
XP 與其他迭代框架的主要區別在於,XP 側重於需要達到極端水平的軟件工程實踐。例如,XP 將代碼審查視為極端行為,並通過結對編程鼓勵 100% 的同行審查。
3. 快速應用程序開發 (RAD)
Rap 不僅是一系列敏捷和迭代方法的總稱,也是 James Martin (1991) 描述的一種方法。Rad負責分析、設計、構建和測試階段,並迭代開發原型和增加功能的版本。
4.動態系統開發方法(DSDM)
DSDM 是一種敏捷軟件開發方法。它是一種迭代和增量的方法,主要基於快速應用程序開發(RAD)方法。
但是,RAD 方法通常是非結構化的,並且 rad 團隊之間沒有共同的流程。因此,每個組織都建立了自己的方法和框架,劃分了標準,很難招募到有經驗的輻射從業者。為了解決這個問題,DSDM應運而生。
該方法提供了一個四階段框架,包括:
- 可行性和商業研究
- 功能模型/原型迭代
- 設計和構建迭代
- 執行
5.統一流程(UP)
Up 是一個具有多種實現的迭代和增量框架,包括 RUP、Open-UP 和 Agile-UP。一個高度可定制的框架,具有以架構為中心和以風險為中心的 rad 方法。UP的每個階段稱為初始階段、細化階段、構建階段和過渡階段,每個階段都有不同的側重點。
6. 精益方法
精益 起源於 1970 年代的製造業。Mary 和 Tom Popendieck (2003) 在他們的書精益軟件開發中將精益原則應用於軟件開發。精益專注於為客戶提供價值並消除流程中的浪費。
7.看板
看板:一種起源於精益製造的方法,由 David Anderson (2010) 進一步發展。看板基於工作流可視化,通常在物理板上,解決導致問題的問題,限制團隊正在進行的工作並平衡團隊的需求。
概括
敏捷開發 是軟件開發行業的熱詞之一。這是管理軟件開發項目的另一種方式。它不是一種特定的軟件開發方法,而是基於敏捷宣言所表達的價值觀和原則的一套方法和實踐的總稱。解決方案是通過自組織、跨職能團隊之間的協作,使用適合其環境的適當實踐來開發的。
今天還有許多其他的敏捷方法在使用。這包括 scrumban、 Crystal、 BDD 、 TDD、 FDD 等混合方法,以及各個公司開發的許多內部定制。