Scrum和敏捷开发有什么区别?[关闭]


385

Scrum和敏捷开发有什么区别?Sprint和迭代是否相同?



3
我认为这个问题可能与主题无关,因为它与编程无关。
代码

他们申请制造和生产部门。尚未完全了解它们将如何减轻现有软件实践的影响。干净,理解,礼貌,成熟。
西瓦·图玛

1
我投票结束这个题为离题的问题,因为它与软件开发过程或方法有关。
Thomas Owens 2015年

1
Scrum是实现类似于Kanban的敏捷过程的方法之一。因此,理想情况下,我们应该寻找Scrum和看板的黑白
Amitesh

Answers:


353

Scrum只是众多迭代式和增量式敏捷软件开发方法之一。您可以在此处找到该过程的非常详细的描述。

在SCRUM方法中,Sprint是开发的基本单元。每个Sprint从计划会议开始,在此会议中确定Sprint的任务,并确定对Sprint目标的承诺。冲刺以审查或回顾会议结束,在该会议中对进度进行复核并确定下一个冲刺的课程。在每个Sprint期间,团队都会创建产品的完成部分。

在敏捷方法中,每次迭代都涉及一个团队,在整个软件开发周期中进行工作,包括计划,需求分析,设计,编码,单元测试和向利益相关者展示工作产品时的验收测试。

因此,如果在SCRUM Sprint中执行所有软件开发阶段(从需求分析到验收测试),而我认为应该这样做,则可以说SCRUM Sprint与AGILE迭代相对应。


12
很好的解释。一些修改,我建议:Sprint计划是第一个事件里面的冲刺时间盒。冲刺没有差距,因此在冲刺之前什么也没有。
瑞安·克伦威尔

63
答案还不够清楚。它解释这两件事的方式听起来很相似。只是使用了不同的术语来描述它们。我认为这个答案(尽管只是一条线)很清楚,并且可以准确地告诉我们敏捷是一种哲学,而Scrum是该哲学的一种实现。
Nawaz 2015年

1
Scrum是用于开发,交付和维持复杂产品的框架,而不是项目管理。它是宣言中描述的敏捷哲学的基础之一,而不是其结果。
艾伦·拉里默

76

如上文所述,

Scrum是一种迭代的增量式敏捷软件开发方法,用于管理软件项目以及产品或应用程序开发。因此,Scrum实际上是一种敏捷方法,已在软件开发中广泛使用。

因此,Scrum是Agile的一种特定风格,具体地说,它被称为敏捷项目管理框架。

另外,Scrum内部主要有两个角色:1.主要/核心角色2.辅助角色

主/核心角色:它主要包括三个角色:a)。Scrum Master,b)。产品负责人,c)。开发小组。

辅助角色:Scrum团队中的辅助角色是那些没有正式角色并且很少参与Scrum游行的人员,但是必须考虑到这些角色。即 利益相关者,经理。

Scrum Master:-Scrum中有6种会议类型:

  • 每日Scrum /站立
  • 积压整理:故事情节
  • Scrums Scrums
  • 冲刺计划会议
  • 冲刺审查会议
  • 冲刺回顾

让我知道是否有人需要更多投入。


2
关于Scrum中角色的漂亮文章。谢谢!
ass

1
谢谢!这对初学者
很有帮助

1
Scrum of Scrums会议的目的是什么?
kn3l

30

SCRUM:

SCRUM是一种敏捷方法。它是框架而不是方法。

它没有提供有关需要做什么的详细说明,而是大部分取决于开发软件的团队。因为开发项目知道如何解决问题,这就是为什么在他们身上留下很多东西的原因

跨职能和自组织的团队对于Scrum至关重要。在这种情况下,没有团队负责人将任务分配给团队成员,而是由整个团队解决问题。它是跨功能的,从构思到项目的实施,每个人都参与项目。

Scrum的优势在于,可以根据已完成的工作而不是根据投机或预测来调整项目的方向。

参与角色:产品负责人,Scrum主管,团队成员

敏捷方法论:

构建本质上不可预测的软件应用程序

在这种方法中使用了称为冲刺的迭代式和增量式工作节奏。

敏捷和SCRUM都遵循系统-一些功能是作为sprint的一部分以及在每个sprint的末尾开发的;这些功能是通过编码,测试以及将其集成到产品中来完成的。在每次冲刺结束时都会向所有者提供该功能的演示,以便可以获取反馈,这对下一次冲刺很有帮助。

敏捷开发宣言:

  1. 个人与流程和工具之间的互动
  2. 工作软件超过全面的文档
  3. 客户合作而非合同谈判
  4. 响应计划变更

也就是说,尽管右侧的项目有价值,但我们更重视左侧的项目。


20

Scrum如何适应敏捷开发?

尽管敏捷方法不仅可以应用于软件行业,而且可以应用于其他行业,但Scrum特定于软件开发。

Scrum不是一种方法论。它只是提供了敏捷开发的结构,纪律和框架。整个项目由一系列Sprint或Sprint循环(1到n)组成,其中每个Sprint的持续时间相同。如果“时间”用T表示,则T1 = T2 = T3 =…Tn。短跑可能在2到4周之间。短于2周的冲刺是不理想的,使用频率较低。在每个Sprint的末尾,都会生成一个功能/工作软件,用户可以对其进行实际测试。

原始文章在这里...

https://www.linkedin.com/pulse/agile-development-using-scrum-what-you-dont-know-sri-prakash?trk=prof-post


4
请注意,Scrum不是特定于软件开发的……它在软件开发中非常流行,而仅仅是因为软件开发的复杂性。使用Scrum可以使任何复杂的产品开发受益。有趣的事实:如果您搜索《 Scrum指南》,就不会一次提到“软件”一词​​。
尼克·克拉克

15

敏捷和Scrum是项目管理中使用的术语。敏捷方法论采用增量和迭代的工作节拍,也称为冲刺。另一方面,Scrum是在软件开发中使用的敏捷方法的类型。

敏捷是实践,而Scrum是遵循该实践的过程,与eXtreme Programming(XP)相同,看板是遵循敏捷开发实践的替代过程。


9

瀑布方法是一个顺序设计过程。这意味着在八个阶段(构想,启动,分析,设计,构造,测试,实施和维护)中的每个阶段完成时,开发人员将继续进行下一步。

由于此过程是顺序的,因此,一旦完成步骤,开发人员就无法返回上一步–除非从头开始,否则不要刮开整个项目。没有变更或错误的余地,因此必须在开始时就制定项目结果和详尽的计划,然后谨慎进行

ACP敏捷认证是针对瀑布方法的缺点的“解决方案”。敏捷方法学采用循序渐进的方法,而不是顺序设计过程。开发人员从简单的项目设计开始,然后开始在小型模块上工作。这些模块的工作按每周或每月冲刺完成,在每个冲刺结束时,评估项目优先级并运行测试。这些Sprint允许发现错误,并在下一个Sprint运行之前将客户反馈纳入设计。

由于缺乏初始设计和步骤,该过程经常因其协作性而受到批评,这种协作性着重于原则而不是过程。


敏捷是通用的英语单词,它意味着创建和响应更改的能力。在敏捷软件开发领域,有一套敏捷方法和框架(您可以在Wiki中找到它们),其中之一就是SCRUM,而SCRUM是框架而不是方法。
Don_Manj

9

首先,我可以说的是-敏捷是统一过程的一种演化方法论,专注于迭代与增量开发(IID)。IID更加强调在开发阶段(实际编码)和增量交付的迭代开发。它不会再强调在迭代本身中处理的需求分析(初始)和设计(细化)。因此,这里的迭代不是一个“迷你项目”。

在敏捷开发中,我们进一步扩展了IDD,增加了诸如团队协作,进化需求和设计等现实。SCRUM是通过考虑人为因素并围绕“团队智慧”原则来实现这一目标的工具。因此,这里的Sprint是一个“纯粹的迷你项目”,它改善了纯IID模型。

因此,从理论上讲,以敏捷方式实现的迭代是Sprint(突出显示迭代的规模很小,交付速度很快)。我并没有真正区分敏捷和SCRUM,我发现SCRUM是将敏捷原理付诸实践的自然方法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.