Battling Extreme Programming's misconceptions
Published: 08 Jan 2004 10:36 GMT
Once upon a time when I talked to people about Extreme Programming (XP), it was all new, and I usually needed to start completely from scratch. Those days are over. Now when I ask people at my presentations if they've already heard of XP, a lot of hands go up. From my perspective, this is good, because I'd like more people to be aware of how XP can help them develop software more effectively. But increased awareness is often accompanied by its evil twin -- misconceptions.
Software development is not black and white
Whatever other qualities it might have, software development is rarely a land of black and white alternatives. It's a land of enormous variety, populated by people with widely different needs, so it's not surprising that when two people look out over the same part of the landscape, one of them sees beauty and elegance, and the other sees an intellectual desert. XP seems to generate this sort of response, all the way from the name up. After all, why call it "Extreme Programming"? If one more person asks me if XP involves bungee cords or skiing down vertical slopes, my response may cause bodily injury!
I've heard a number of interpretations: One is that the emphasis should actually be on the "programming," because one of the central notions in XP is that the programming activity is primarily responsible for delivering business value. Another is that "extreme" refers to how often a team follows the individual practices. For example, any team can pair programs some of the time, but an XP team pairs programs all of the time.
Kent Beck, the father of Extreme Programming and one of the founders of the Agile Alliance, says that the term was intended to convey the intensity with which programming can be done. "Extreme Programming is an aware and focused activity -- all dials turned to 10 -- attending to everything you need to attend to and wasting no energy on things that don't matter," Beck said. Although Beck says it wasn't his intent, my experience is that one of the strengths of the name is that it provokes an emotional response. Jim Highsmith, creator of the Adaptive Software Development methodology and frequent author and commentator on agile software development, echoed this sentiment in Agile Software Development Ecosystems when he reflected, "I don't think many people would get excited about a book on 'Moderate Programming'. New markets, new technologies, new ideas aren't forged from moderation, but from radically different ideas and the courage to challenge the status quo."
Full Talkback thread
1 comment






