1. 程式人生 > >淺談開發模式之瀑布模型

淺談開發模式之瀑布模型

       前面分享了N多幹貨,不知道看客有沒有看吐,反正本凱總是寫吐了。之前在合計著跳槽那點事,因為是半路出家,工作經驗也只有一兩年這樣,所以面試準備的時候就比較尷尬,既要回顧一些底層的基礎知識,又要總結專案上的內容,所以前段時間拿出了之前的學習筆記分享出來。現在入職個把月了,突然就想吐槽吐槽公司的開發模式。

       眾所周知,當下圈內的開發模式,可以說有四種(瀑布,敏捷,快速應用,DevOps部署),或者就是兩種(瀑布和敏捷)。

之前公司採用的是瀑布開發模式,瀑布模型是一種比較老舊的軟體開發模型,1970年溫斯頓·羅伊斯提出了著名的“瀑布模型”,直到80年代都還是一直被廣泛採用的模型。

       瀑布開發是一種領導非常喜歡的開發模型,開發方式簡單直接,思路清晰,將專案從頭到尾劃分為不同的階段(需求,設計,實施,驗證,上線,維護),嚴格定義每個階段的輸入輸出,並且十分重視文件(對於文件相關的內容http://blog.csdn.net/zonzereal/article/details/76704455)。在瀑布開發中,每個階段每個步驟有條不紊的執行,在進入下一階段之前,每個階段目標必須100%的完成,否則下一階段就無法正常開展。這種模式下,管理人員僅通過文件就可以瞭解專案成型之後的模樣,可以很好的對專案有一個巨集觀的把控,易於理解和管理,十分適合成熟穩定的大專案。

       但是,瀑布開發有一些很明顯的缺陷。

       首先,完全固定的階段劃分使得階段之間銜接需要大量的文件支援,極大地增加了技術人員非技術部分的工作量。

       其次,每個人只負責自己的模組,各司其職,對專案需求的理解參差不齊,所以開發人員經常被定義為碼農,這是開發人員極其反感的。

       再者,如果客戶需求變更,設計人員很容易接受,但開發人員可能會去跳樓。

       另外,開發人員一般不太喜歡被文件限制了想象力,但又很無奈。

       最後,既然叫瀑布,那麼回頭路的代價是極其慘重的,瀑布模式下的返工,跟重新做一遍沒差。