The Extreme Programming Values – Alive and Well!
Like so many of my compatriots, I got started in the agile development world doing Extreme Programming. At first, I was enamored with the “engineering” practices such as Pair Programming and Refactoring. These practices have become the foundation that is required for any agile implementation to truly succeed. Most other agile methodologies actually either explicitly or implicitly require these practices in order to succeed.
Over the years, I found that there was something bigger here. The practices are important, and they help a lot of good things happen. The practices are not enough though. What really informs the success of the team is the ability to incorporate the *values* that XP incorporates. These values will do more for the organization than any other prescription, methodology or tool. I can honestly say that I have seen teams not follow any of the specific activities outlined by many of the more project management oriented agile methodologies, and still be highly productive and agile, just by embracing and living these values.
Something Kent Beck said at the very first Extreme Programming Conference has stuck with me ever since. At the beginning of the obligatory conference banquet, he was asked to say a few words. It has been quite a few years now, so I am paraphrasing, but I’m pretty sure I have it at least very close. He said “You know, hopefully in five years we won’t even be using the words Extreme Programming, it’ll just be how we develop software”. The reason this comes to mind is that it is indicative of how I understand values. They are not something you call out (“I am now embracing the value of communication by talking to my neighbor”) as much as something that becomes a part of you and a part of how you go about your day to day life.
Let’s explore the values one at a time over the next few weeks. As we do so, let’s think about what they mean to us as developers. Let’s also remember that a developer is *anyone* who is involved in the development of software, not just the coders.
Just as a refresher, the Extreme Programming values are:
Let’s go through each one together over the next few weeks. No matter if an organization is doing Extreme Programming, Lean, Scrum, or None of the Above, these values will make it a stronger, happier, and more successful development team.