敏捷与迭代和增量开发有什么区别?敏捷被认为是迭代和增量的吗?一些信息显示Agile是最新的迭代和增量。我需要对此作出明确的澄清。
答案 0 :(得分:48)
答案 1 :(得分:9)
增量开发意味着软件项目的不同部分不断集成到整体中,而不是单一的方法,其中所有不同的部分都组装在项目的一个或几个里程碑中。
迭代意味着一旦组件的第一个版本完成,就会对其进行测试,审核,结果几乎立即转换为该组件的新版本(迭代)。
因此,作为第一个结果:迭代开发不需要增量,反之亦然,但这些方法非常适合。
敏捷开发旨在减少软件项目中的大量计划开销,以允许快速反应发生变化,例如在客户的愿望。增量和迭代开发几乎总是敏捷开发策略的一部分。敏捷开发有几种方法(例如scrum)。
答案 2 :(得分:0)
迭代开发意味着在产品生命周期中重新审视通常的瀑布模型步骤。这些阶段甚至可以重叠,即在进行端到端测试时,您已经可以开始准备新的要求了。
增量开发意味着您可以对功能进行路线规划并逐步实施。
敏捷的目标是在每次冲刺后创造“潜在的可交付产品”。你如何实现它是一个不同的故事。敏捷试图采用各种领域的“最佳”技术(例如极端编程)。敏捷并不排除既不进行增量也不进行迭代开发。
答案 3 :(得分:0)
一些重要且成功执行的软件项目,如Google Chrome和Mozilla Firefox,都是迭代和增量软件开发的典范。
我将引用描述此方法的精细ars technica文章:http://arstechnica.com/information-technology/2010/07/chrome-team-sets-six-week-cadence-for-new-major-versions/
根据Chrome项目经理Anthony Laforge的说法,增加的步伐旨在解决三个主要目标。一个是更快地向用户提供新功能。第二个是使发布计划可预测,因此更容易规划将包括哪些功能以及哪些功能将针对以后的版本。第三,也是最违反直觉的,是为了降低Chrome开发人员的压力。 Laforge解释说,发布之间较短,可预测的时间段更像是“离开大中央火车站的火车”。准备好的新功能不必等待其他需要更长时间才能完成的功能 - 它们只需跳过当前版本的“列车”即可。这可以反过来减轻开发人员的压力,急于完成其他功能,因为另一个发布列车将在六周内到来。他们可以轻松地知道他们的工作并没有让火车离开车站。<<
答案 4 :(得分:-6)
敏捷是项目开发中最常用的技术。在敏捷技术中,人们正在从一种技术转向另一种技术。主要目的是消除依赖性。 就像人民从生产转向开发,从开发转向测试。 这就是为什么依赖会移除一个团队或个人..