I was just reading the XP mailing list and followed a link to a debate in the Agile blogosphere that seems to be a sort of XP vs Scrum type thing. Basically the popularity of Scrum means that people are adopting Scrum and considering themselves Agile without engaging in the appropriate development practices that XP provides. Some claim the direction of Agile needs to change, to put more emphasis on development practices and less on Scrum, or its the end of Agile.
I don’t intend to join in this debate, as I think both sides are wrong, but I will take the opportunity to write how I see it.
The word “direction” is interesting. As if there is something in the distance called Agile thats pulling us towards it. I guess thats how most business processes work. Someone has an idea, and prescribes it in the form of a concrete model that is supposed to be emulated. In such cases this concrete model looks indeed like an endpoint, towards which one finds the direction to be followed.
Agile is, to me at least, a bit different. Its more of a decidedly non-concrete set of principles and values. They don’t define an end point at all, hence no fixed, single direction. They define a starting point, from which more concrete practices and process are pushed out, or emerged. Once a team or an individual develops those principles and values as part of their culture, they exhibit certain behaviors that are influenced by those principles and values. They may or may not end up looking more or less like XP or Scrum. Different interpretations of those Agile principles and values, as well as principles and values outside of Agile, as well as subjective circumstances will mean that whatever emerges, is likely to emerge in as many different directions as individuals and teams that start from those principles and values. XP and Scrum are just head-starts along pretty good directions. I would suggest that a team that adopts Agile practices and processes only for planning while neglecting the development aspects or vice versa has made the mistake of neglecting the principles and values and seeing (some particular sellable concrete package of) Agile practices as a destination to move towards rather than a set of principles and values to guide the emerging of behavior. Hey at least they are a step above those who think Agile and Scrum are TFS templates though!
Forget about selling Scrum practices (or XP practices) as “directions” for Agile. Sell the principles and values and let the practices emerge, in all sorts of directions!