Extreme Programming (XP) is a significant improvement over Scrum. At first glance, this might seem surprising, given how similar the rituals are: you still do planning, you still run iterations (which Scrum calls sprints), and you still break the work into small tasks. But XP stands out because it includes the engineering practices that make this collaboration style not only feasible but sustainable.
One major practice in XP—and Scrum—is shared code ownership. In both approaches, all code belongs to the team. Anyone can work on any task or submit changes to any repository. However, this introduces a challenge: every developer is responsible for a much larger body of code than if the codebase were divided into clearly defined areas of individual ownership. Where XP excels is in how it addresses this challenge.
In XP, developers collaborate closely to manage shared code ownership. Most notably, all work is done in pairs. Pair programming ensures that no one gets stuck for long and that knowledge is shared continuously. This is essential for maintaining momentum and handling the complexity of a collectively owned codebase. Pairing also lightens the load of constant iterations by reducing individual performance pressure and replacing it with the energy and camaraderie of close collaboration.