There are small but important differences between Scrum and XP (Extreme Programming). These methodologies are definitely much aligned. In fact, if you have to choose between these two then it’s very difficult? Below are some important differences between these two,
- 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 does not define how to do development, but many Scrum teams implement many of the XP practices.
- Scrum focuses on structured sprints, and prioritizes back log items. Moreover focuses of XP are more on paired programming, prioritizing the tasks, and more test driven development.
- Scrum teams do not allow changes into their sprints. Once the sprint planning meeting is completed and a commitment made to deliver 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 non-started feature. We must be able react to changing requirements at any point during the project.
- Extreme Programming teams work in a strict priority order. Features to be developed are prioritized by the customer (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.