February 15, 2005
XP Principles vs practices
A couple of years ago, I was on a panel to discuss whether it was the princples or the practices of Extreme Programming that defined it.
I seem to remember that I rather unsatisfactorily (to my mind) chose "both".
Were I on that panel today, I would first introduce two premises:
1) Principles are not what we profess to value, but those things that actually guide our decisions and our actions (which means for example, that "profit" is a very common principle that almost no one admits to having).
2) Context + Shared Principles == Culture
I would then introduce the notion that goals and principles mutually shape and influence one another (choose a goal, you illuminate a principle; declare a principle and you imply a goal).
I would then state my position that practices -- while not arbritrary -- are only chosen by *people* in light of their actual Principles to achieve their goals in a given context.
Thus, if our chosen practices don't match our culture, they won't work very well. So you must first focus on your culture to apply XP (or any other methodology) effectively, and the best way to do that is to focus on yourself: Understanding the principles that drive your life (and adjusting them if you don't like what you find) predicates any external change (since what else do you really have direct control over except what's inside you?). Since this can take a lifetime itself, you're probably not going to get much out of XP (or any other methodology) unless your principles are already highly aligned with those of the methodology -- and even then, the changes wrought upon yourself as you try to apply it, will far outweigh any cultural change you happen to effect around you.
IOW the XP practices are of limited value to you unless you (where you is you, your team and your customer) share (really share) its principles, and have goals that are similar in context. Learning to apply XP (or any other methodolgy) effectively however is very rewarding -- regardless of the outcome.
Posted by wcaputo at February 15, 2005 08:17 PMWith you 100% on this one Bill. IT shops often focus too heavily on the gimmickry of the practices in a methodology without ever embracing the principles that those practices support.
For example. I have seen organizations take a look at projects that have been run using DSDM and XP methodologies. The see they have been a success and decide to adopt those methodologies - put only bring across the practices and not the principles.
Take time-boxing for example. They might look at time-boxing and decide that they will break the delivery into time-boxes and those time-boxes will have fixed delivery dates. The developers dream up some requirements, give them priorities and then dropped some lower priority ones to hit the delivery date. Only at the end of the time-box, or worse the end of the project ,do they actually go to the end-users and say "Tada - here it is, it must be what you want because I used time-boxes." The end-user replies "You guys were working on that? Nobody told me..."
Without principles (such as close stakeholder involvement) the practices (such as time-boxing) have little impact and there is a danger that the practices change as often as fashion dictates while the principles get lost.
Having said that I have also worked in areas were the principles then the practices have been adopted whole-heartedly and is has worked brilliantly. The practices got better and better each iteration as we discovered what worked best for us, but we understood why were tweaking the practices because they needed to support our principles.
A culture shift can take place within even large organizations; it just takes a long time and is hard work. Fashion is a whim - change is progress.
Posted by: Martin Woodward at February 16, 2005 06:23 AMThanks for the feedback Martin. I try to remember that its not about too much or too little focus, but a function of how closely principles align the intent of a chosen methodology. I think people *always* focus on practices. They rarely question their own premises.
Those who change their organizations do so by understanding and changing their premises, and by understanding and accepting those of others.
When organizational change takes place it starts within people. Leaders change themselves first, then change others. Followers wait for others. Anti-leaders simply squak about the problems (its hard not to be an anti-leader when you are not a positional leader, but it is possible).
When I see the problem as "out there" at best I am waiting for someone to lead me, at worst, I am actually leading in the wrong direction. When I see the problem as "in here" I am leading.
I try to remember that when I look at these things :-)
Posted by: bill at February 23, 2005 01:46 PMI would say neither - it is the values. If your organization's values do not match the 4\5 values in XP, then good luck implementing either the practices or the principles.
Posted by: Carlton Nettleton at April 22, 2005 04:43 PMI'm in hesitent agreement with you on Carlton, in that I've never found a satisfactory distinction between Principles and values. I.e. I tend to use the term "principle" as "those things I value most." or short for "principle (i.e. first) value."
IOW, I am not sure how what I said in the blog entry is actually different from saying "They must have similar values (i.e. principles) to use similar practices." (which is what I thought I said).
Posted by: bill at April 22, 2005 05:38 PMBad Links (January 19, 2006)
Visual Studio Team System Jumpstart (January 18, 2006)
Aligining Value (January 17, 2006)
Lisp Again (January 16, 2006)
Getting It Right (January 13, 2006)
Efficiency vs Productivity (January 12, 2006)
Stubbornness (January 10, 2006)
Writing To Annoy Yourself (January 9, 2006)
Due Process In The Workplace (January 5, 2006)
(All Entries...)