extreme programming


Every XP aficionado knows about the 4 values and 12 practices, but how many people know about the 15 principles? I'll confess I didn't when Kent talked about them at JAOO last week. After the talk I asked Kent about them: "were they in the White Book". "Yes", he replied, "cunningly hidden in a chapter called 'Basic Principles'".

Fundamental Principles:

Further Principles:

At the JAOO talk, Kent talked about how principles were a step between the universality (and vagueness) of values and the concreteness (and dogmatism) of practices. In the White Book he said "These principles will help us as we choose between alternatives. We will prefer an alternative that meets the principles more fully to one that doesn't. Each principle embodies the values. A value may be vague. One person's simple is another person's complex. A principle is more concrete. Either you have rapid feedback or you don't."

The principles haven't been talked about much, even by Kent. I think that's why they aren't so well known. The values and practices were discussed, debated, and refined on the wiki in the formative stages of describing XP. Kent prepared the principles primarily for the White Book.

Refreshing my mind with them now, I can see why Kent wanted to remind everyone of them at JAOO. One of the biggest issues with XP, and indeed with any agile method, is how to do the essential local adaptation where you alter the process to fit the local conditions. The principles help provide some guidelines on what bits of adaptation will work, and which go against the XP grain. They are part of the essence of XP that every skilled XPer both knows, and finds difficult to communicate. I'll remember to mention them whenever I describe XP in future.

if you found this article useful, please share it. I appreciate the feedback and encouragement

Find similar articles at the tag

extreme programming