Extreme Programming is a method of software development that emphasizes constant feedback. Traditional coding devotes a huge amount of time to up-front planning, then demands rigid adherence to that plan. XP is different. Programmers spend relatively little time planning and instead dive into the writing, making course corrections as needed and allowing better ideas to emerge after snippets of code are tested and assessed. The result is a speedy loop: plan, code, test, release, plan, code, test.
In a profession known for its lone wolves and silent cubes, in a culture routinely mocked for its social ineptitudes, putting coders up close to each other seems counterintuitive, even risky. Recent research into autism suggests that some software engineers may actually suffer from a genetic disorder that impedes their ability to interact. In The Bug, a new novel by programmer Ellen Ullman, the protagonist works under a tent rigged from a parachute and wears earmuffs as backup for his earplugs. Despite this, Yu is a convert to extreme programming. “XP,” he says with a smile that forces his eyes closed, “is one of the luckiest things that ever happened in my career.”
Jalis is also a believer: “Fred and Barney, Mulder and Scully, Gates and Allen, Hewlett and Packard – pairing up is a natural way to work.”
The software development process is profoundly screwed up. According to the Standish Group, which conducts an annual industry-wide survey, 15 percent of all information technology projects get canceled outright, costing the sector $38 billion each year, and companies spend $17 billion annually on cost overruns. Those products that are finally released contain just 52 percent of the features customers asked for. Throughout the industry, projects are chronically late – only 18 percent hit deadline – and consistently, maddeningly flawed. Estimates of the number of bugs contained in shipped products run from one defect in every 1,000 lines of code to one in every 100. According to Watts Humphrey in his book A Discipline for Software Engineering, IBM at one time spent $250 million repairing and reinstalling fixes to 13,000 customer-reported flaws. That comes to a stunning $19,000 per defect.
Traditional efforts to improve matters have gone nowhere. Since the 1960s, IT managers have experimented with staffing and training, scheduling and tracking, team-building and quality control. Increasingly complex programming languages have touched off cycles of reinvention, first favoring rigid guidelines, then more organic ideals, then guidelines again – swinging, says Grady Booch, CTO of Rational Software and a student of development methodology, “from high ceremony to low.”
It’s dismal conditions like these that have given rise to extreme programming, with its promise of escape from historic failure. In the past few years, the XP message has circulated in books, mailing lists, conferences, user groups, and a gigantic Yahoo! community, which, since January 2000, has logged 76,000 messages. In London and Seattle, groups of techies get together on regular nights just “to pair.”
Companies have started signing on. At places like IBM, Sabre, Symantec, even Domino’s Pizza, teams of programmers and their managers have embraced XP. Hewlett-Packard has decided to turn a division of 80 into extreme programmers. What began less than a decade ago as a grassroots movement on the geeky fringe is now mainstream.
