ZDNet UK


Skip to Main Content

ZDNet.co.uk - Winner of Best Business Website 2007
  1. Home
  2. News
  3. Blogs
  4. Reviews
  5. Prices
  6. Resources
  7. Community
  8. My ZDNet

 

ZDNet UK RSS Feeds


IT Jobs

Application development Toolkit

Battling Extreme Programming's misconceptions

Steve Hayes Builder.com

Published: 08 Jan 2004 10:36 GMT

  • Email
  • Trackback
  • Clip Link
  • Print friendly
  • Post Comment

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."

Next

Previous

1 2


  • Email
  • Trackback
  • Clip Link
  • Print friendly Print with Dell

Did you find this article useful?
160 out of 370 people found this useful


Company/Topic Alerts

Create a new alert from the list below:



Related Jobs

SQL Server developer for Mid office & compliance, Leading Hedge Fund!

Step up your career and progress within a company who values individual contribution and reward your hard work and efforts with generous bonuses and ...

Performance Test Analyst

The EDS Agile Enterprise Platform provides the road map needed to continually meet the client's needs. EDS IS AN EQUAL OPPORTUNITY EMPLOYER AND ...

Senior Java Engineer-J2EE, JSP, EJB-30,000-40,000. North West

Working in an agile environment, this team is highly dedicated and enthusiastic towards the growth of the company and as such is strongly motivated ...

Discussions

319762 319762

Eve of Distraction

Saturday 26 July 2008, 4:37 AM

1 comment

Featured Talkback

The fact is: Software developers today are really designers and not coders. The reason that business anlaysts exist today to model solutions is because they understand the value of designing software before writing it. All too often developers create code that has little value because they do not understand that business classes interact with other classes within the confines of a working model or pattern.

By: 1000165269

Read full story:
Making sense of agile modelling