Content area
Full Text
These new programming methodologies are called adaptive because they react to changing user input, agile for their frequent iterations and continual testing, and lightweight because they emphasize small teams and downplay documentation.
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...