Which methodology should you go for?
So which is right for you, eXtreme Programming (XP) or Scrum?
I’ve heard people ask this question. I’ve heard people talk about them as though they are mutually exclusive choices. But really they are not.
eXtreme Programming and Scrum are so different they are not really comparable.
They share the same underlying values described in the agile manifesto, and the same underlying principles that characterise ‘agile’. They overlap in areas, but fundamentally they address completely different aspects of agile software development.
Scrum is an agile management methodology. Whereas XP is an agile engineering methodology. As such they are entirely complementary.
If your motivation for agile is wanting more visibility, better business engagement, team collaboration, a clear process for prioritisation, etc – Scrum is for you.
In both cases you will benefit from a more incremental, iterative approach to development.
In my experience, Scrum is the more likely starting point when the adoption of agile is driven by management. XP is the more likely starting point when the adoption of agile is driven by developers.
In my view? Ideally you would do both. Or at least elements of both. And you would start with the one that addresses the issues causing you to adopt agile in the first place.