1. 程式人生 > >瀑布式迭代與敏捷

瀑布式迭代與敏捷

     在採用敏捷開發的實踐當中,有一種特別的開發過程,他融合了瀑布模型和迭代的思維,但又與敏捷的思維存在差異,我把這種過程稱之為瀑布式迭代。     瀑布式迭代過程總體上採用迭代的方式,即像敏捷一樣,以迭代為單位逐漸推進,每個迭代以啟動會、迭代活動、迭代總結為全過程,並且每個迭代都會交付產出物。唯一不同的是單獨看一個迭代過程,會發現其採用了瀑布流程。     在一個迭代週期內,首先是產品經理、互動設計師、視覺設計師等完成需求定義、使用者故事分解、互動流程設計、視覺效果設計,然後開發工程師和測試人員一起對需求進行評審,之後分解任務、估算工作量,開發工程師進行設計、編碼,測試工程師開始編寫測試用例,對提測的版本進行測試,最後經過迴歸測試,釋出上線,迭代結束。
     還有的團隊會在迭代的中間節點定義全功能提測點,在全功能提測點之前,是開發階段,在全功能提測點之後,是測試階段。這樣把瀑布界定得更加清晰。     這樣的瀑布式迭代過程借鑑了敏捷的思維,同時又保留了瀑布的流程,對於剛剛由傳統瀑布開發過度到敏捷開發的團隊來說,是一個好的切入點。但是,在一個微觀的迭代內,並沒有消除瀑布模型固有的問題,比如分析、設計、實現、測試的流程就與敏捷中的“個體和互動高於流程和工具”、“響應變化高於遵循計劃”等相背,從而限制了敏捷精神的發揚。
     瀑布式迭代有其適用之處,但隨著團隊認識敏捷、擁抱變化的提升,還是宜儘早完成過程的轉換,讓敏捷的威力更快的發揮出來。——歡迎轉載,請註明原文出處 
http://blog.csdn.net/caowenbin ——
——歡迎關注微訊號“曹文斌的軟體思考”,共同探討軟體人生——