Programming gets extreme

Development method takes off, but not in U.S.

An application development technique called eXtreme Programming is gaining momentum among mainstream corporations in the U.K., though it's been slower to pick up converts in the U.S.


XP Fundamentals

EXtreme Programming was developed primarily by Kent Beck, who led the project to rewrite Chrysler Corp.'s payroll application. Some of XP's core principles include:

An emphasis on simply written object-oriented code

Pair programming—two programmers working side-by-side developing code

Automated unit tests that are written beforehand and run throughout the project

Frequent editing to remove unneeded functionality

The approach, developed by programmer Kent Beck, calls for pairing developers together, performing automated unit testing and editing code frequently to keep it simple. In the U.S., it has met resistance from companies that see doubling up programmers as increasing cost.

But British attendees at the Object Technology 2001 conference here last week said the technique helps them tackle development challenges ranging from projects that come in over budget and behind schedule to those that require reams of documentation on the code's structure.

Dresdner Kleinwort Wasserstein, for example, is using eXtreme Programming (XP) methods in some of its application development projects, said Tom Ayerst, an architectural consultant at the London-based investment bank. He said he favors having two developers work together on the same project, which is one of the controversial aspects of the technique.

"It's like having a pilot to focus on flying, while the navigator makes strategic decisions about where to go next. In the end, you make fewer coding mistakes and stupid choices," Ayerst said.

Royal & Sun Alliance Insurance Group PLC has faced daunting application development dilemmas. Two years ago, the $16 billion London-based insurer launched a four-year custom development project to integrate data from its legacy systems with its call centers using conventional development techniques. But when Royal & Sun decided to add Web-based applications on top of that core application infrastructure, it did so using XP methods, said Stephen Hutchinson, senior technical architect at Royal & Sun.

"We weren't 100% satisfied that we had done the previous project as good as it could have been done," Hutchinson said.

In its first XP project, Royal & Sun developed an application that connects to Britain's national motor vehicle registry, accepts electronic payments and provides online quotes. It took six months to build and was rolled out in July.

Pairing two developers on each assignment helped Royal & Sun experience productivity gains, develop more stable code and come in 15% lower than the projected budget, Hutchinson said.

XP is also gaining popularity at universities on this side of the pond. Courses about the technique have begun cropping up in computer science curricula in the U.K.

"It's gaining ground with a big evangelical thrust," said David Dench, senior lecturer at the University of Huddersfield in Huddersfield, England. "The requirements for applications are changing rapidly. . . . XP reflects that because it emphasizes small projects" that can be changed more easily.

In the U.S., some of XP's more radical features, such as the requirement of immediate feedback from an on-site internal end user advocate, may make it more difficult to implement. "Nobody has scaled up XP to make it successful in large organizations," said Mary Lynn Manns, a professor at the University of North Carolina at Asheville.

"I would never try XP back in the U.S. with my development teams," said Eoin Woods, a senior system architect at InterTrust Technologies Corp. He cited a prevalence of distributed development teams as one impediment to getting an XP project off the ground at his Santa Clara, Calif.-based publishing software firm.

Larry Zucker, executive director of application development at Dollar Rent A Car Systems in Tulsa, Okla., said he appreciates the benefits of having two programmers on one task, but added that the gains don't justify the doubled expense. "We don't tend to have two people working together on the same code," said Zucker. "I would be afraid that the programming would turn into a social event."

Yet a London start-up found the opposite to be true. Connextra Ltd., a maker of Web browser software, reorganized its offices to accommodate XP, installing curved desks that let two developers sit side by side and share a computer.

"It's easy to get distracted when you're coding by yourself. You're not as disciplined," said Tim MacKinnon, a senior developer at Connextra. "With pair programming, it's like having your conscience sitting next to you."

Related stories:

Copyright © 2001 IDG Communications, Inc.

It’s time to break the ChatGPT habit
Shop Tech Products at Amazon