Pretty Adventuresome Programming

[First part of this page is duplicated in AlmostExtremeProgramming.]

PrettyAdventuresomeProgramming (PAP) is "about as much excitement in programming as you're probably going to want", with "dials up pretty high, 9.3 plus or minus a half". As in (from "AlmostExtremeProgramming")

A PrettyAdventuresomeProgrammer? says:

"Wow! That ExtremeProgramming stuff is neat! We almost do it, too! Let's see ...

"Extreme Programming requires: "As a reward for doing those, "Now on this project, we're pretty close... "but at least we don't have any design documentation, and we don't comment our code much! So in a sense, you're right, we're almost doing ExtremeProgramming!"

Those people aren't doing XP,they are doing PAP. PAP is using XP (in name) to legitimize not doing the things one doesn't want to do, without doing the XP practices that protects one from not doing the other things. E.g., changing the code all the time, but not writing unit tests; not writing documentation, but not writing clear code either. Not...(almost anything)... but not sitting close together. etc.

-- AlistairCockburn

Almost means the same thing as not. That when a vendor claims his tool is almost anything, you should interpret it as the exact opposite. -- BillBarnett

Before you guys get carried away here, let's consider the case where Almost actually means almost. XP has been described as "turning all the knobs to 10". What I'm wondering is if it might sometimes make sense to TurnAllTheKnobsToSeven. Before somebody goes off on how that's exactly AlmostExtremeProgramming (where Almost means Not), let me remind everybody that the industry is chock full of effective development teams that do not do XP. The fact that the industry is chock full of really crappy development teams too is beside the point. If it's possible to have effective development teams that are not doing XP, this leads me to believe that it's possible to have an effective methodology that is similar to XP even though it's clearly not XP. This in turn indicates that it might sometimes be useful as I described above to TurnAllTheKnobsToSeven. (Note that this is really a different tangent than discussed here or on AlmostExtremeProgramming, so discussion along these lines probably ought to continue in TurnAllTheKnobsToSeven).

-- CurtisBartley

Right, Curtis. I am interested in having available a sarcasm-filled derisively delivered phrase to hit people with who use XP as an excuse for sloppy, slap-dash development. I, of all people, think it actually is possible to turn dials to different numbers, but I have no patience with people who slap the XP logo on frankly sloppy development. If anyone can come up with one better than PAP, please describe it. (turn on tonal imagery: "Well, I don't know if that's really Extreme Programming you folks are doing there, but it sure sounds like some Pretty Adventuresome Programming.") -- AlistairCockburn

Sounds to me like all you're looking for is a PAP smear.

Ugh, WorstPunEver.

I am interested in having available a sarcasm-filled derisively delivered phrase to hit people with who use XP as an excuse for sloppy, slap-dash development.

Alistair, I sympathize with the sentiment right down to the sarcasm, for better or worse. To keep a discipline pure, follow all its rules dogmatically. But, that's how WaterFall went wrong, isn't it? A liberal interpretation of WaterFall is probably wide enough to accommodate XP, whereas the narrow and dogmatic one has become the excuse for preventable failures. In the wrong environment, couldn't XP be as inappropriate as the inappropriate applications of WaterFall you've seen, and when carried off in all its glory, would it not become the new AnAcceptableWayOfFailing? -- WaldenMathews

Interesting comparison. I actually am concerned that XP is about to become the new AnAcceptableWayOfFailing because people won't do what it says to do, but do whatever they used to do, and excuse it by calling it XP. Thereby giving a bad name to a whole slew of light practices. Therefore, I want a special moniker to brand them with, to be able to say, "That's not XP; that's PAP." or whatever the most demoralizing nickname we can come up with to denote the really not XP practice set. I hope in this way to protect the value of the XP name and practice set. -- AlistairCockburn

If you succeed in this, then it will probably be the first time in history it has ever happened. Although I understand the sentiment, still the logical part of me says this is like catching flies with vinegar. Will calling it PAP cause charlitans to abandon the name XP? Will it cause them to embrace the real XP practices? What exactly is the value that will be protected, and to whom is that a value? I pondered these issues deeply while trying to lead some form of process improvement in my company (any form!), and I do not know the answer. I only know that adherence to pure form did not cause the ideas I was championing to be embraced. -- WaldenMathews

This is a delicate subject. I believe strongly that people need to be very judicious about what XP practices they apply and how they apply them. And must monitor the results and tune the practices to their local environment, as described eloquently in the DrivingMetaphor. XP, even if applied "perfectly," is not an infallible set of alchemical steps that transmutes flawed projects into gold.

That said, I've been thinking all night about the varying degrees to which people can be foolish about how they are AdoptingXp or any other development approach. :)

There are some people who seem to want to adopt XP (or claim it) primarily because it is hip, and it seems to leave them free to do whatever they feel like at any given moment. I think of this as eXtreme Posturing, or eXtreme Playacting.

This is of course not what XP is about -- it is more like the daily schedule in a monastery, which prescribes in detail the activities the practitioner should pursue on an hour-by-hour basis.

Whether or not teams adopt all the practices or only some, a common risk seems to be overconfidence in the form itself. Alistair describes teams that close their eyes and tell themselves that everything must be OK because they are doing XP and are thus guaranteed salvation. This is like the old story about they guy who sets his cruise control and then gets out of the driver seat to mix himself a drink in the back. "The dealer said I could just set it and forget it!" (In stark contrast to the DrivingMetaphor)

This isn't development approach, or lightweight methodology, or anything nearly so rational. This is eXtreme Superstition, or maybe eXtreme Voodoo. -- BillBarnett

Cool - I like the term ExtremePosturing?, and will try that out for a while, saving PAP for other purposes. My purposes in doing this I already described above. cheers -- Alistair

I like PAP a lot, and it certainly addresses a different group than Posturing. PAP reminds me pleasantly of PGP; it also evokes some of AaMilne's capitalised phrases (like Very Small Animal)... -- bb

I think we need to consider what's an insult in the Extreme Sports world. Therefore, I propose PoseurProgramming?. It conjures up an image of some guy at the mall who falls down an escalator and goes "Whoa, that was EXTREME!" -- NickBensema

How about ExtremelyBadProgramming?? Just a thought. -- RobHarwood

That's a bad (as in not-good) idea, considering the Extreme Sports dialect is one of those which employs BadMeaningGood. -- NickBensema

A similar idea is MovieSetXP - taking the 12 practices at face value without understanding how they complement and build on each other. This describes teams, often of inexperienced developers, who are attracted to XP for a variety of reasons along the lines of hype, developer-centricity, etc. These are the same people who believe that XP espouses:

"As a reward for doing those, -- JackBolles

Perhaps you mean the same thing as CargoCultSoftwareEngineering?

Adventuresome programming? Is that like implementing hit-list management software for the mob?

....and finding your name in the list :-)

Pretty Adventuresome Programming... Hacking is the word. You tell the teams management they are hacking. You then say they are lying when they claim to be doing XP. Management understands lying. PhilipHaynes

See CrystalClearMethodology, AntiPattern, IfYouNameItTheyWillBlameIt, EdgeOfChaos


View edit of August 16, 2008 or FindPage with title or text search