The standard line of XP pundits is that if you aren't doing AllOfXp, you aren't doing XP. I'm not just talking about IfXpIsntWorkingYoureNotDoingXp, but about previous comments (by RonJeffries) about how when ChryslerComprehensiveCompensation stopped doing certain practices extremely they felt they were worse off.
A lot of people out there are in the midst of trying to get XP adopted in their organizations, and one thing that commonly holds them back is that by the above reasoning, they can't legitimately say they've "done XP", even if they do have legitimate experience in all or most of the XP practices.
This can be frustrating, especially if they have not been on a full XP project per se, but have done UnitTesting, UserStories, PairProgramming, etc. I.e. they have done all the practices but not all together as XP itself.
By definition, if you're not doing all of XP, you aren't doing XP. AlmostExtremeProgramming isn't, not even doing XpLite nor XpJr. There is no negotiation. You may want to read some pages in CategoryAdoptingXp. IsXpSynergistic?
I think those pages in CategoryAdoptingXp are pretty hopeless. See my short discussion with KentBeck about TransitioningToExtremeProgramming. If XP can't apply to itself, XP is deeply confused. YouArentGonnaNeedIt, all that BigDesignUpFront that XP preaches you. Refactor in small steps, after all; that includes your own process. Don't do AllOfXp. Solve the only the problems that you actually have. -- SunirShah
I've read most of the stuff about TransitioningToExtremeProgramming, including your comments, and I disagree that it is hopeless. Specifically, I have made progress towards AdoptingXp.
However, I haven't yet done AllOfXp, so I don't know whether you're right about it being an unnecessary quest. I think I'll try anyway and see for myself. It's certainly better than what we're doing now at my organization. -- RobHarwood
I think the pages are hopeless because they seem to keep reiterating, "Do it all right away!" I'd prefer much more pragmatic suggestions. -- ss
I agree that many of the pages take this stance, and I've been frustrated by them since they don't give examples of how to start. The intent of the AdoptingXpPatternLanguage is to provide such pragmatic suggestions to adopting one practice at a time. Whether or not this is successful really depends on the contributors. The more examples, the better, I think. -- RobHarwood
I agree, and I wish you well. By the way, my purpose of adding the naysaying text was so I cut it down as being useless. I don't agree with it. Nor do I respect it. It's bad methodology. XP advocated like that--the official party line, mind you - is a solution imposing itself on your problems. This only creates more problems. -- SunirShah
Sunir, I can't believe I am agreeing with you again but you couldn't be more right. In the half-dozen projects/places I have tried XP, I have never found anyone willing to adopt the whole thing. I *did* find people interested in trying *one* idea at a time and adding it. For instance, UnitTests. People seem to like UnitTests and will adopt them after being convinced. It took me a month to convince a major software development company to adopt UnitTests. That took showing them evidence. There was no way they were going to adopt the whole thing. I tried to write a letter to SteveMcConnell at IEEE Software and he said that XP lacked evidence and empirical data. I do believe that it is an OK thing to adopt the practices one by one. Forget the "purity" solution. -- sg
I've done XP twice now. Each time I gave up after about 15 minutes and did something more practical. Right now I'm the UnitTesting freak at work, despite my naysaying in UnitTestsReconsidered. I don't think people really get my position. DoTheSimplestThingThatCouldPossiblyWork. -- SunirShah
I've done XP twice now. -- ss All of it? ;-> --rj For 14 minutes, yes. ;)
From above:
If XP can't apply to itself, XP is deeply confused
XP isn't recursive, and it isn't a cure-all. It is a way to write software given today's technology and the business realities of many companies today. Those who think that XP can do anything should consider ExtremeSurgery. It doesn't apply to itself because it isn't a way to write ways to write software. -- RobMandeville