
自適應軟體開發 - 簡介
什麼是敏捷?
從文學角度來說,“敏捷”一詞指的是能夠快速輕鬆地移動的人,或者能夠快速清晰地思考和行動的人。在商業領域,“敏捷”用於描述計劃和開展工作的方式,其中理解到根據需要進行更改是工作的重要組成部分。商業“敏捷性”意味著公司始終能夠考慮到市場變化。
在軟體開發中,“敏捷”一詞被用來表示“應對變化的能力——來自需求、技術和人員的變化”。
敏捷宣言
敏捷宣言由一群軟體開發人員於2001年釋出,強調了開發團隊的重要性、適應不斷變化的需求以及客戶參與的重要性。
敏捷宣言是:
我們正在透過實踐和幫助他人實踐來發現更好的軟體開發方法。透過這項工作,我們開始重視:
- 個體和互動 高於 流程和工具。
- 可工作的軟體 高於 詳盡的文件。
- 客戶合作 高於 合同談判。
- 響應變化 高於 遵循計劃。
也就是說,儘管右邊的專案也具有一定的價值,但我們更重視左邊的專案。
敏捷的特徵
以下是敏捷的特徵:
在敏捷軟體開發中,敏捷性側重於整個團隊的文化,包括具有多學科、跨職能的團隊,這些團隊具有授權和自我組織的能力。
它培養了共同的責任和問責制。
促進有效的溝通和持續的協作。
整個團隊的方法避免了延遲和等待時間。
頻繁且持續的交付確保了快速反饋,而反饋又能夠使團隊與需求保持一致。
協作有助於及時將不同的觀點融入到實施、缺陷修復和適應變化中。
進度是持續的、可持續的和可預測的,強調透明度。
敏捷方法
敏捷方法的早期實現包括Rational統一過程、Scrum、Crystal Clear、極限程式設計、自適應軟體開發、特性驅動開發和動態系統開發方法(DSDM)。在2001年敏捷宣言釋出後,這些方法現在被統稱為敏捷方法。
在本教程中,我們將學習敏捷方法——**自適應軟體開發**。
什麼是自適應軟體開發?
自適應軟體開發是朝著自適應實踐邁進的一步,它摒棄了複雜系統和複雜環境中確定性實踐。自適應軟體開發專注於協作和學習,將其作為構建複雜系統的技術。它源於快速應用開發(RAD)和演化生命週期的最佳實踐。然後,自適應軟體開發擴充套件到包括管理的自適應方法,用推測代替了計劃。

Jim Highsmith於2000年出版了一本關於自適應軟體開發的書籍。用Highsmith的話來說:
“自適應軟體開發像演化模型一樣是迴圈的,階段名稱‘推測、協作、學習’反映了日益複雜的系統的不可預測領域。自適應開發在其演化遺產基礎上進一步發展了兩個關鍵方面。首先,它明確地用湧現取代了決定論。其次,它超越了生命週期變化,實現了管理風格的更深層次變化。”