敏捷開發與瀑布式開發的區別

敏捷方法與傳統方法的區別與聯繫
  首先,說一下傳統開發的方式流程,傳統開發也就是本文最開始所說的來自於工程學的軟件開發方式,是一種瀑布式的流程,在工程的起始階段,進行詳盡的需求調研,根據需求進行完全的架構設計,之後進入開發過程,在開發過程中,不再進行設計層面的事情,不再處理需求變化的問題,在這個階段的任務就是對前期設計的功能實現,然後是測試,部署等等。 
  其次,說一下敏捷開發的方式流程,敏捷開發是在上個世紀90年代,傳統開發方式不能夠滿足現實開發的需要,對傳統方式進行總結,對成功失敗的開發案例進行研究後,得到的一種不同於傳統方式的開發流程,主要的特點是迭代式進行,這種方式把一個軟件開發過程分成了若干個小的迭代過程,每一迭代完成一部分功能,每一次迭代過程的工作內容按照功能的重要程度不同而排列,首先完成重要的,同時也是風險比較大的功能,而後是次重要的,依此類推,同時在每次迭代中,都要進行分析、設計、開發、測試,因爲分成了一個個小過程,一步步的逼近目標,所以,可以使得產品的用戶能夠逐漸得明白自己的真實需求從而能夠提出真正的需求,而開發團隊也可以根據更正後的需求進行下一次迭代的設計。 

  其一,敏捷開發是以人爲中心,而傳統開發以過程爲中心。並不是說傳統開發就沒有人的參與,或者說人不是一個重要因素。應該說的是,敏捷開發和傳統開發的側重點、中心不同。那麼爲什麼會是這個樣子呢,或者說Martin   Fowler爲什麼要這麼說呢?因爲,傳統開發中,設計已經是在初始階段完成了,在實現階段不再修改,換句話說,實現階段就是對設計的完成,設計方案是不可改變的了。這樣就忽略了用戶的反饋、忽略了開發員的設計的主觀能動性,使得開發員只是專注於代碼層面的事情,這是很要命的事情,非常的考究需求工程師、設計師的能力,用一句話來形容這種設計-實現效果就是差之毫釐謬以千里。而敏捷開發提倡的是迭代,在每次迭代中都有分析、設計,也就意味着迭代階段,可以把一部分完成的系統給用戶演示,允許用戶提意見、需求,也允許開發員將上一次迭代中得到的想法提出來,並且把這些需求意見想法融入到迭代的分析、設計中,從而在根本上、在理念上,促進了造、用雙方的一個交流溝通,發揮了用戶的分析評價和開發員設計的主觀能動性。 
其二,敏捷開發是adaptive的,而傳統開發是plan驅動的。傳統開發,設計階段完成了,整個的過程就是按照設計方案進行,在設計階段的後續過程中,無法再對設計方案進行修改,而敏捷開發需要一次次的迭代完成,正是這些迭代完成了對客戶真實需求的軟件的演進。

  一個控制大的流程,一個處理軟件開發細節

原文地址:https://blog.csdn.net/sghdls/article/details/64441512

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章