So you’ve had enough of failed projects. You like the sound of agile development as an alternative. You buy into the key principles and you’re ready to take the plunge.
Which methodology should you go for?
I don’t have any official stats on which agile methodologies are most widely used, but there certainly seems to be much more of a buzz about eXtreme Programming and Scrum, at least on a global basis.
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.