Subscribe to our e-mail newsletters
For more info on a specific newsletter, click the title. Details will be displayed in a new window.
Application/Web Development
Computerworld Daily News (First Look and Wrap-Up)
Computerworld Blogs Newsletter
The Weekly Top 10
More E-Mail Newsletters 
Computerworld 2007Subscribe to Computerworld
40 years of the most authoritative source of news and information for IT leaders.

Extremely Agile Programming

 

Sign up to receive Security Resource Alerts

February 04, 2002 (Computerworld) -- Jens Coldewey is an application development troubleshooter. When he comes onto a project, it's usually engulfed in trouble. By that point, management is often so desperate that it's willing to try almost anything. That's when Coldewey, a Munich, Germany-based independent consultant specializing in banking and financial services, turns to Crystal, one of the new agile development methodologies.


Agile is the label given to a growing number of methodologies with names like Scrum, Crystal, Adaptive, Feature-Driven Development and Dynamic Systems Development Method (DSDM). These new development approaches are based on the premise that if you hire competent developers, presumably they know how to write code. Any problems your developers encounter, therefore, aren't coding issues but organizational and communications ones, and those are what the agile approaches attempt to address.


Coldewey, for example, once jumped into a project that was on the verge of collapse. The team was developing a complex enterprisewide system at a bank and was under extreme pressure to show results fast. In keeping with the Crystal approach, Coldewey spirited away the development team to a remote site. "I told them that the way they work would be up to them. We would develop the process together," he recalls. This alone was a radical departure for the bank.


Then Coldewey handed out two sets of blank index cards, each set a different color. On one set he instructed the developers to write down the things they did in the past that speeded up development. On the other, they wrote things that slowed them down.


"In half an hour, we had a lot of cards of both colors," he says.


After sorting through the cards, they quickly set up a process consisting only of things that sped development while avoiding the things that slowed people down. They followed the process they had just set up to knock out the first iteration of the system within a few weeks and met the deadline.


"We went through this exercise and made changes for every iteration until we had a stable process," which took about three iterations, Coldewey says.


Although the various agile approaches are different, they have some things in common. They're intended to produce software that can be changed quickly, and all specify short iterations and maximize the amount of time spent face to face. They also focus on team morale. "You can't talk about agile methodologies without talking about team morale," says Alistair Cockburn, the originator of Crystal.


The agile approaches differ from extreme programming (XP), although all of them are lightweight methodologies. Lightweight methodologies dispense with much of the software development process overhead that bogs down developers, such as lengthy requirements definitions and extensive documentation. XP, however, differs from the agile approaches by being much more prescriptive, even dogmatic, some might say [QuickStudy, Dec. 3]. XP revolves around 12 practices identified by Kent Beck, author of Extreme Programming Explained: Embrace Change (Addison Wesley Longman Inc., 1999).


Although XP in various forms has been around for several years, corporate IT is only just beginning to consider it. The chief obstacle is that some practices prescribed by XP contradict long-established IT policy. For example, XP specifies pair programming, in which two programmers sit side by side coding at a single workstation. Pair programming seems blatantly inefficient, but a series of studies has confirmed that the approach results in fewer code defects, which ultimately speeds final delivery.


"Pair programming is not as productive initially, but the design happens on the fly and the quality is outstanding. And since we have fewer defects, we're not spending time doing as much bug fixing. So the cost issue is moot," says one application development manager at a major U.S. bank.


XP also requires the customer for whom the software is being written to take an active, ongoing role in the development process—to the extent that the customer is asked to write a test to prove a requested function before it's actually coded. In XP, customers write desired functions on index cards (one function per card). The developers estimate how long it will take to code that function. Based on the estimates, the customer decides which functions to tackle first. Then the customer writes a test, and the developers write code to pass the test. This requires a serious commitment on the part of the customer, but in return, the customer gets exactly what he asked for.


XP's approach to requirements alone saves tremendous effort. "We're talking about a bunch of index cards vs. 100-plus-page requirements documents," says the bank manager. The bank turned to XP to develop a major enterprise document fulfillment system. When a bank client opens an account, the new system automatically generates all the appropriate documents and sends them to the client. In addition to the document fulfillment system, the bank has about 10 applications or reusable components built using XP techniques.


XP isn't perfect, however, and the bank has looked at other agile approaches. "XP doesn't address deployment," says the bank manager. So now he's looking at DSDM, "which has some life-cycle project management," he notes.


Lightweight Programming for Heavyweights


Lante Corp., a Chicago-based consulting company, recently held a conference on XP for its corporate clients in hopes of speeding its acceptance. To make XP more palatable to corporate managers, Lante has teamed with Beck to create what they're calling a one-team approach, explains David Trowbridge, Lante's director of technology. The one-team approach combines an XP development effort with an ROI team that analyzes the business and ranks project requirements on the basis of return on investment.


Lightweight methodologies have been adopted primarily by independent software vendors and Internet start-ups that don't have an entrenched development process. These approaches work best on projects where requirements change quickly and frequently or aren't fully apparent at the start.


Lante, which offers a range of development approaches, from traditional to agile, only recently found a major corporate client willing to try XP.


Similarly, Jim Highsmith, creator of Adaptive, an agile methodology, has started to work with a major pharmaceutical company. "They are kicking the tires. A few companies are using it on Internet projects, but it represents a big change for corporate IT," Highsmith notes.


A move to agile programming, in fact, strikes the most sensitive of nerves: honest communication. For years, corporate IT and users have worked separately. Lightweight methodologies bring everyone together face to face and keep them there.


"Now they have to be honest," says Beck, who set up the showcase corporate XP project at the automaker Chrysler several years ago. "No more padding requirements or inflating estimates." In exchange for honesty, organizations get functionality they need fast. To managers, it's a welcome trade-off.


Radding is a freelance writer in Newton, Mass.















Extremely Agile Programming:



Agile Programming Systems



Agile or Nonagile?



Insights About Agile Programming



Extremely Agile Programming







Print this Story Send Us Feedback E-mail this Story Digg! Digg this Story Slashdot this Story
"IBM's old AS400 technology is fading fast, if product names are any indication...." Read more...
"Systems support pilot fish starts getting reports that a special Y2k tool has stopped working — in early 2008...." Read more...
Read more Development posts or See all Blogs
Microsoft promises four patches next week
Google gives away home-cooked Web application security scanner
Storm botnet stages Fourth of July attacks
More top stories...
Microsoft trumpets security additions in upcoming IE8
Apple cuts price of high-end SSD MacBook Air by $500
Ultrathin showdown: Apple MacBook Air vs. Lenovo ThinkPad X300 vs. Toshiba Portege R500
All it takes is a couple hours and about $125 to breathe new life into an old laptop. Here's how.
Is Microsoft's Golden Age over? What are Gates' most memorable quotes? Find out in Computerworld's complete coverage of the end of the Bill Gates era at Microsoft.
There are some things your CIO definitely doesn't want to hear. Also don't miss the flipside, Five things you should always tell your boss.
With its latest version, Mozilla's browser continues to raise the bar for what Web browsers should be.
Reviews, analyses, how-tos, visual tours, hot issues and predictions about Microsoft's new OS.
Four years from now, the IT field will be a vastly different place. Will you be ready?
All Zones
Application Performance Zone
Business Continuity Zone
Data Center Management Zone
Enterprise-Class Security Zone
The File Data Management Zone
Grid Computing on Windows Zone
Security Management Zone
ITIL Best Practices Zone
The SAS Zone
Storage Virtualization Zone
Business Intelligence and Analytics Zone

Ads by TechWords

See your link here
Sold on SOA

(Source: Computerworld) It's the hot technology for most large companies, but business, technical and cultural issues must be addressed for a successful SOA implementation. Get the whole story, from the big picture to the how-to-do-it details, in this Executive Bulletin. Download this Executive Bulletin (a $49.95 value) for Free, compliments of Fujitsu.
Download this executive briefing download
Virtualization Everywhere
Download this white paper, free, compliments of Citrix.
(Source: Citrix) Adoption of virtualization is concentrated among large enterprises, while adoption by mid-sized companies has been much slower. For these companies, the cost and complexity of server virtualization solutions has been a barrier.

In this paper, we'll discuss how Citrix XenServer" provides simple, economical server virtualization for any size company. Download now!

Download this white paper go
Why SaaS is Vital to Email and Web Security
Why SaaS is Vital to Email and Web Security
Download this webcast, free, compilments of Webroot Software
Go to the webcast 
White Papers
Read up on the latest ideas and technologies from companies that sell hardware, software and services.
Deploying Virtualized NetWare on Linux Whitepaper
Toward More Flexible, Next-Generation Collaboration Solutions
Driving Business Success Through Workgroup Choice and Flexibility
View more whitepapers