As corporations struggle to complete application development
projects on time, within budget and without lots of buggy code, IT
managers are taking a closer look at new development methods, such
as extreme programming.
But while interest is growing within the ranks, attendees at the
Object-Oriented Programming, Systems, Languages and Applications
2001 conference in Florida said that most companies are taking a
piecemeal approach to using these developer-driven techniques,
instead of implementing them entirely.
Programmer Kent Beck developed the methodology five years ago while
serving as the project leader on Chrysler Comprehensive
Compensation (C3), a long-term project to rewrite Chrysler's
payroll application. Extreme programming calls for putting the
customer on-site to work with development teams, sharing code
techniques, pairing developers, performing automated unit testing
and editing code frequently to keep it simple.
The Stuttgart-based DaimlerChrysler - which had £100bn plus annual
sales last year - still uses extreme programming within several
application development groups in Germany and the US
But Christian Wege, the company's portal and Web application
architect said that DaimlerChrysler's emphasis is on only a few
extreme programming concepts, such as testing units frequently and
using small development teams.
Corporations are increasingly turning to new techniques to make the
most of smaller development teams and to contend with more complex,
distributed applications. "For new types of applications, like Web
services, the demand for well-structured code increases, and it's
not possible to cut corners on design," said Chris Dial, an analyst
at Forrester Research.
New York-based entertainment channel Noggin LLC adhered to extreme
programming development techniques when it recently launched an
interactive Web site that ties into the taping of its shows.
"We kept breaking [the project] down into many smaller projects,"
said Kenny Miller, vice-president of programming and production at
Noggin. "My fear was that the project would collapse under its own
weight. [Extreme programming] allowed us to make incremental
progress."
But IT managers and developers are less certain of the degree to
which they will follow each tenet of the various new development
principles, like extreme programming and agile modelling. Most said
they were introducing select parts of these methods, but others
were taking on the whole methodology.
Capital One Financial Corporation, for example, launched an extreme
programming project in the spring to develop call centre
applications.
Steve Metsker, software development manager, said the call centre
application that the group developed using extreme programming
techniques was a success. But, he added, a new project to develop a
customer management application at the company would focus less on
specific extreme programming techniques.
Capital One is instead adopting more general agile modelling
methods, such as delivering working software quickly, using simple
code, obtaining rapid feedback and turning in code frequently in
small units.
"There are some aspects of [extreme programming] that are extreme,
and some wonder whether something extreme is right for their
company," said Metsker.
Extreme programming is not considered right for every organisation.
Motorola, for example, used parts of the technique in some of its
development organization, but found that it was not useful for
global development projects. Ron Crocker, a senior technical
architect for the company, said: "[Extreme programming] values
small teams, and that's not always possible."
"The problem with [extreme programming] is the name," said one
independent development consultant. "After a lot of managers hear
the name, it's downhill from there, and they get turned off."