极限编程(extreme programming)和并列争球(scrum)的区别

多年来,在软件行业中出现了许多不同的软件开发方法,如瀑布式开发方法、V模型、RUP等,以及其他一些线性的、迭代的和组合的线性迭代方法。敏捷模型(或者更准确地说,是一组方法论)是由敏捷宣言引入的一种较新的软件开发模型,用于解决传统软件开发方法中的缺陷。...

极限编程vs SCRUM | XP vs SCRUM

多年来,在软件行业中出现了许多不同的软件开发方法,如瀑布式开发方法、V模型、RUP等,以及其他一些线性的、迭代的和组合的线性迭代方法。敏捷模型(或者更准确地说,是一组方**)是由敏捷宣言引入的一种较新的软件开发模型,用于解决传统软件开发方法中的缺陷。

敏捷方法以迭代开发为基础,以用户反馈为主要控制机制。与传统方法相比,敏捷可以被称为以人为中心的方法。敏捷模型通过将系统分解为非常小和可管理的子部分,很早就交付了产品的工作版本,这样客户就可以尽早地实现一些好处。与传统方法相比,敏捷的测试周期相对较短,因为测试是与开发并行进行的。由于所有这些优点,目前敏捷方法比传统方法更受欢迎。Scrum和极限编程是敏捷方法中最流行的两种变体。

什么是SCRUM?

如上所述,SCRUM是一个渐进的迭代项目管理过程,属于敏捷方法家族。SCRUM的基础是在开发周期的早期高度重视客户的参与。它建议客户尽早、经常地进行测试。当稳定版本可用时,测试在每个点进行。Scrum的基础是从项目开始的测试开始,一直持续到项目的结束。

SCRUM的核心价值是“质量是团队的责任”,它强调软件的质量是整个团队(不仅仅是测试团队)的责任。SCRUM的另一个重要方面是将软件分解成更小的可管理的部分,并很快地将它们交付给客户。交付一个有效的产品是最重要的。然后团队继续改进软件,并在每个主要步骤持续交付。这是通过拥有非常短的发布周期(称为sprint)并在每个周期结束时获得改进的反馈来实现的。

SCRUM为开发团队的顺利运行定义了几个关键角色。他们是产品所有者(代表客户并维护产品backlog)、Scrum master(通过召开Scrum会议、维护sprint backlog和burn down图表来充当团队的组织者和协调人)和其他团队成员。一个团队可能由传统的角色组成,但大多是自我管理的团队。主要的Scrum工件是产品积压工作/发布积压工作(愿望列表)、Sprint积压工作/缺陷积压工作(每次迭代中的任务)、烧毁图表(剩余工作与日期)。SCRUM的主要仪式是产品积压会议、Sprint会议和回顾会议。

什么是极限编程?

极限编程(extremeprogramming,简称XP)是一种属于敏捷模型的软件开发方法。极限编程以非常小的连续步骤执行阶段(与传统方法相比)。第一次***只需一天或一周,故意不完整。为了提供开发软件的具体目标,自动化测试在开始时编写。然后由开发人员进行编码。重点是成对编程。一旦所有的测试通过,编码就被认为是完整的。下一个阶段是设计和架构,它涉及到由同一组程序员重构代码。在这个阶段的最后,不完整的(但功能性的)产品将呈现给涉众。在这之后,下一个阶段(重点是下一组最重要的特性)就开始了。

极限编程和SCRUM有什么区别?

可以理解,极端编程和SCRUM方法非常相似。然而,这两种方法之间有细微但重要的区别。SCRUM sprint持续2-4周,而典型的XP迭代时间更短(过去1-2周)。通常,SCRUM团队不允许对sprint进行变更,但是XP团队对迭代中的变更更为灵活。例如,在sprint规划之后,sprint的项目集保持不变,但是一个尚未开始工作的特性可以随时与XP中的其他特**换。严格来说,XP和另一个产品的优先顺序是由SCRUM开发的产品和XP产品的优先顺序决定的。

  • 发表于 2020-10-23 20:25
  • 阅读 ( 158 )
  • 分类:IT

你可能感兴趣的文章

声明的(declarative)和命令式程序设计(imperative programming)的区别

...式编程与命令式编程 5. 摘要 什么是声明式编程(declarative programming)? 声明式编程可以用一个真实的场景来解释。假设用户需要检查新邮件。一种方法是启用收件箱通知。用户只需启用一次通知,每次新邮件到达时,他都会自动...

  • 发布于 2020-10-16 09:49
  • 阅读 ( 557 )

水蟒(anaconda)和python编程(python programming)的区别

...据科学和机器学习任务更加容易。 什么是python编程(python programming)? Python是一种高级的、通用的编程语言。它是免费的,开源的,跨平台的。它还支持数据类型,如数值、字符串、列表、元组和字典。Python是一种多范式编程语...

  • 发布于 2020-10-18 11:25
  • 阅读 ( 336 )

函数式程序设计(functional programming)和命令式程序设计(imperative programming)的区别

...式的命令式编程 6.摘要 什么是函数式程序设计(functional programming)? 函数式程序设计是以数学为基础的。函数式编程背后的关键原则是,所有的计算都被看作是独立数学函数的组合。数学函数将输入映射到输出。假设有一个函数...

  • 发布于 2020-10-19 02:12
  • 阅读 ( 486 )

结构化的(structured)和非结构化编程(unstructured programming)的区别

结构化的(structured)和非结构化程序设计(unstructured programming)的区别 计算机程序是计算机执行用编程语言编写的任务的一组指令。编程范例可以根据语言特性对编程语言进行分类。结构化编程和非结构化编程是两种常见的编程...

  • 发布于 2020-10-24 05:09
  • 阅读 ( 497 )

敏捷vs.scrum vs.瀑布:选择正确的软件开发方法

... 什么是并列争球(scrum)? ...

  • 发布于 2021-03-10 22:09
  • 阅读 ( 369 )

英特尔移动处理器酷睿i7(intel mobile processor core i7)和酷睿i7极限版(core i7 extreme edition)的区别

英特尔移动处理器酷睿i7 vs酷睿i7极限版 英特尔的核心i7处理器阵容已经很快就被人们所熟知。不过,英特尔发布处理器以获得最大性能。这些被称为核心i7极端版。普通核心i7与核心i7极端版之间最显著的区别是解锁乘法器。乘...

  • 发布于 2021-06-23 17:19
  • 阅读 ( 194 )

编码(coding)和编程(programming)的区别

...建软件的一部分。这就是编程的关键所在。 什么是编程(programming)? 编程是指对机器或应用程序进行编程,使其在没有任何错误的情况下运行。编程是一个常用的术语,用来描述用一组指令来执行给料机的过程。简单地说,编程...

  • 发布于 2021-06-25 04:52
  • 阅读 ( 1229 )

敏捷的(agile)和并列争球(scrum)的区别

...程。敏捷是一个总括术语,它还包括其他过程,如看板、极限编程等。Scrum的范围有限,因为它只是实现敏捷方法的各种框架之一。因此,Scrum是敏捷的;但是敏捷不是Scrum。 敏捷和Scrum的规划: 敏捷方**打算定期交付和更新软...

  • 发布于 2021-06-25 07:31
  • 阅读 ( 438 )

翻译(translator)和程序设计语言中的解释器(interpreter in programming language)的区别

...、编程   什么是程序设计语言中的翻译器(a translator in programming language)? 翻译人员将程序从一种语言转换成另一种语言。有各种类型的翻译器,如编译器、解释器和汇编程序。编译器将整个高级语言源代码转换为机器代码。如...

  • 发布于 2021-06-30 18:15
  • 阅读 ( 375 )

编码(coding)和编程(programming)的区别

...逻辑。总的来说,编码是编程的一个步骤。 什么是编程(programming)? 与编码相比,编程是一个更广泛的概念。程序设计是为计算机执行一项任务而设计和开发程序的整个过程。第一步是找出问题所在。下一步是做分析。这涉及到...

  • 发布于 2021-06-30 22:23
  • 阅读 ( 481 )
jetfso5955
jetfso5955

0 篇文章

相关推荐