Almost everyone has an immediate negative reaction to the name Extreme Programming. First impressions can have a very strong tendency to 'stick', even though we've been told over and over in school DontJudgeaBookByItsCover
. This has repeatedly been cited as one of the major short-comings to getting XP accepted initially.
Never say the word 'extreme'. Call it anything else. XP, light-weight, agile, anything, but not
extreme. Once you've got people interested in the idea, then you can finally give them the book ExtremeProgrammingExplained
Better yet, don't call it anything. If asked what you've been doing just say "I've been writing better software faster than I ever have before and delighting the customer every two weeks. How about you?"
I still think the name ExtremeProgramming
is a dead chipmunk around the neck of the paradigm. When people here the word "Extreme N" these days, they think of the bad advertising campaigns of the '90s, where "Extreme" was usually said "Extreeeeeeeeeeeeeeeeeeeeemmmme!!!!" by someone who sounded like a monster truck rally announcer. Think of body mutiliation, incompetent trick bikers, esoteric stunts, endless skateboarding videos, and repetative punk music. Alternately, think of MountainDewCommercials?
, the ExtremeBeachVolleyball?
videogame, and MTV.
To the average person - coder or otherwise - extreme programming simultaneously conjurs images of coding a quicksort implementation in BrainFuck
while being suspended by back-piercings cabled to a hot-air balloon, and the Simpsons ComicBookGuy?
with a bad Trogdor tattoo and a NineInchNails?
Not a good name. -- MartinZarate
for a note about word baggage and process names.
If the first word you say is enough to turn them off, should you harbor any illusions as to your chances of changing their minds with a thousand ? CallItExtreme?
if you need a quick qualification test.
This is naive. What if they 'fail' the test? Will you quit and find another job? How many companies will you join and quit in search of an open mind? You need to eat, and some of us have to feed our families. Why can't we use an improved software process without playing the name game with our management? Insisting on calling it 'Extreme' feels like falling on your sword for the 'principle' to me. Be pragmatic and call it something more reasonable. Personally, I like AgileProcess...
I like the falling on your sword bit. Touché. On the other hand, I don't want to live in fear of the day they tell me, "Heck, we're supposed to be Agile. Skip the testing for a few days so we can ship this on time."
As one of the people who was having big problems with the name "extreme", I now have to change my comments. I've changed the way I introduce XP and now I'm not having any of the trouble that I'd previously been experiencing. Amazing what a few words at the right time can do :-)
Now I do call it extreme but I immediately explain that what that means is starting with existing best practices and taking them to "extreme" levels.
On the other hand, the term has certainly kept a bunch of know-nothing methodologists off of the bandwagon. Bingo, we win
I personally don't mind the phrase ExtremeProgramming
but here in Toronto where a lot of corporations are a bit old fashioned or strict, the term does cause fear. Almost like the witch hunts! When I go into a company I give them the names of the practices (unit testing, standards, etc.) but I don't tell them the XP word until the very end. That way they have experienced it before putting a label to it. BruceLee
said that if the term JeetKuneDo
(his martial art) ever became a hazard to the art (para-phrasing) then you should not call it JKD anymore. The principles and concepts are more important than the name.
Although I do agree that the term extreme has outlived the initial attention getting buzz that it created, if using the word "extreme" has any bearing on your ability to sell the benefits of using the practices of ExtremeProgramming
, then you lost the sale before you began. Opening people's minds to new ideas starts with understanding their problems and constraints and then working with them to solve them.
If using the word extreme is getting in your way, it's probably because you don't understand the problem that your "customer" is trying to solve. I've been selling and promoting skill development services for teams using XP for well over a year and have never had the word extreme get in the way.
So, don't hesitate to use the word Extreme, just know what problem you are trying to solve before you advocate any solution under any banner.
I read an article a few months ago (wish I could remember where) where the author was discussing XP, but did not once say ExtremeProgramming
. He only used the term XP everywhere. -- BryanZarnett
Problem: I have found that referring to XP causes confusion because folks assume you're talking about WindowsXp
. -- JonReid
One idea: The phrase AgileProcess
is being tossed about. You might try that one.
Or call it BusinessValueOrientedProgramming
I tend to use XP over Extreme Programming as well. My main point here is that it is naive to believe that avoiding the word Extreme is going to have any impact on your ability to influence people in the use of XP. In the scenario that Mike described (and I believe it is a common one), it doesn't sound to me like the person believed that they had a problem that needed solving. The reaction to the word extreme tells me that they are not connecting the practices that Mike is describing to pain that they are feeling in their development practices. I've had people tell me that they have rejected Extreme Programming because of Pair Programming. I can't resort to Don't Call It Pairing. I have to understand what their problem is, assess whether the practices of XP can help them solve that problem, and then discuss from there. I have had the same issue with 40 Hour Week. If helps you to use XP over Extreme, then by all means use XP. But to recommend it as a pattern or rule runs the risk of masking the real challenge which is the understand the problem before you advocate a solution. Hope that helps... -- Lowell
There already is a pattern called FirstCreateTheMailbox
that addresses this issue. The problem with the name 'Extreme' is that it's not under your control; you might convince Joe that XP is the way to go, and then Joe tells Alice about this great idea called Extreme Programming (but not very convincingly), and Alice has the conditioned anti-Extreme response. Really, people do
have prejudices. If it was called PieceOfCrapProgramming?
, nobody would take it seriously at first glance. -- RobHarwood
We'll have to agree to diagree, Rob. I am not denying prejudices, but window dressing does not solve that problem. FirstCreateTheMailbox
is still about advocating before understanding the problem. The mailboxes are already there, you just have to find where they are. It makes sense that that statement came from a marketer, not a salesman. There is a difference between Marketing XP and Selling XP, but that's for another page perhaps... Lowell
A business analyst colleague of mine has taken the other tack of calling anything good "extreme." We were eating at a local Pita shop and he remarked on how the service was in the "extreme" style: fast and good quality. I pointed out that's just GoodBusinessPractice?
, not necessarily extreme. Isn't it sad that today we have to put a label on what everyone used to recognize and expect as quality service in order to get people to do it? -- JeffMantei
Were you perhaps in the one of the Extreme Pita franchises? (http://www.extremepita.com)
On the XP 2000 conference in Sardinia, someone (I can't remember who) suggested to just call it 'Normal Programming'. -- ManfredLange
XP could be called Moderate Programming since it's between the extremes of BigDesignUpFront
and hacking. So the main principle is moderate even though the individual practices are taken to the extreme. And that's only a moderate paradox.
That's only a way of thinking about it. Just consider the possibility that "moderate" might seem at least as natural a description to the uninitiated as "extreme".
What about 'eXperience based Programming'? IMHO it describes the process even better than 'Extreme', and peoples association to the word 'experience' is usually a positive one. You can use the XP abbreviation in both cases, and to top it off, people who have heard about XP before, associate with XP early on when I talk to them about experienced programming. -- PerGunnarHanso
'Extreme' made the 2003 List of Banished Words, and 'X' made the 2004 List (http://www.lssu.edu/banished/archive/2003.php
). -- ElizabethWiethoff
In a non-business context, I feel that calling it ExtremeProgramming
smacks of nerds trying to make computer programming more exciting. After all, it's not like we're wrestling aligators, or walking the wings of bi-planes! -- LeonGierat?
What are you talking about, computer programming is already exciting, have you ever had a more fun job?
Hey, just yesterday I tracked down an elusive null pointer error. The air tingled with excitement as I lay my trap. I added logging statements to slowly tighten the noose until finally it was exposed to the light of day. Then, with a few deft keystrokes, I slew the demon that had haunted us for months. Sadly, the truth is I really did feel pretty stoked about finding the problem.
On the other hand, calling it "extreme" can be an advantage. We're replacing a LegacySystem
. I proposed IncrementalDelivery
by harnessing the new system to the old. That way we can integrate new features into the new design, touching the legacy code as little as possible. My manager thought that sounded like a lot of work. He commented, "Isn't that a bit extreme?" to which I replied, "So, what's wrong with that?"