Hi
I have a small development company as an aside to what I do daily and we employ XP practices that have been able to easily integrate into our environment.
Unit testing (love
jUnit), refactoring, CRC
cards and small interations of deliverables are the basis of all our projects, but, we can't get the 'client on site' and 'pair programming' done because the developers all work off site and I don't really have an office for my client. (The Garage get's kind of stuffy at times... )
We are also new to CVS (not VSS but now we have a total *nix environment) and we have clobbered our code because of the 'make code everyones' rule. Obviously this is not a fault of XP but of our lack of experience. This of course will change as we learn the environment.
Since, at times, you can't know everything about everything we've had to be a bit stricter on making certain layers the responsibibility of one person who then delegates the object development/creation to the coders.
So far it's worked but I can't wait to get all my coders in one building.
P.S. Commenting.. we still demand that a person code the 'why' and not the 'what or how' of their code, but we've been noticing that it become more and more obvious 'why' something is happenning when we've got a nice design
pattern wrapped around it.
[This message has been edited by John Bateman (edited April 03, 2001).]