敏捷軟件開發(fā) - 原則、模式與實踐 —— 敏捷開發(fā)(一)

本文為敏捷軟件開發(fā) - 原則、模式與實踐系列的一部分。

本文對應原書第1章和第2章。

敏捷軟件開發(fā)宣言

  • 個體和交互 勝過 過程和工具

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

  • 客戶合作 勝過 合同談判

  • 響應變化 勝過 遵循規(guī)則

敏捷開發(fā)原則

  1. 我們最優(yōu)先要做的是通過盡早的、持續(xù)的交付有價值的軟件來使客戶滿意
  2. 即使到了開發(fā)的后期,也歡迎改變需求。敏捷過程利用變化來為客戶創(chuàng)造競爭優(yōu)勢
  3. 經(jīng)常性的交付可以工作的軟件,交付的間隔可以從幾周到幾個月,交付的時間間隔越短越好。
  4. 在整個項目開發(fā)期間,業(yè)務人員和開發(fā)人員必須天天都在一起工作
  5. 圍繞被激勵起來的個人來構建項目。給他們提供所需要的環(huán)境和支持,并且信任他們能夠完成工作
  6. 在團隊內(nèi)部,最具有效果并且富有效率的傳遞信息的方法,就是面對面的交流
  7. 工作的軟件是首要的進度度量標準
  8. 敏捷過程提倡可持續(xù)的開發(fā)速度。責任人、開發(fā)者和用戶應該能夠保持一個長期的、恒定的開發(fā)速度
  9. 不斷地關注優(yōu)秀的技能和好的設計會增強敏捷能力
  10. 簡單 - 使未完成的工作最大化的藝術 - 是根本的
  11. 最好的架構、需求和設計出自于自組織的團體
  12. 每隔一定時間,團隊會在如何才能更有效地工作方面進行反省,然后相應地對自己的行為進行調整

極限編程實踐

  1. 客戶作為團隊成員??蛻羰嵌x產(chǎn)品特性并排列特性優(yōu)先級的人。
  2. 用戶用例。
  3. 短交付周期。迭代計劃,兩周一個迭代。發(fā)布計劃,6個迭代一個發(fā)布。
  4. 驗收測試。自動化驗收測試。
  5. 結對編程。
  6. 測試驅動開發(fā)。先編寫單元測試,再實現(xiàn)代碼,結果代碼和完整的單元測試集共同形成。有利于重構。
  7. 集體所有權。
  8. 持續(xù)集成。
  9. 可持續(xù)的開發(fā)速度。
  10. 開發(fā)的工作空間。
  11. 計劃游戲。開發(fā)提供功能特性工作量列表,客戶按照優(yōu)先級指定本次迭代或發(fā)布的功能特性。
  12. 簡單設計。
    a. 考慮能夠工作的最簡單的設計
    b. 你將不需要它
    c. 允許犯錯,但只有一次。對于不好的代碼,發(fā)現(xiàn)立刻消除它們。例如重復代碼。
  13. 重構。重構就是在不改變代碼行為的前提下,對其進行一系列小的改動,旨在改進系統(tǒng)結構的實踐活動。重構是持續(xù)進行的。
  14. 隱喻。它是將整個系統(tǒng)聯(lián)系在一起的全局視圖。通??梢詺w結為一個名字系統(tǒng),這些名字提供了一個系統(tǒng)組成元素的詞匯表,并且有助于定義它們之間的關系。

完整內(nèi)容請查看敏捷軟件開發(fā) - 原則、模式與實踐系列

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容