Extremely Agile Programming
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).
Software Development
Additional Resources



White Papers & Webcasts
Network Operating System Evolution
Computerworld and Juniper invite you to download this white paper!
Three IT Strategies to Cut Cost Intelligently
Register for this Webcast! Provided by BMC Software.
How Operating Systems Create Network Efficiency
Computerworld and Juniper invite you to download the full report.
Key Strategies for Managing Data Growth
What are you storage challenges?
Forrester Consulting - Optimizing Users and Applications in a Mobile World
Learn how to successfully deploy a WAN optimization solution that is specifically tuned for a mobile environment!
Extending Client Refresh - 11 Steps to Maximize Savings
Register Now!
Lower the Cost and Complexity of a Mobile Workforce through Automation
Download This Resource Now!
Advancing the Economics of Networking
For more information download it today!
Managing Mobility: Improve Data Security, Compliance and Manageability
Download This Resource Now!
