Scrum v/s Extreme Programming

Scrum and Extreme Programming, both fall under the Agile umbrella. Both of these are definitely aligned. I started working with the new team and on the very first day, I had a very hard time deciding whether they following Scrum or following XP. Scrum and XP are almost similar and aligned, however, there are key differences.

Iteration

In Scrum, the team works in an iterative manner, often called Sprints and can be maximum of a month long. In XP, team’s iteration is of two weeks long.

Commitments

In Scrum, once the planning meeting is completed, the team commits to delivering a set of Product Backlog Items. Those commitments remain unchanged through the end of the sprint. In Short, Scrum Team does not allow changes in their sprints. On the other hand, XP teams are little flexible with this. They are open and responsive to suggestion for a change of a particular feature as long as the team has not started to work on it and can be swapped in the teams iterations with a feature of equivalent size.

Priority

In Scrum, Product Owner decides the priority and prioritize the Product Backlog, however, the team decides the sequence in which they will develop the backlog items. In XP, the team works strictly in a priority order. Customer prioritizes the work and team are required to work on them in that order.

Engineering Practices

Test Driven Development (TDD), Pair Programming, Simple Design, Refactoring, Continuous Integration are some of the engineering practices prescribed by XP. On the other hand, Scrum does not prescribe any engineering practices.