提起瀑布模型,人们往往有这样的印象:它是刻板、僵化的“老古董”。但真的是这样吗?
这种刻板印象可能来源于教科书。然而,编写教科书的人未必真正了解瀑布模型。
作为最早成型的软件开发生命周期模型之一,瀑布模型的主要特点是通过时间维度来降低软件开发的复杂性。它将软件开发过程划分为需求分析、产品设计、编码实现、上线和维护等阶段,并要求每个阶段都产出成果供下一阶段使用。
当然,根据实际情况,这些阶段可以适当精简,但至少应包含两个阶段:分析和编码。
简而言之,不同类型的工作由不同的团队在不同的时间完成,从而减轻个人的心智负担。
瀑布模型的核心要点有两条:
许多团队对变更请求来者不拒,不懂谈判,不敢拒绝,结果导致交付延期和问题堆积。这样的团队甚至没有正确执行瀑布模型。
软件开发周期模型后来出现的迭代开发、增量开发和敏捷开发,都是以瀑布模型为基础的。每一个迭代或增量都是一个小瀑布,都需要完成需求分析、产品设计、编码、测试和发布流程,至少包含分析和开发两个步骤的小瀑布。新的生命周期模型并没有否定瀑布模型,而是在其基础上进行了发展。
既然新的模型没有否定瀑布模型,你为什么否定它?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.