敏捷開發(agile development)是一種以人為核心、迭代、循序漸進的開發方法。在敏捷開發中,軟件項目的構建被切分成多個子項目,各個子項目的成果都經過測試,具備集成和可運行的特征。簡言之,就是把一個大項目分為多個相互聯系,但也可獨立運行的小項目,并分別完成,在此過程中軟件一直處于可使用狀態。
敏捷開發技術的特點和優勢:
1.個體和交互勝過過程和工具
2.可以工作的軟件勝過面面俱到的文檔
3.客戶合作勝過合同談判
4.響應變化勝過遵循計劃
敏捷開發技術的12個原則
1.我們最優先要做的是通過盡早的、持續的交付有價值的軟件來使客戶滿意。
2.即使到了開發的后期,也歡迎改變需求。
3.經常性地交付可以工作的軟件,交付的間隔可以從幾周到幾個月,交付的時間間隔越短越好
4.在整個項目開發期間,業務人員和開發人員必須天天都在一起工作。
5.圍繞被激勵起來的個人來構建項目。
6.在團隊內部,最具有效果并且富有效率的傳遞信息的方法,就是面對面的交談。
7.工作的軟件是首要的進度度量標準。
8.敏捷過程提倡可持續的開發速度。
9.不斷地關注優秀的技能和好的設計會增強敏捷能力。
10.簡單使未完成的工作最大化。
11.最好的構架、需求和設計出自于自組織的團隊。
12.每隔一定時間,團隊會在如何才能更有效地工作方面進行反省,然后相應地對自己的行為進行調整。
敏捷開發技術的適用范圍
1.項目團隊的人數不能太多
2.項目經常發生變更
3.高風險的項目實施
4.開發人員可以參與決策
敏捷開發技術的幾種主要類型
1.XP(Extreme Programming )-- 極限編程
2.Cockburn的水晶系列方法
3.開放式源碼
4.Highsmith的適應性軟件開發方法〔ASD〕
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/