Extreme Programming (XP) vs Scrum
5-7 minutes
Extreme Programming (XP) is an agile software development framework that aims to produce higher quality software, and higher quality of life for the development team. XP is the most specific of the agile frameworks regarding appropriate engineering practices for software development.
Scrum is a framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value. Scrum itself is a simple framework for effective team collaboration on complex products.
Scrum and XP are both Agile approaches that share the common concepts of iterative development, working software, release and iteration planning, daily meetings ,retrospective, all elements of an Agile process. Both approach are aligned each other that sometimes is difficult to distinguish between a team who is adopting XP while another team who is doing Scrum.
Extreme Programming
Sprint Cycle
There are however some differences, some of them very subtle, and particularly in the following 4 aspects:
1. Iteration length
Scrum
- Typically from two weeks to one month long.
XP
- Typically one or two weeks long.
2. Whether requirements are allowed to be modified in an iteration
Scrum
- 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
- 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 un-started feature.
3. Whether User Story is implemented strictly according to priority in iterations.
XP
- 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.
Scrum
- Scrum product owner prioritizes the product backlog but the team determines the sequence in which they will develop the backlog items.
- A Scrum team will very likely choose to work on the second most important.
4. Whether to adopt strict engineering methods to ensure progress or quality in the process of software implementation
Scrum
- Doesn’t prescribe any engineering practices;
XP
- XP does.