极限编程 VS Scrum

2021-05-27 10:00:00
visual-paradigm
翻译:
visual-paradigm
205


极限编程(XP)是一个敏捷软件开发框架,旨在帮助开发团队达成更高质量的开发节奏,开发更高质量的软件。XP是描述软件开发工程具体实践的敏捷框架。


Scrum是一个能够解决复杂适应性问题的敏捷开发框架,同时以富有创造力的方式交付最高价值的产品,帮助团队在复杂产品上进行有效协作。

作为敏捷方法论,Scrum和XP共享迭代式开发、发布和迭代计划、每日会议、回顾会议及其他敏捷过程涉及到的元素。在很大程度上,这两种方法是一致的,甚至有时很难将采用XP的团队和采用Scrum的团队区分。

(极限编程)

(Sprint周期)

不过两种敏捷方法并非完全一致,它们之间也有一些细微的差异,主要在以下4个方面:

1.迭代长度

Scrum:
  • 通常为两周到一个月。
XP:
  • 通常是一到两周。

2.是否允许在迭代中修改需求

Scrum:
  • 不允许更改sprint;
  • 一旦sprint计划会议完成,并做出了交付一组产品待办事项的承诺,那么在这一Sprint结束之前,这组待办事项将不会再变。
XP:
  • 更容易在迭代中进行更改;
  • 只要团队尚未开始研究某个特定功能,就可以将同等大小的新功能交换到XP团队的迭代中。

3.是否严格按照迭代的优先级实现用户故事

Scrum:

  • Scrum产品负责人为产品待办事项安排优先级,但团队决定他们开发待办事项的顺序。
  • Scrum团队很可能会选择从事第二重要的工作。

XP:

  • 严格按照优先顺序工作。
  • 要开发的特性由客户(或Scrum的产品负责人)确定优先级,团队需要按照这个顺序对其进行处理。

4.是否采用严格的工程方法来保证软件实施过程中的进度或质量

Scrum:

  • 没有规定任何工程实践。

XP:

  • 极限编程有十二个工程实践:现场客户、代码规范、每周40小时工作制、计划游戏、系统隐喻、简单设计、测试驱动开发、重构、代码集体所有、持续集成、小型发布、结对编程。

我们将XP和Scrum之间的区别总结如下:
方面
实践
XP
Scrum
迭代长度
是否允许修改需求
1 - 2周
2 - 4周
通过迭代处理更改
是否严格按照需求优先
当需求没有实现时,它可以被其他需求替代,但实现时间长度要求相同。
Scrum是不允许这样做的,一旦迭代完成,不允许任何更改。
优先级
是否严格按照需求优先
工程实践
是否采用严格的工程方法确保进度或质量
非常严格
要求开发人员保持自主意识
从中,我们不难发现,XP与敏捷的结合出现了一个悖论,因为XP的思想加上敏捷模式,最终向团队传达了这样的信息:“敏捷要求团队自管理,但团队又被测试驱动开发、结对编程等工程实践约束。”

结论


Scrum作为一个敏捷软件开发框架,可以在Scrum框架的基础上添加其他实践。而极限编程的工程实践也完全适应Scrum开发框架,因此,与其在XP和Scrum之间进行选择,不如将Scrum和XP进行融合。对于刚开始实践Scrum并努力实践敏捷的团队来说,在Scrum中添加XP的工程实践可能是一条合适的道路。
文章分类
联系我们
  • 联系人:郑女士
  • 联系方式: 13792883250
  • 邮箱:[email protected]
  • 地址:青岛开发区长江中路232号国贸中心C座
投稿邀请