Scrum And XP - Face 2 Face
Abhishek Johri
Veteran Program Management Leader || Digital Strategy And GCC Transformations || Program Director
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
Best Scrum Software Every Project Needs
A powerful scrum software that supports scrum project management. It features scrum tools like user story map, product backlog management, sprint backlog management, task management, daily scrum meeting, sprint planning tool, sprint review tool, sprint retrospective tool, burndown, impediment, stakeholder and team management.
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 backlogitems, 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.
- For example: TDD, pair programming, simple design, refactoring…
We can summarize the differences between XP and Scrum as follows:
Aspects
Practices
XP
Scrum
Iteration Length
Whether to allow modification of requirements
1-2 weeks
2-4 weeks
Handle Changes with an Iteration
Whether the demand is strictly in accordance with the priority
It can be replaced with other requirements when a need is not implemented, but the implementation time is equal.
Scrum is not allowed to do this. Once the iteration is completed, no changes are allowed, and Scrum Master is strictly checked.
Priority of Features
Whether the demand is strictly in accordance with the priority
Yes
No need to
Engineering Practices
Whether to adopt strict engineering methods to ensure progress or quality
Very strict
Require developers to be conscious
Therefore, we believes that XP’s approach is acceptable, but it brings Agile into a confusing paradox, because the idea of XP, combined with agile mode, conveys to the team the message that “you are a fully self-managed organization, but you have to implement TDD, pair programming, etc.”
It is not difficult to find that the four distinctions are quite obvious:
- In Scrum, it emphasizes self-organization
- In XP, it emphasizes strong engineering practice constraints.
Conclusion
Scrum is a framework for product development, which is a container where you can add other practices. XP is one of those practices that you can do within Scrum framework. There are no reasons why a team should choose between Scrum and XP. XP rules and practices are not easy and the majority of XP rules are non-negotiable. Adding XP into Scrum could be a natural path for teams starting out with Scrum and striving to be a professional Scrum Team.