敏捷開發是一種以人為核心、迭代、循序漸進的開發方法。在敏捷開發中,軟件項目的構建被切分成多個子項目,各個子項目的成果都經過測試,具備集成和可運行的特征。換言之,就是把一個大項目分為多個相互聯系,但也可獨立運行的小項目,並分別完成,在此過程中軟件一直處於可使用狀態。
其代表方法有:瑞理統一開發過程:Rational Unified Process(RUB)、敏捷建模:Agile Modeling(AM)、極限編程:eXtreme Programming、自適應軟件開發:Adaptive Software Development(ASD)、水晶方法體系:Crystal等等。
瑞理統一開發,簡稱RUB。RUP是Rational公司的改進過程的規范,它被設計成一種由用例驅動的、以體系結構為中心的軟件開發過程,它以迭代的方式前進,通過執行工作流程遞增地產生結果。
它的主要四個階段是先啟、精化、構建和轉移,五個核心工作流程為需求、分析、設計、實現和測試。
由於RUP是一種框架,你可以以不同的方式來使用它,如象非常傳統的“瀑布” 式開發方式,或敏捷式,如dX。你可以把用得輕捷靈便,也可把它弄成繁文縟節。這取決於你如何在你的環境中對它裁剪運用。
敏捷建模:簡稱AM,是一種最近才出現的軟件思想。他的核心原則:主張簡單、擁抱變化、你的第二個目標是可持續性。簡單的說,你在開發的時候,你要能想象到未來、遞增的變化、令投資人的投資最大化、有目的的建模、多種模型、高質量的工作、快速反饋、軟件是項目的主要目標、輕裝前進。
補充原則有:內容比表示更重要、三人行必有我師、了解你的模型、了解你的工具、局部調整、開放誠實的溝通。
水晶方法體系:水晶方法體系與XP一樣,都有以人為中心的理念,但在實踐上有所不同。水晶方法體系考慮到人們一般很難嚴格遵循一個紀律約束很強的過程,因此,與XP的高度紀律性不同,水晶方法體系探索了用最少紀律約束而仍能成功的方法,從而在產出效率與易於運作上達到一種平衡。也就是說,雖然水晶系列不如XP那樣的產出效率,但會有更多的人能夠接受並遵循它。
極限編程:極限編程(XP)是一種全新而快捷的軟件開發方法。XP團隊使用現場客戶、特殊計划方法和持續測試來提供快速的反饋和全面的交流。這可以幫助團隊最大化地發揮他們的價值。
