Extreme Programming 'Bill of Rights'

 

Summary

A lot of people may have heard about Extreme Programming (XP), but do they really understand what it means? Builder Australia's Steve Hayes tackles some common misconceptions of XP and explores customer, manager, and programmer rights.

Events

Echelon 2012
June 11 and 12, 2012

University Cultural Centre, National University of Singapore

Startup Asia Jakarta 2012
June 7 and 8, 2012

12th Floor, Annex Building, Wisma Nusantara Complex, Jl. M.H. Thamrin No. 59 Jakarta 10350, Indonesia

MMA Forum Singapore
April 23-25, 2012

Grand Hyatt Singapore

This article originally appeared in our sister publication, Builder Australia.

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

Extreme Programming: Solution or hoax?
Some people behave as if XP is the solution to every software development problem, and some people behave as if it's a hoax, something that isn't appropriate in any software development situation. Of course, the truth is somewhere in between, but if you have a discussion with either the XP or anti-XP zealots, you're likely to walk away with a rather distorted vision of what XP really means.

I don't have the space here to confront all the misconceptions of XP that I encounter, but misconceptions are almost always inconsistent with XP's underlying values. So if you understand the values, misconceptions become easy to spot. XP expresses its values in a variety of ways, including statements of rights for the various participants. Any XP project should be consistent with these rights. Note that specific time frames may vary from project to project.

Customer rights

  • The customer has the right to plan on a large scale with costs and options.
  • The customer has the right to set development priorities weekly.
  • The customer has the right to see progress in the form of a working system at the end of the first week, and to see a little more functionality every week thereafter.
  • The customer has the right to updates of the schedule, good or bad, as soon as the information is available.
  • The customer has the right to change his/her mind without paying exorbitant costs.

Programmer rights
  • The programmer has the right to estimate work and have those estimates respected by the rest of the team.
  • The programmer has the right to honestly report progress.
  • The programmer has the right to produce high-quality work at all times.
  • The programmer has the right to know what is most important to work on next.
  • The programmer has the right to ask business-oriented questions whenever they arise.

Manager rights
  • The manager has the right to an overall estimate of costs and results, recognizing that reality will be different.
  • The manager has the right to move people between projects without paying exorbitant costs.
  • The manager has the right to monthly updates of progress, and to help the customer set overall priorities.
  • The manager has the right to cancel the project and be left with a working system reflecting the investment to date.

Any project that denies these rights isn't really an XP project, regardless of whatever label is attached to it.

Talkback

Add your opinion

In order to post a comment, you need to be registered. (Sign In or register below)

Post your comment

ZDNet Asia Live

Rise in <b>Chinese</b>-funded acquisitions could trigger more hurdles http://t.co/0pXBS1HR

Rise in Chinese-funded acquisitions could trigger more hurdles: By Ellyne Phneah , ZDNet Asia on May 22, 2012 (6... http://t.co/W3SOdw2c

RT @zdnetasia: CFOs increasingly involved in IT investment decisions. http://t.co/8QrfwOSb

CFOs increasingly involved in IT investment decisions http://t.co/XD1LerFq via @zdnetasia #PrivateCloud #SC2012 #CAPEX

Rise in Chinese-funded acquisitions could trigger more hurdles. http://t.co/VC3G3m3o

RT @zdnetasia: Rise in Chinese-funded acquisitions could trigger more hurdles. http://t.co/VC3G3m3o

So much as we know , MTK6575 extremely integrated frequency1GHz ARM Cortex-A9 processor, the superiority of 3G / HSPA Modem, and help the...

53 minutes ago by y15822137359 on 5 SaaS adoption speed bumps to avoid

Rise in Chinese-funded acquisitions could trigger more hurdles - ZDNet Asia: Rise in Chinese-funded acquisitions... http://t.co/bZaAQnRL

Rise in Chinese-funded acquisitions could trigger more hurdles http://t.co/mIsuZjnU http://t.co/erFX4aVv #arcavir

http://t.co/VNaZtseV Rise in Chinese-funded acquisitions could trigger more hurdles: "Cash r... http://t.co/N0gZZEdR http://t.co/wiqY9ktt

Rise in Chinese-funded acquisitions could trigger more regulatory clearance issues overseas http://t.co/cvLSpTwo #in

Alibaba seeks $2.3B from shareholders for Yahoo deal. http://t.co/qLRAhRQk

CFOs increasingly involved in IT investment decisions. http://t.co/8QrfwOSb

Quickflix WatchNow 2.0 http://t.co/XWti5VWT

Official UEFA #EURO2012 app with Orange 2.0 http://t.co/yoAOXTI1 #hotpeopleifollow

Why wouldn't they be?: CFOs increasingly involved in IT investment decisions http://t.co/4gHYrmQy via @zdnetasia

I reckon your view: "CRM is strategy, not software", if a company replicating the approach uses in ERP implementation into CRM, what they...

1 day ago by wykoong on Gartner: Mobile CRM gives better ROI than social

This video will teach you about the Excel fill handle but also provide you with a workook to download... http://www.youtube.com/watch?v=...

1 day ago by TradeBrother on A quick fill handle trick for Microsoft Excel

waiting...

3 days ago by eapete on What should count in a company's market value?

Boy, you've opened a can of worms now.

Wait for the rants & raves.

3 days ago by eapete on What should count in a company's market value?

I was puzzling before this whether to replicate the success formula we executed for a financial institute, and come out with a standard s...

4 days ago by wykoong on Drop the egos, copy ideas, then innovate