But now when Windholtz creates code, he does so with a comrade at his side--one of the tenets of the software development methodology called Extreme Programming.
"Sometimes if you're coding alone, you end up going off on the wrong thing for a while," Windholtz said. "If you're 'pair programming,' that doesn't happen, or it doesn't happen for very long...As soon as one person runs out of ideas, the other person just picks up on them."
Welcome to a new world of computer programming--and say goodbye to the image of the solitary code jockey working late into the night on a diet of cold pizza and warm cola. Better yet, Extreme Programming can help produce software that is not only of higher quality, but is produced much more quickly than is the norm.
Pairing with a coding partner isn't the only change for Windholtz and legions of other programmers who have switched to the Extreme methodology since it was first introduced five years ago. Extreme Programming formalises the process of writing code via its series of outlines and work rules.
The goal is to make the code-writing process less random, get software to customers more quickly, and eliminate the inevitable onslaught of bugs discovered during the traditional integration phases.
The methodology is gaining more and more devotees. Ford Motor, Chrysler and IBM are among the companies using Extreme Programming in at least some capacity.
John Giblin, senior vice president of engineering at software company Iona, turned to Extreme last summer to slash software delivery times. "Sometimes because of the length of development cycles, by the time the product is developed, the original set of requirements is only partially relevant," Giblin said.
Since using Extreme for Iona's application server product, Giblin has seen strong results. "At a minimum, we're getting products to the market much faster," he said.












The idea of programmers talking to each other, and to users, to increase efficiency and reduce the development cycle for application development, is not novel. It has been central in mainframe application development for decades. Perhaps the current generation of PC-oriented programmers might care to learn from their predecessors. The development fiascos I see regularly, and the growing disaster that is the Internet, might be averted if people would do a little study first.