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).



- Excel 2010 Cheat Sheet
- Register for this Computerworld Insider Cheat Sheet and gain access to hundreds of premium content articles, guides, product reviews and more.
- The Keys to Distributed & Agile Application Development
- How leading firms are winning with strategies for efficient application development, without relying on co-location.
- Overcome Top 7 Admin Challenges of Active Directory
- As Active Directory's role in the enterprise has drastically increased, so has the need to secure the data. Gain insight on creating repeatable,...
- Insiders Can Ruin Your Company. Take Action.
- Did you know that 80 percent of threats to an organization come from the inside? The threat from insiders is often overlooked in...
- Top Solutions and Tools to Prevent Devastating Malware
- Custom malware frequently goes undetected. According to Forrester Research, the best way to reduce risk of breach is to deploy file integrity monitoring...
- Streamline Compliance and Increase ROI
- Streamline, simplify, and automate compliance related activities; especially those that impact multiple business units. This white paper from NetIQ, outlines solutions that will... All App Development White Papers
- Reduced TCO for Communications Applications with New Oracle SPARC Servers
- In this webcast learn how Oracle's new SPARC T4 servers and SPARC Supercluster deliver the security, performance, and scalability required for 4G network...
- Optimizing Networks for the Cloud
- Join guest speaker, Rohit Mehra, IDC Director of Enterprise Communications Infrastructure, to explore current trends, discuss best practices for optimizing Data Center and...
- Apps QuickStart Series Part 2: Designing and Deploying SQL Server on VMware vSphere
- Download this webcast to learn about the design considerations for virtualizing SQL workloads, performance and scalability information and high-availability options, as well as...
- Apps QuickStart Series Part 1: Designing and Deploying Exchange 2010 on VMware vSphere
- Download this webcast to learn the virtual hardware design considerations for Exchange 2010, deployment using the building block approach, options for high-availability and...
- Customer Spotlight: How IPC The Hospitalist Company Implemented Oracle on VMware
- Have you been looking to hear about customer's experiences with the new VMware vCenter Site Recovery Manager product? View this webcast to learn... All App Development Webcasts