關於敏捷軟體開發

2021-04-09 01:59:22 字數 1356 閱讀 8222

最近在看《敏捷軟體開發》,對其中的原則和實踐非常感興趣.順便記錄下來....

1. 敏捷軟體開發宣言

個體和互動          勝過   過程和工具

可以工作的軟體  勝過   面面俱到的文件

客戶合作              勝過   合同談判

響應變化              勝過   遵循計畫

2. 12個原則:

2.1 我們最優先要做的是通過盡早的,持續的交付有價值的軟體來使客戶滿意

2.2 即使到了開發的後期,也歡迎改變需求.敏捷過程利用變化來為客戶創造競爭優勢

2.3 經常性地交付可以工作的軟體,交付的間隔可以從幾周到幾個月,互動的時間間隔越短越好

2.4 在整個專案開發期間,業務人員和開發人員必須天天都在一起工作

2.5 圍繞被激勵起來的個人來構建專案.給他們提供所需要的環境和支援,並且信任他們能夠完成工作

2.6 在團隊內部,最具有效果並且富有效率的傳遞訊息的方法,就是面對面的交談

2.7 工作的軟體是首要的進度度量標準

2.8 敏捷過程提倡可持續的開發速度.責任人,開發者和使用者應該能夠保持乙個長期的,恆定的開發速度

2.9 不斷地關注優秀的技能和好的設計會增強敏捷能力

2.10 簡單-使未完成的工作最大化的藝術-是根本的

2.11 最好的架構,需求和設計出自於自組織的團隊

2.12 每隔一定時間,團隊會在如何才能更有效地工作方面進行反省,然後相應地對自己的行為進行調整

3. 極限程式設計(xp)實踐

3.1 客戶作為團隊成員 (xp中的客戶是指定義產品的特性並排列這些特性優先順序的人或者團體)

3.2 使用者素材(user stories) (它是乙個計畫工具,客戶可以使用它並根據它的優先順序和估算代價來安排實現該需求的時間)

3.3 短交付週期

3.3.1 迭代計畫  (每次迭代通常耗時2周)

3.3.2 發布計畫  (xp團隊通常會建立乙個計畫來規劃隨後大約6次迭代的內容,一次發布通常需要3個月的工作)

3.4 驗收測試 (驗收測試使用能夠讓它們自動並且反覆執行的某種指令碼語言編寫,這些測試共同來驗證系統按照客戶指定的行為運轉)

3.5 結對程式設計

3.6 測試驅動的開發方法

3.7 集體所有權

3.8 持續整合

3.9 可持續的開發速度

3.10 開放的工作空間

3.11 計畫遊戲 (planning game:的本質是劃分業務人員和開發人員之間的職責)

3.12 簡單的設計

3.12.1 考慮能夠工作的最簡單的事情

3.12.2 你將不需要它

3.12.3 一次,並且只有一次

3.13 重構

3.14 隱喻 

關於敏捷軟體開發

1.敏捷軟體開發宣言 個體和互動 勝過 過程和工具 可以工作的軟體 勝過 面面俱到的文件 客戶合作 勝過 合同談判 響應變化 勝過 遵循計畫 2.12個原則 2.1 我們最優先要做的是通過盡早的,持續的交付有價值的軟體來使客戶滿意 2.2 即使到了開發的後期,也歡迎改變需求.敏捷過程利用變化來為客戶...

敏捷軟體開發

敏捷軟體開發 英語 agile software development 又稱敏捷開發,是一種從1990年代開始逐漸引起廣泛關注的一些新型軟體開發方法,是一種應對快速變化的需求的一種軟體開發能力。它們的具體名稱 理念 過程 術語都不盡相同,相對於 非敏捷 更強調程式設計師團隊與業務專家之間的緊密協作...

敏捷軟體開發

我們知道,傳統的開發模式已經不能不適用於現在情況,原因有很多 需求經常發生變化,軟硬體更新速度很快等,這些原因都使得傳統不管是 瀑布模型 還是 增量 不管是 快速原型 還是 螺旋 模型,這些軟體開發的模型,不在實用了。所以,在2001年,敏捷宣言提出,標誌著敏捷開發模型初步形成。那麼敏捷開發和傳統開...