敏捷、增量、瀑布式开发模式的区别?

问题描述 投票:0回答:3

敏捷模型与增量模型和瀑布模型之间的主要区别是什么? 作为初学者软件开发人员,我应该遵循什么模型? 我需要说清楚。

models
3个回答
5
投票

除了Gishu的回答

  • 增量 - 您现在需要构建多少就构建多少。除非需求得到证实,否则您不会过度设计或增加灵活性。当需要出现时,您可以在现有的基础上进行构建。 (注意:与迭代的不同之处在于,您添加新的东西......而不是精炼一些东西)。
  • 敏捷 - 如果您重视敏捷宣言中列出的相同事物,那么您就是敏捷的。这也意味着没有标准模板或清单或程序来“敏捷”。它并没有过度指定......它只是指出您可以使用“敏捷”所需的任何实践。 Scrum、XP、看板是一些更具规范性的“敏捷”方法,因为它们共享相同的价值观。持续和早期的反馈、频繁的发布/演示、演进设计等。因此它们可以是迭代和增量的。

  • Waterfall涉及离散的开发阶段:规范、 设计、实施、测试和维护。原则上,必须有一个阶段 在进入下一阶段之前完成。

选择流程有时很困难。选择正确的软件开发生命周期模型阅读这篇文章很有帮助。


1
投票

瀑布是顺序的,而敏捷是增量方法。

瀑布:构思、启动、分析、设计、构建、测试、实施和维护。所有八个步骤都将按顺序(一个接一个)完成。一旦完成一个步骤,您就无法返回到上一步。如果你做一点改变,整个项目就会从零开始。因此,没有错误或更改的余地。

何时使用瀑布:

  • 如果客户完全了解他们想要什么(项目的规模、成本和时间表),那么就选择瀑布式。

优点:

  • 如果任何雇主离职,新雇主会突然控制该项目,因为所有步骤都是连续的,因此新资源很容易了解项目的现状。
  • 客户知道最终产品会是什么样子。

缺点:

  • 一步完成后,将无法返回。
  • 瀑布需要大量的初始要求,错误的要求将导致您的项目走向其他地方,而不是目的地。
  • 如果发现任何错误或需要进行任何更改,项目必须从头开始。
  • 整个项目最后才进行测试,如果bug写得早但发现晚,它们的存在可能会影响其他代码的编写方式。

敏捷:开发人员从简单的设计开始,然后开始开发小模块。这些模块的工作每周或每月完成一次。模块完成后,模块被发送到测试阶段,如果出现任何错误,则开发人员首先删除该错误,然后部署结果以接受客户审查,如果客户要求任何更改,则首先开发人员必须实施该更改。在每个模块结束时,都会评估项目优先级,我们应该在哪个模块上开始工作。

何时使用敏捷:

  • 当快速生产比产品质量更重要时。
  • 当不清楚最终产品的样子时。

优点:

  • 每个模块完成后都会进行测试,训练开发人员在下一个模块中不要犯此类错误。
  • 敏捷允许开发人员和客户随时添加更改。
  • 每个模块结束后,客户都会审核申请,以便客户了解每个模块之后项目的进展情况。

缺点:

  • 对成功的项目经理提出了很高的要求。在制作模块时,确定模块的优先级以及设置模块的时间段确实需要大量的经验。
  • 由于没有人有初始要求,因此最终产品可能与最初的预期有很大不同。

0
投票

正如他们所说,一张图片解释了千言万语,

瀑布方法 - 在开发开始之前明确了解需求时

迭代方法 - 在每次迭代中不断完善(来自客户的反馈)来开发产品

增量方法 - 产品的子集或每个组件都是增量交付的

敏捷开发反映了产品生命周期方法(持续交付价值),而不是项目方法(开始-结束)。

© www.soinside.com 2019 - 2024. All rights reserved.