« Attrition Analysis | Main | Examining Learning Environments »

Jan 20, 2006

Extreme Programming

There’s something about buzzwords that I find irresistible, though they often only attempt to make the mediocre seem extraordinary. But once in a while, they help you discover real gems—like Extreme Programming (or XProgramming or just XP), a rage in the late nineties that I chanced upon. Invented by Kent Beck, XP turns conventional software development methodology on its head. At the heart of XP, however, is a set of very basic concepts:

  •  Keep it simple
    Simpler to say than to do, but XP manages it by never adding more functionality than is absolutely essential. Instead of using complex software tricks that save on hardware, XP uses simple software code that saves on human effort—the savings are well worth it.
  • Go for Gold
     
    Make small releases rather than trying to go the whole hog. As every release is a complete product in itself, clients get a working product faster. Each subsequent release brings new features—as required—and improves on earlier features.
  •  Takes two to tango
     
    Pair programming—or using two heads instead of one—seems like a ridiculous waste of time. But the productivity gains through design innovation, defect reduction, and rework minimization explain why XP is ultimately a lot more productive.
  •  Test. Test. Test.
     
    Begin testing on day one—yes, that’s not a typo. This is what makes XP the most likely candidate to realize the software utopia of Zero-Defect Programs.
  •  Expect the unexpected
     Your cheese will move—and your software design will change. As Beck explains in his new book, XP is designed to accommodate change—heck, XP welcomes change.

XP is more than yet another lightweight methodology. It’s a way of looking at software development as a living organism that is continuously changing to adapt to market dynamics. Looking at our own TIS Demo Zone, it seems like a lot of what we did was XP, though not all of it was intentional. As we learnt during the development, there are no limits to customers’ demands—and no limits to XP’s capacity to meet them. And that is what XP is really all about.

The author is Manager – Content at Tata Interactive Systems. A graduate from the Indian Institute of Technology – he can resist anything except a good programming challenge.

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/t/trackback/542122/4081357

Listed below are links to weblogs that reference Extreme Programming:

Comments

Post a comment

Comments are moderated, and will not appear on this weblog until the author has approved them.

If you have a TypeKey or TypePad account, please Sign In