什么是迭代和增量开发

不同类型的项目有不同的管理风格、组织结构和生命周期。每一种都没有完美的。每个项目都有它的位置、最佳平衡和开发过程,它可以是迭代的,或者在需求和环境中有高度变化,或者是增量的,即定期交付结果的过程。这意味着什么?

我们先来看看什么是迭代软件开发 。

什么是迭代软件开发?
迭代开发和增量开发是管理项目的两种不同方式,尽管它们通常协同工作。让我们看看迭代在软件开发中意味着什么。它指的是重复的过程,即对产品进行审查和测试的一系列步骤,直到获得改进的结果。

迭代模型是一种软件开发技术,它打破了产品的结构,期望将其更改和改进为更小的部分。一家公司在没有清晰图片的情况下对其正在构建的内容有一个大致的了解,并随着时间的推移将其他所有内容叠加在一起。在迭代模型中,需求被分解成多个块或模块,分别开发,一个接一个集成。每个模块都是一个独立的产品,可以呈现给客户。每个新版本都会添加其余模块。

通过迭代方法,团队可以在每次发布后向用户提供一些东西(稍后会改进)。根据反馈修改未完成的工作,并在整个开发过程中评估最终产品。一切都始于一个在整个工作过程中实现的愿景。迭代模型依赖于创建程序的团队,尽可能多地从中学习,然后继续下一个更好的事情。

让我们更详细地研究迭代开发的主要优点和缺点是什么?

迭代模型的好处
迭代方法显示了许多可能对不同软件项目有用的好处:

快速开发功能;
早期用户参与;
灵活性(可根据客户要求随时更改要求和范围);
风险管理简单;
清晰度(上一次迭代的结果是下一次迭代的起点);
适用于需求不明确的大型、复杂、高风险项目;
由于迭代次数少,易于测试和调试,这意味着产品中的缺陷更少;
在最短的时间内实现最大的商业价值;
对客户的高质量反馈;
一次迭代中不止一项活动;
设计工作只花在计划下一步要做的事情上;
应用程序的演变对客户是可见的。
这种技术不适用于小型项目,因为团队对最终产品的外观没有信心。团队中的所有人都能更好地了解在整个项目中必须交付的内容。因此,减少了达到最终目标所需的时间和精力。在实施迭代方法之前,必须完全定义完整系统的要求。

何时使用迭代模型
许多因素会影响产品的交付方式。如果您不断更新定期重复(检查和改进)的需求或活动,并且您计划频繁交付但不纠正单个交付,那么应该应用迭代方法。在此模型中,团队专注于收集需求和反馈。它经历了规划、设计、实施、测试和评估的连续循环。迭代解决方案适用于期限紧迫,或者需要早日将应用程序推向市场的情况,并且功能可能会随着时间的推移而发展,而不必等到每个功能都完成后再发布。

现在,让我们考虑一下什么是增量软件开发以及如何在工作过程中采用它。 

什么是增量软件开发?
增量开发是一种软件方法,用于开发较小的软件部分,一个接一个,逐渐构建功能,直到最后才完全完成产品。产品只有在构建完成后才会呈现在用户面前。根据这种方法,团队知道并充分理解他们的项目目标是什么。软件被分成块或增量(其中核心增量始终是团队的起点),一个一个地添加以完成图片。

与迭代模型相比,增量方法需要更多的资源以及适当的规划和设计。它提供可供用户立即使用的可交付成果。例如,可以每两到四个星期进行一次迭代,提供用户可以经常使用的东西。

那么,使用增量开发有什么好处,我们什么时候使用呢?

增量模型的好处
采用增量解决方案的主要优点是:

灵活性(适用于预算紧张的公司,因为更改范围和要求的成本很低);
快速交付(工作模型尽早可用);
降低整体产品故障风险(每个模块的潜在损失很容易识别和消除);
并行开发(不同的团队可以同时在同一系统的不同部分工作);
在不同时间完成模块的能力。
增量开发的主要缺点是系统必须在生命周期的最开始就被完全定义,然后才能分解成几个模块并增量构建。

增量开发在实践中究竟意味着什么?公司什么时候可以采用这种方法来最大限度地利用它?

何时使用增量模型
如果您处理新技术、动态需求,或者期望小规模的工作交付能够快速将产品推向市场,则增量解决方案会很棒。换句话说,尽快频繁发布。在这个模型中,团队不会等到项目中的所有内容都完成,而是一次生成一个功能。

但是增量模型和迭代模型之间有什么区别,它们如何协同工作?

使用迭代和增量生命周期
迭代和增量解决方案是不同的想法,尽管它们可以很好地结合在一起。这两种方法都会使团队获得相同的结果。主要区别在于,对于增量解决方案,您必须了解有关最终产品的每个细节。在迭代技术中,一个团队同时处理所有事情,并随时进行改进。这是否意味着一种方法优于另一种方法?不,但重要的是要意识到什么时候最好遵循增量路径,什么时候最好迭代。两者都做是最好的选择。

我们即将回答这个问题,为什么迭代和增量开发对于实施软件项目很重要?

在没有增量和迭代的情况下,当所有活动在整个开发过程中执行一次时,就会出现瀑布方法。敏捷中的项目同时代表增量和迭代。增量是多次迭代的结果。最终产品逐件交付。这种方法提供了暂停和适应的能力,并将风险降至最低,无需付出大量努力即可增强产品。在这种情况下,一个团队对未来的产品有一个愿景,并且清楚地知道它将要实现什么。它采用主要功能并尽快将它们呈现给用户。产品需要对变化做出响应,并且应该通过经常接收反馈来满足客户的要求。那是两种技术结合使用效果最好的时候。

猜你喜欢

转载自blog.csdn.net/wouderw/article/details/128280685
今日推荐