敏捷,迭代和增量开发之间的区别

Son*_*nni 41 iteration agile methodology

敏捷,迭代和增量开发有什么区别?敏捷被认为是迭代和增量的吗?一些信息显示Agile是最新的迭代和增量.我需要对此作出明确的澄清.

Gis*_*shu 49

  • 迭代 - 你没有一次完成一个功能.您在代码>>获取反馈>>代码>> ...循环.你继续迭代直到完成.
  • 增量 - 您现在可以根据需要进行构建.除非需要证明,否则不要过度设计或增加灵活性.当需要时,你建立在已经存在的任何东西之上.(注意:与迭代的不同之处在于你正在添加新的东西..与精炼的东西).
  • 敏捷 - 如果你重视敏捷宣言中列出的相同内容,那么你就是敏捷的.这也意味着没有"做敏捷"的标准模板或清单或程序.它没有过分指定..它只是表明你可以使用你需要的任何实践"敏捷".Scrum,XP,看板是一些更具说明性的"敏捷"方法,因为它们共享同一组值.持续和早期的反馈,频繁的发布/演示,演化设计等等.因此它们可以是迭代和增量的.

  • 我建议阅读Karl Scotland关于该主题的博客(http://availagility.co.uk/2009/12/22/fidelity-the-lost-dimension-of-the-iron-triangle/),在那里他介绍了保真度的概念进一步解释增量和迭代开发之间的区别以及敏捷如何意味着增量+迭代(即2不兼容) (6认同)

小智 9

增量开发意味着软件项目的不同部分不断集成到整体中,而不是单一的方法,其中所有不同的部分组装在项目的一个或几个里程碑中.

迭代意味着一旦组件的第一个版本完成,它就会被测试,审查,结果几乎立即转换为该组件的新版本(迭代).

因此,作为第一个结果:迭代开发不需要增量,反之亦然,但这些方法非常适合.

敏捷开发旨在减少软件项目中的大量计划开销,以允许快速响应,例如在客户的愿望中.增量和迭代开发几乎总是敏捷开发策略的一部分.敏捷开发有几种方法(例如scrum).