傳統模式VS敏捷開發:回不去的瀑布流,逃不出的迭代


說到軟件開發,模式有很多,敏捷開發算是比較新穎的一種,經過近些年不斷地發展,在國內逐步吸引了越來越多的企業及軟件公司進入這一領域,雖說控制性上來說不如傳統模式,但是較高的靈活性成爲其主要優勢。

敏捷開發最早是在90年代才獲得人們廣泛關注的新型軟件開發方式,它具有快速應對需求變化的軟件開發能力。相對於傳統開發模式,它比較注重以用戶需求爲核心,採用持續迭代,循序漸進的開發方式,嚴格的來說,敏捷開發並不是一種特定的開發方法,它只是應對需求快速變化的一種軟件開發能力,所以敏捷開發在需求的變更上並不在意,因爲項目從始至終都處於不斷地調整中,這一點在客戶滿意度上來說,無疑是非常具有競爭力的。


作爲一個開發人員,相信喜歡敏捷開發這種模式的人並不多。

企業之所以喜歡,無外乎其聽起來高大上的理念,實際操作過程中問題太多,開發人員選擇這種模式,通常是不得不選,因爲至少它能更好的讓我們的口袋鼓起來,這就像我們上班,誰願意每天早起,但是爲了那微博的薪水卻不得不這麼做。

以傳統的瀑布是開發爲例,發展時間得有半個世紀了吧,目前依然是主流開發方式之一,因爲這種開發方式只需要拿到一份完整詳盡的需求文檔,逐個功能Coding,測試部署上線。不需要再次確認需求,不會有人打斷思路。沒有需求更改,只要自己不犯錯,不存在推倒重來的情況。可能這纔是大部分開發人員最舒服的工作方式吧,聽起來很完美。但是,如果一個公司每個項目都這麼做,那麼客戶就都跑到別人家去了。


客戶做一個東西如果不要求具有前瞻性,但也必須不要落後,從互聯網公司的業務方向多變性上看,傳統開發具有一定的侷限性,敏捷開發卻正中要點。

第一,敏捷開發週期更短。相對於其他幾種開發模式(瀑布式開發,迭代式開發,螺旋開發),敏捷開發的開發週期無疑更短。它能更快的滿足客戶的需求,當客戶需求有變更時,它也能更快的做出相應的改變。正如它的名字一樣,敏捷代表的是最快的速度。

第二,敏捷開發更好地適應快速變化的需求。任何時候,需求都絕不會是一成不變的。無論前期考慮得多麼周到,爲了適應快速變化得市場,爲了讓軟件系統更加完善,需求永遠都是在不停變化的。毫不誇張地說,我們正在開發的功能,或許在它還沒上線的時候,用戶已經不需要了。敏捷開發能夠駕馭需求的變化,它主張接受變更,對變更更快的做出響應。

第三,採用迭代方式,可頻繁交付可使用的軟件。在敏捷開發中,可能一個星期就要更新一個版本,交付一個可使用的軟件。然後根據市場需求的變化,快速的交付另一個迭代產品。在這樣頻繁交付過程中,更好的滿足用戶的需求,適應需求的變化。


在一般的公司裏,採用敏捷開發和迭×××發的方式較多,如果企業無法單獨採用敏捷方式完成軟件開發,也可以採用專業公司開發出的敏捷開發框架,成本及後期開發都處於可控範圍,

記得曾經在知乎上看到一位大神對於敏捷開發的看法,這裏分享給大家:

“敏捷”在互聯網和軟件開發領域從涓涓細流逐漸演變爲行業潮流,往小了說是改進了開發方法,往大了說是革了瀑布流式的命——把產品開發引向了快速迭代、小步快跑的路線上。

敏捷開發意味着讓我們全面的擁抱需求的變化,但是對於熟悉萬變的市場反饋還遠遠不足以應對。因此爲了更快的發現問題和反饋市場的變化,在敏捷開發過程中又引入了繼續集成,持續交付和持續部署來更高效的進行敏捷開發。

我們永遠無法找到真理,我們的每一次努力只是想離它更近一些。所以,不管你喜不喜歡,敏捷開發依然在走近你。


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