(一)
敏捷發展是一種應對快速變化需求的一種軟體開發能力。強調團隊與業務專家之間的緊密協作、面對面的溝通(比書面的文件更有效)、頻繁交付新的軟體版本、緊湊而自我組織型的團隊、能夠很好地適應需求變化的代碼編寫和團隊組識方法,也更注重軟體開發過程中人的作用。
(二)
捷軟體開發法和瀑布法之間的區別,其中之一就是品質和測試方法。在瀑布模型中,構建階段之後總是有單獨的測試階段; 但是,在敏捷軟體開發測試中,與編程相同的疊代完成。由於測試是在每一次疊代中完成的-開發一小部分軟體,使用者可以經常使用這些新的軟體並驗證其價值。使用者知道更新後的軟體的真實價值後,可以對軟體的未來作出更好的決策。在每次疊代中進行一次價值回顧和軟體重新計劃會話 - Scrum通常只有兩個星期的疊代循環 - 幫助團隊不斷調整自己的計劃,以最大限度地提高其價值。 遵循與PDCA循環類似的模式,因為工作已經計劃、完成、檢查(在審查和回顧中),並且任何商定的變更都會被執行。這種疊方法支援產品更甚於專案思維。這在整個開發過程中提供更大的靈活性; 而在專案中,需求是從一開始就定義和鎖定的,以後很難改變它們。疊代開發允許軟體產品根據業務環境或市場需求的變化而發展。由於敏捷軟體開發的疊代方式較短,因此與精益創業概念有著密切的聯繫。