SOUTHLAKE,
Texas - Many of the programmers at Sabre Holdings Corp.
work in pairs sharing a keyboard, but it’s not because
the company has a shortage of computers.
They stand around conference tables for meetings,
leaving office chairs unused. And they plot their
progress by moving index cards across a bulletin board,
ignoring automated programs available for managing
projects.
These developers are disciples of a new and rapidly
growing movement that takes a radical approach to some
of the software industry’s biggest problems: Poor
quality. Runaway budgets. Missed deadlines.
It’s called extreme programming.
‘‘The name evokes images of extreme sports, of
something that’s risky and out of control, but it
really is just the opposite,’’ said Brad Jensen,
senior vice president for airline products development
at Sabre. ‘‘It is highly disciplined and controls
the risk.’’
Extreme programming, sometimes called XP, represents
a far more collaborative approach to how software is
made, with lots of emphasis on communication. Team
members share keyboards because it forces them to talk
out each line of code - and keep it simple.
They have short daily meetings and stand so the
sessions don’t drag on. They demonstrate their
progress with a wall of index cards so everyone can
easily see what needs to be done next.
Extreme projects are heavily planned - divided into
pieces, each of which can be completed in two or three
weeks. That way, the team can regularly deliver working
software to the customer, helping to ensure that
everyone is on the same page.
Shorter design timelines also improve quality. So do
tests that are prepared before the code is written,
reversing the usual order. The thinking is that if it’s
hard to write the tests, the design is probably poor.
Every night, the code that was written that day must
meet production standards.
At a time when software almost every aspect of modern
life, technology experts agree that it’s grown
unnecessarily complex and that its quality isn’t
improving.
If anything, they say, it’s getting worse.
Defective software costs U.S. companies more than
$100 billion annually and accounts for 45 percent of
computer downtime, according to the Sustainable
Computing Consortium at Carnegie Mellon University, a
collaboration of major corporate technology users,
academic researchers and government agencies.
The steep drop in spending on technology that began
more than two years ago is largely a result of customers’
frustration with poor quality software and badly managed
implementations, said Dr. Leon Kappelman, director of
the Information Systems Research Center at the
University of North Texas in Denton.
‘‘The tech spending slump is largely
self-induced,’’ he said. ‘‘We have brought this
upon ourselves.’’
Extreme programming is only the latest term for a
series of efforts over the decades to improve how
software is made, Kappelman said, noting that other
initiatives also have focused on using small teams and
breaking projects into segments.
‘‘We’ve learned a lot in the interim, and this
is the latest incarnation,’’ he said.
Proponents of extreme programming say it’s
impossible to quantify its productivity benefits because
people have different responses to the changes.
Still, some companies have calculated remarkable
gains. NextJet, a supplier of transportation management
software, has reduced the production time on 18-month
projects to nine months, with the same number of people.
Lots of software engineers initially approach extreme
programming with a healthy measure of skepticism,
believing it’s just an excuse for having fun or even
goofing off, said Paul Orsak, chief technology officer
at NextJet Inc. in Dallas, which has also adopted
extreme techniques.
‘‘But once they’ve tried it, our experience is
they become believers.’’
It’s as if an artist commissioned to paint a
landscape came back to the customer every few weeks to
ensure the trees and water were done right, said Orsak.
At Sabre, peer pressure to stay engaged and the more
frequent deadlines keep people working harder, said
officials for the Southlake-based travel technology
company. In addition, quality has vastly improved. In
two cases, software products were rewritten entirely
with XP, and the defect rate was less than 10 percent of
that in prior versions.
‘‘You catch the bug before it goes in,’’
Jensen said. ‘‘You don’t need to have a long
debugging process at the end, where you’re looking for
needles in the haystack.’’
Although a lot of software companies have accepted
the principles of extreme programming, many say they
find it difficult to embrace changes in the traditional
‘‘lone geek’’ culture.
International Business Machines Corp., for example,
has adopted aspects of extreme programming, such as
producing smaller releases and putting products in front
of customers for tests.
‘‘We’re not literally sharing keyboards,’’
said Jim Rhyne, a software architect for IBM in San
Jose, Calif., but that’s largely because some
buildings have separate offices for each developer.
Farmers Branch-based i2 Technologies Inc. is also
customizing its interpretation of extreme programming.
‘‘We’re not believers that there’s a
cookie-cutter solution to every problem, and the XP
extremists say you have to do everything XP,’’ said
John McGhee, a director in the total quality management
program at i2, which makes software that helps companies
track and manage shifts in demand for their products.
Extreme programming was created in 1996 when Kent
Beck, a software consultant, was called in to help the
former Chrysler Corp. rescue a failing effort to write
payroll software.
Chrysler had blown through millions of dollars on a
classic runaway project with little to show for the
work, said Mr. Beck, now known as the father of extreme
programming. (He joked that he prefers the moniker
‘‘grand pooh-bah.’’)
Beck told Chrysler executives it would be a shame to
cancel the project, considering the investment the
company had made and the experience the team had gained.
Because it seemed a logical way to turn around a
chaotic situation, his first order of business was to
set a goal for the first three weeks: The team had to be
able to print a check. It worked, and that’s how the
short-term iterations were born.
Beck began to improvise. Each function, he
determined, would be called a ‘‘story,’’ a term
that’s regularly used in XP culture. ‘‘Inspiration
is a combination of preparation and panic,’’ he
said.
By the time the Chrysler project was finished, ‘‘it
was obvious this was a whole new thing,’’ Beck said.
The name came next.
‘‘You need a name that’s descriptive and catchy
but also defensible,’’ said Beck, who in 2000 formed
the Three Rivers Institute in Merlin, Ore., and now
travels extensively preaching the gospel of XP.
‘‘The word extreme comes from extreme sports.
People who are serious about extreme sports ultimately
are prepared. They have the best possible equipment. If
they’re going whitewater rafting, they carefully map
the bottom. They don’t just go, ‘Oh cool, nobody’s
done this before,’ and jump in a raft. The risk is not
what it looks like to the outsider.’’
The room where Sabre groups its developers together
for airline products is noisy by design.
Not only does Jensen want his programmers to
communicate with one another as they’re teamed at the
same keyboard, he also wants them to overhear nearby
conversations and pitch in suggestions.
‘‘You want the knowledge in the group, not in
someone’s head,’’ he said. ‘‘We want
collective ownership. Everyone owns the code.’’
In XP, individuals are forbidden from taking
exclusive responsibility for any bit of programming.
This is in stark contrast with much of conventional
programming, in which heroic ‘‘cowboy coders’’
have kept projects afloat through generating enormous
amounts of work, generally in isolation.
But the disadvantage that many organizations find in
having only one person understand a clever bit of code
is that the person isn’t always available when changes
are needed.
In XP, programming is far more flexible because
changes can be made quickly by anybody. So if Sabre
needs to add biometric or smart card readers to airport
ticketing systems that now read barcodes, the old code
won’t have to be ripped out to allow for the added
functions.
‘‘We don’t have to worry about whether the
expert is out of town,’’ said Jay Packlick, a senior
product architect at Sabre. ‘‘I can take vacations.’’