作为一种开发流程, 目前为各大公司所采用,
敏捷流程的具体实践有XP 和Scrum, 似乎很少有文章介绍这两者的区别,
Scrum and Extreme Programming (XP) are definitely very aligned. In fact, if you walked in on a team doing one of these processes you might have hard time quickly deciding whether you had walked in on a Scrum team or an XP team. The differences are often quite subtle, but they are important. <!--more-->I think there are four main differences between Scrum and XP:
- Scrum teams typically work in iterations (called sprints) that are from two weeks to one month long. XP teams typically work in iterations that are one or two weeks long.
- Scrum teams do not allow changes into their sprints. Once the sprint planning meeting is completed and a commitment made to delivering a set of product backlog items, that set of items remains unchanged through the end of the sprint. XP teams are much more amenable to change within their iterations. As long as the team hasn’t started work on a particular feature, a new feature of equivalent size can be swapped into the XP team’s iteration in exchange for the unstarted feature.
- Extreme Programming teams work in a strict priority order. Features to be developed are prioritized by the customer (Scrum’s Product Owner) and the team is required to work on them in that order. By contrast, the Scrum product owner prioritizes the product backlog but the team determines the sequence in which they will develop the backlog items. I’ve never seen a Scrum team not choose to work on the highest-priority item. And a Scrum team will very likely choose to work on the second most important. However, at some point one of the high priority items may not be a good fit for the sprint being planned—maybe a key person who should work on it will be swamped by work on higher priority items. Or maybe it makes sense to work on a slightly lower priority item (let’s say #10 on the product backlog instead of #6) because the team will be working in the code where #10 would be implemented.
- Scrum doesn’t prescribe any engineering practices; XP does. I love the XP engineering practices, particularly things like test-driven development, the focus on automated testing, pair programming, simple design, refactoring, and so on. However, I think it’s a mistake to say to the team “you’re self-organizing, we trust you, but you must do these specific engineering practices….” This sends a mixed message to the team that causes confusion. I love the XP practices but don’t like mandating them. I want teams to discover the value on their own.
These are small and often subtle differences between Scrum and XP. However, they can have a profound impact on the team. My typical advice to teams is “start with Scrum and then invent your own version of XP.” The XP practices are wonderful but they work best and teams commit to them the most stridently if they discover them themselves rather than having them mandated. I help teams do this in my coaching by asking questions like, “Would this bug have happened if we’d been doing test-driven development?” and “Would we have made that mistake if we were pairing?”
I find true XP to be a small target off in the distance. If a team can aim at that and hit the bull’s eye, wonderful. If not, however, they are likely hacking (e.g., refactoring without any automated testing or TDD). Scrum is a big bull’s eye that on its own brings big improvements simply through the additional focus and the timeboxed iterations. That’s a good starting point for then adding the XP practices.
http://en.wikipedia.org/wiki/Scrum_(development)
http://www.mountaingoatsoftware.com/blog/differences-between-scrum-and-extreme-programming
相关推荐
敏捷开发实践-我们这样实践Scrum 敏捷开发实践-我们这样实践Scrum 敏捷开发实践-我们这样实践Scrum
NULL 博文链接:https://agiledo.iteye.com/blog/611562
Scrum敏捷项目管理Scrum敏捷项目管理Scrum敏捷项目管理Scrum敏捷项目管理Scrum敏捷项目管理Scrum敏捷项目管理Scrum敏捷项目管理Scrum敏捷项目管理Scrum敏捷项目管理
Scrum及其实践\敏捷测试模式
什么是敏捷软件开发? 敏捷方法的项目计划 敏捷项目管理和传统项目管理 为什么使用敏捷? Scrum概述 ...Scrum实践和工作产品 敏捷开发中的估计方法 测试驱动开发 Scrum应用 支持工具和模版 一些常见的误解
硝烟中的Scrum和XP高清敏捷开发介绍
敏捷思维:价值观、原则、定义;Scrum概要、框架及流程等;
他们还尝试过XP实践——持续集成、结对编程、测试驱动开发等等,还试过了把XP跟Scrum组合。 本书描述的是一个成功敏捷团队的工作过程,没有理论、没有引用、没有脚注、没有废话。读者可以把它当作一些基础实践的入门...
作者花四年时间,把自己近十五年的敏捷实践经验,特别是近四年中针对各种敏捷转型企业的咨询和指导工作,并结合旁征博引的方式,从更高的思想层次对敏捷与Scrum多年来的经验和教训进行深入而前面的梳理和总结,最终...
Scrum敏捷软件开发过程.pdfScrum敏捷软件开发过程.pdfScrum敏捷软件开发过程.pdfScrum敏捷软件开发过程.pdfScrum敏捷软件开发过程.pdfScrum敏捷软件开发过程.pdfScrum敏捷软件开发过程.pdfScrum敏捷软件开发过程....
敏捷软件开发之Scrum实践敏捷软件开发之Scrum实践敏捷软件开发之Scrum实践
由创始人发布和维护的敏捷开发指南
Scrum敏捷项目管理要点总结
scrum敏捷开发全景视图,流程,方法和最佳实践,最佳指导实践
什么是Scrum敏捷开发方法?Scrum中有哪些角色?Scrum的工件,Scrum中的所有会议,Scrum的优势和挑战,Scrum中的需求和迭代开发管理实践示例,全文概述什么是scrum。