瀑布模型的特點(傳統的開發方式)
1)強調文檔
前一個階段的輸出就是下一個階段的輸入,文檔是個階段銜接的唯一信息。所以很多開發人員好象是在開發文檔,而不是開發軟件,因為要到開發的后期才可以看到軟件的“模樣”。
2)沒有迭代與反饋。瀑布模型對反饋沒有涉及,所以對變化的客戶需求非常不容易適應。瀑布就意味着沒有回頭路。
3)管理人員喜歡瀑布模型的原因是把文檔理解為開發的速度,可以方便地界定不同階段的里程碑。
敏捷開發
極限編程的思想體現了適應客戶需求的快速變化,激發開發者的熱情,也是目前敏捷開發思維的重要支持者。
敏捷軟件開發是一個開發軟件的管理新模式,用來替代以文件驅動開發的瀑布開發模式。
敏捷開發集成了新型開發模式的共同特點,它重點強調:
1)敏捷就是“快”。快才可以適應目前社會的快節奏,要快就要發揮個人的個性思維多一些個性思維的增多。
2)客戶參與。以人為本,客戶是軟件的使用者,是業務理解的專家,沒有客戶的參與,開發者很難理解客戶的真實需求。
3)強調軟件開發的產品是軟件,而不是文檔。文檔是為軟件開發服務的,而不是開發的主體。
4)設計周密是為了最終軟件的質量,但不表明設計比實現更重要。
5)迭代。軟件的功能是客戶的需求,界面的操作是客戶的“感覺”。對迭代的強調是縮短了軟件版本的周期。
6)小版本。快速功能的展現,看似簡單,但對於復雜的客戶需求合理地分割與總體上的統一,要很好地二者兼顧是不容易的。
