首页 > 敏捷 >

极限编程 VS Scrum

PMP用户头像(提问)
网友
105 次浏览 | 2024-04-18 提问

最佳答案

该文由提问者精选推荐
PMP用户头像(回答)
PMP考试培训
2024-04-18 15:21 回答

极限编程(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的工程实践可能是一条合适的道路。 温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!