本節書摘來異步社群《挖掘管理價值:企業軟體項目管理實戰》一書中的第2章,第2.5節,作者: 徐勤 責編: 楊海玲, 更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
挖掘管理價值:企業軟體項目管理實戰
軟體開發過程是把軟體的設計思想轉化為現實的代碼,以實作軟體的功能,滿足使用者的需求。自軟體誕生以來,軟體開發出現了很多種開發模型,如瀑布(waterfall)、原型(prototype)、用例(use case)、快速模組化(rapid model)等1。
1970年w royce提出瀑布模型。該模型使用固定的順序,将設計過程和開發活動從上一個階段向下一個階段逐級過渡,如同瀑布下瀉,最終得到所開發的軟體産品,投入使用。但是此模型缺乏靈活性,如果需求不夠明确就難以及時修正。
用原型示例來示範未來軟體的界面和功能,如果使用者不滿意,可以及時修正,直到滿足需求為止。原型的好處在于可以正确地把握需求,避免需求不确定帶來的開發風險。但是原型的缺點在于設計周期長,一旦軟體開發完成,原型就被丢棄。
用示例來說明每個操作的細節,這樣更像是一個手冊。它的優點在于可以把功能細化成一個獨立的例子,友善開發時配置設定任務。但是缺點是不能很好地說明軟體功能的連續性和内在聯系,一旦某個需求更改了,其他例子可能面臨失效的風險。
快速模組化把需要呈現的界面和操作用最基本的代碼顯示出來,各個界面之間可以有一定的簡單聯系,如跳轉、打開等。代碼不涉及邏輯、功能和資料處理。這些基本界面和代碼就是軟體的基本子產品,等到使用者确認界面的準确性和操作的可行性後,再在這些代碼上拓展其他更為複雜的功能。快速模組化的好處在于能夠快速地、生動地将軟體的基本面示範給使用者,同時代碼又可以複用,将設計和程式設計結合起來,提高了軟體開發的效率。但是其缺點在于,它比較适合于簡單的軟體項目,因為複雜的軟體有很多無界面和自動化的功能,另外設計人員本身要有一定的軟體開發能力。
以上這些模式沒有最好最差,使用什麼樣的模式取決于軟體項目的需求和特點。我們把上述各類模式比較如表2-15所示,實踐中可以挑選适合的模式使用。

通過多年的軟體項目開發實踐活動,我們發現原型和快速模組化是比較普遍和适用的。