The new New Economy Analyst Report - April 11, 2001

Juergen Daum’s new New Economy Best Practice service

©2001 Juergen Daum. All rights reserved.

 

Back

 

How to make software developers more productive through “Extreme Programming”

News categories: digitizing the New Economy enterprise / Information Technology, human capital management

 

As more and more of the economy is dependent on Information Technology and software applications, software developers are becoming a scarce resource. No wonder that software companies and other organizations who are engaging software developers are looking for ways to improve their productivity. “Extreme Programming” is the latest method to make that happen. 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 phase.

 

So what is “Extreme Programming” ?

 

The cornerstone of the method is a set of directions for keeping code “elegantly written”. The most important change to the traditional way of programming is, that software developers do not work any more separately, alone in front of their computer. With “Extreme Programming” programmers have a comrade at their side. “Sometimes if you’re coding alone, you end up going off on the wrong thing for a while,” said one of the adopters of “Extreme Programming”. “If you are ‘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.” But pairing with a coding partner isn’t the only change. Extreme Programming formalizes the process of writing code via its series of outlines and work rules. Extreme Programming, or XP, is designed for use with small teams who need to develop software quickly in an environment of rapidly changing requirements.

 

The methodology was invented in 1996, when automaker Chrysler called upon Kent Beck, a software developer, to save a project known as Chrysler Comprehensive Compensation, or C3. Kurt Beck developed the method and succeeded with the project at Chrysler. The C3 system now provides monthly payroll information for Chrysler employees.

One of Extreme's key tenets requires programmers to release a nuts-and-bolts version of its product to the customer first and then continue to build additional features afterward. This immediately remedies the time-to-market problem, and customers wind up with a less buggy product to which features are added as the customer demands. Extreme also requires programmers to maintain a direct relationship with the customer. Rather than packing a product with thousands of features, the customer can specify exactly what they want, and the programmer can focus on perfecting a few features. Programmers must write tests for their own programs before they begin coding. These tests are used instead of an independent "quality assurance," or testing, group--a technique that will save time, according to Extreme's advocates. During the coding process, programmers also practice a technique called re-factoring. This involves constantly working to simplify the code. By keeping code clean and defining things only once, programmers reduce the number of errors that must be addressed later. For code writers themselves, one of the most striking differences is Extreme's requirement of pair programming. Once they switch to pairs, many programmers say they prefer it because the team approach can dramatically boost productivity and quality. Extreme also mandates communal ownership of all code.

More and more companies begin turning to XP. Ford Motor, Chrysler and IBM are among the companies using Extreme Programming in at least some capacity. Also smaller software companies are adopting the concept to slash software delivery times. And it works: those companies are getting products to the market much faster.

Beck has said the method works best with groups of two to 10 programmers, a size that fosters good face-to-face exchanges and direct verbal updates. Projects that are contained to a small geographical area are also better-suited to the requirement for pair programming. Extreme's advocates say it's changed their work lives. Traditional methods to help organize software development are not that productive than XP. In the Waterfall method, for example, companies lay out in advance all the features that will be included, assign tasks to different people, and then begin coding. An integration process follows at the end. It assumes that the customer knows what they want up front, which they never do. And if the customer changes their mind, it's a big problem. Extreme Programming, by contrast, advocates adjusting and building onto products throughout the development cycle. It also uses an ongoing strategy of collaboration and face-to-face contact. It is the human interaction that ultimately makes the methodology a success.

There are twelve key practices in XP (or rules). You find a more detailed description about them + additional information about XP at xprogramming.com and more information and a “gentle introduction to XP at extremeprogramming.org.

More about about New Economy Economics and Management Best Practice in general, and about other related topics will be continued here in my newsletters. To subscribe for my free-of-charge e-mail push newsletter click here. 

 

… feedback

 

Back

 

 

©2001 Juergen Daum. All rights reserved.
Copyright, Trademarks and Disclaimer