瀑布式開發(fā)、迭代開發(fā)、敏捷開發(fā)、XP與SCRUM的異同點(diǎn)

瀑布式 VS 迭代開發(fā)【都屬生命周期模型】
  兩者都是一種開發(fā)模式,就像設(shè)計(jì)模式一樣,考慮的角度不一樣,個(gè)人感覺談不到取代一說。
  傳統(tǒng)的瀑布式開發(fā),也就是從需求到設(shè)計(jì),從設(shè)計(jì)到編碼,從編碼到測試,從測試到提交大概這樣的流程,要求每一個(gè)開發(fā)階段都要做到最好。特別是前期階段,設(shè)計(jì)的越完美,提交后的成本損失就越少。我現(xiàn)在從事的外包項(xiàng)目就是這樣的流程。
  迭代式開發(fā),不要求每一個(gè)階段的任務(wù)做的都是最完美的,而是明明知道還有很多不足的地方,卻偏偏不去完善它,而是把主要功能先搭建起來為目的,以最短的時(shí)間,最少的損失先完成一個(gè)“不完美的成果物”直至提交。然后再通過客戶或用戶的反饋信息,在這個(gè)“不完美的成果物”上逐步進(jìn)行完善。
  這兩種開發(fā)模式都各自具有自己的特點(diǎn),迭代式開發(fā)適合在一些需求信息不明確的項(xiàng)目中,這樣在開發(fā)過程中遇到需求的變化時(shí),所帶來的影響要比瀑布式開發(fā)小。而現(xiàn)在的很多項(xiàng)目中,需求在項(xiàng)目進(jìn)行中變化的事兒經(jīng)常見,所以顯得迭代式開發(fā)的優(yōu)勢更明顯一些。
  但是,從本質(zhì)上來說,二者都不過是一種開發(fā)的模式,即使是迭代式開發(fā),在每一個(gè)迭代的環(huán)節(jié)中,不也是此從需求到設(shè)計(jì),從設(shè)計(jì)到編碼,從編碼到測試嗎?這不也是瀑布式模型的體現(xiàn)嗎?只不過這個(gè)瀑布式中的每一個(gè)階段不需要做到最優(yōu)化,都留一些任務(wù)到下一層迭代中去做而已。
  所以,我覺得面對不同的問題采用不同的模式,模式是為了方便我們開發(fā)而服務(wù)的,不是要求我們必須按照某一種模式從頭走到尾。
  就象迭代式開發(fā),我們其實(shí)也經(jīng)常用到這種模式。比如說開發(fā)項(xiàng)目中的某一個(gè)模塊。我們先把能夠?qū)崿F(xiàn)主要功能的代碼寫出來。比如一個(gè)查詢模塊,先從模塊的構(gòu)思到設(shè)計(jì)再到編碼,先查詢功能的代碼,測試一遍查詢成功。這算是完成了第一層迭代。然后我們要再考慮一層迭代中的一些還未完成的細(xì)節(jié)問題,比如查詢的check,查詢結(jié)果的顯示以及查詢算法的優(yōu)化等等,這就是第二層迭代。

還未寫完,待續(xù)...

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容