哪条路可以进步? 迭代和增量模型

已发表: 2023-10-09

迭代模型和增量模型都与敏捷密切相关,但有时它们会被错误地互换使用。 也许这是因为很难找到这两种方法的精确定义,而且因为它们都处理相似的主题。 然而,在这种情况下,问题在于细节,虽然两种模型都解决相同的问题,但它们具有不同的含义。 请继续阅读以了解更多信息。

迭代和增量模型 - 目录:

  1. 迭代模型与增量模型
  2. 迭代模型和增量模型之间的主要区别
  3. 迭代和增量开发模型。 哪个更好?
  4. 概括

迭代和增量模型

让我们从以下事实开始:这两个概念都与旨在改进的过程相关,但它们的运作原理略有不同。 在迭代方法的情况下,它涉及重复相同的活动,最终导致其增强或多样化。 另一方面,增量方法旨在不断增加某物的数量或价值,每个元素从一开始就得到彻底的完善。

虽然此时我们可以提供 IT 团队或任何其他团队的示例,但 Mike Cohn 提出的类比似乎是最接近的。 他将迭代过程比作雕刻。 在初始阶段,雕刻家有不同的石头可供选择,并选择形状最接近他们想要创造的石头。

下一步,雕刻家的任务是给石头一个大致的轮廓,只有在接下来的步骤中,最终的形状才会开始出现。 因此,每一个步骤都会导致整个过程的完成,即雕塑的创作,每一步都是重要且必要的。 然而,在最终的视觉效果,即完成的雕塑被创造出来之前,雕塑家不会认为它们是完整的。

让我们将这个丰富多彩的类比带到一个更实际的过程中——想象一个程序员正在构建一个新网站的项目。 在开发网站时,程序员会立即创建产品并将其交付给用户,以便他们进行测试。 然而,这并不意味着这是一个完整的成品。 当用户测试它时,团队会发现问题,寻找改进的方法,并计划下一个版本。 这种反复改进的过程称为迭代。

采用增量模型的雕塑家将以完全不同的方式工作。 他们不会将每一步都视为稍后要完善的元素,而是从一开始就创建每个元素的最终形状。 这是什么意思? 假设这样一位雕塑家想要创作一尊男人雕像。 在这种情况下,他们不会给出一个大致的轮廓或形状,而是会立即集中精力创建完美的细节,这些细节不需要以后进行细化,并且会立即实现最终的外观。

这如何转化为项目团队的工作? 每个部分或子组都专注于其任务,并创建网站的完整组件,该组件功能有限,但已完成和完善。 只有当所有小组的工作结合起来时,由所有这些组件组成的最终产品才会出现。

迭代模型和增量模型之间的主要区别

选择最适合您的模型的关键是了解这些方法之间的差异。

  1. 错误风险
  2. 增量方法存在很大风险,因为任何潜在的错误或缺陷只能在流程结束时(即各个组件组合成最终产品时)才能发现。 在此之前,每个部分本身都是完整的,因此是一个很大的未知数。 当涉及到检测错误和进行更改时,采用迭代方法会更容易做到。

  3. 项目工期
  4. 通过迭代方法,您可以更快地创建可供测试的设计。 这是因为所有可能的改进都是在后续阶段进行的,但这发生在后台并且不会干扰原始版本。 相比之下,增量方法涉及单独开发和增强每个元素,这需要更多时间。

  5. 用户参与
  6. 在迭代方法的情况下,用户更多地参与该过程并且可以更快地测试产品。 这本身就是一种价值,但它还允许您获得有关产品可用性的有价值的信息,以便进行可能的改进和开发。 采用增量方式,用户必须等待更长的时间才能得到最终产品,而他们对整个过程的参与并不那么重要。

  7. 项目成本
  8. 不可能明确地说哪种方法更昂贵。 这完全取决于项目需要多长时间以及需要多少次修改。 当需要多次迭代时,迭代方法的成本就会变得很高,因为每次迭代都涉及预算的再次增加。 增量方法似乎更容易估计预算和确定最终成本。 然而,这是事实,假设最终版本没有错误并且不需要任何修复。

迭代和增量开发模型。 哪个更好?

除了“视情况而定”之外,不可能回答这个问题。 对于大型项目,迭代方法更好,因为从一开始就假设产品的第一个版本不会是最终版本,并且产品本身有机会成长。 如果您需要快速进入市场,这是一个很好的解决方案。 另一方面,当您清楚地了解最终产品的外观并且知道没有任何改进或增强的空间时,增量方法会更好。

这意味着在做出最终选择时,您需要考虑项目的目标及其环境和要求。 如果您期望快速获得结果并希望让客户参与该过程,请选择迭代方法。 但是,如果您确切地知道要开发什么产品并希望立即达到最高质量,那么增量方法会更好。

除了具体情况外,当上述问题的答案很明确时,中间仍然存在着一个不那么明显的间隙。 所以问题是,我们能否结合这两种模型的优点并仅使用适合特定项目的方面?

Iterative and incremental models

概括

两种方法都有相同的目标,都有各自的优点和缺点,并且都存在一定的风险。 哪一种更好取决于您想要执行的过程。 然而,真的有必要选择一种解决方案吗? 也许最好的选择是将两者结合起来并找到一个中庸之道?

没有什么可以妨碍使用这两种模型,因为没有必要坚持一种特定的框架。 最好将它们用作灵感和良好的起点。 为您的项目选择相关元素并创建您自己的定制流程。

如果您喜欢我们的内容,请在 Facebook、Twitter、LinkedIn、Instagram、YouTube、Pinterest、TikTok 上加入我们的忙碌蜜蜂社区。

Which path to progress? Iterative and incremental models andy nichols avatar 1background

作者:安迪·尼科尔斯

具有 5 个不同程度和无尽动力储备的问题解决者。 这使他成为完美的企业主和经理。 在寻找员工和合作伙伴时,开放性和对世界的好奇心是他最看重的品质。