敏捷與傳統軟件開發方法
當今軟件行業中有許多不同的軟件開發方法。瀑布式開發方法是最早的軟件開發方法之一。V-Model、RUP和其他一些線性的、迭代的和組合的線性迭代方法,都是在瀑布法之後出現的,目的是消除瀑布法的許多問題。所有這些早期的方法被稱為傳統的軟件開發方法。敏捷模型是一種較新的軟件開發模型,旨在解決傳統模型中存在的缺陷。敏捷的主要關注點是儘早進行測試,並通過將系統分解為非常小且可管理的子部分,儘早發佈產品的工作版本。
什麼是傳統的軟件開發方法?
軟件方法學如瀑布法、V模型和RUP被稱為傳統的軟件開發方法。瀑布方法是最早的軟件開發模型之一。顧名思義,它是一個連續的過程,在這個過程中,進度從上到下經過幾個階段(需求分析、設計、開發、測試和實現),類似於瀑布。V模型是瀑布式軟件開發模型的擴展。V-Model使用瀑布模型中定義的階段之間的相同關係。但是,V-model不是線性下降(像瀑布模型),而是對角向下,然後向上移動(在編碼階段之後),形成字母V的形狀。RUP(Rational統一過程)是一個適應性強的過程框架(不是一個單一的具體過程),開發組織可以根據他們的需要進行定製。與瀑布有點相似,它有固定的階段,如初始階段、精化階段、構建階段和過渡階段。但是與瀑布不同,RUP是一個迭代過程。
什麼是敏捷?
敏捷是一種基於敏捷宣言的最新軟件開發方法(或者更準確地說,是一組方法)。這是為了解決傳統軟件開發方法的一些缺點而開發的。敏捷方法的基礎是在開發週期的早期高度重視客戶的參與。它建議客戶儘早、經常地進行測試。當穩定版本可用時,測試在每個點進行。敏捷的基礎是從項目開始的測試開始,一直持續到項目的結束。Scrum和極限編程是敏捷方法中最流行的兩種變體。
敏捷的關鍵價值是“質量是團隊的責任”,它強調軟件的質量是整個團隊(不僅僅是測試團隊)的責任。敏捷的另一個重要方面是將軟件分解成更小的可管理的部分,並很快地將它們交付給客戶。交付一個有效的產品是最重要的。然後團隊繼續改進軟件,並在每個主要步驟持續交付。這是通過有非常短的發佈週期(Scrum中稱為sprint)並在每個週期結束時獲得改進的反饋來實現的。在早期方法中,沒有太多團隊交互的貢獻者,比如開發人員和測試人員,現在在敏捷模型中一起工作。
敏捷與傳統軟件開發方法有什麼區別?