Ads by TechWords

See your link here
Receive the latest technology news and information.
Application/Web Development
Computerworld Daily News (First Look and Wrap-Up)
Computerworld Blogs Newsletter
The Weekly Top 10
Cloud Computing
View all newsletters




Privacy Policy
 

Coder Be Agile, Coder Be Quick

July 25, 2005 12:00 PM ET

Computerworld - Anew force is making itself felt in the world of software development. Advocates of the agile development methodology (www.agilealliance.com) claim that its potential to increase productivity in some areas is so bright that coders are going to need to wear shades to write software with it.
Instead of starting by developing a detailed set of requirements, agile methodologies call for programmers to begin by writing small chunks of functionality that can be completed in two to four weeks -- "iterations," in agilespeak. Module testing receives the same level of attention as the actual writing of the code. When one iteration is done, developers find the next requirement to add more functionality to the module just completed and thereby start a new iteration.
Agile processes promise to deliver high-quality, functioning software at a fraction of the time and cost of traditional methods. Still, agile isn't likely to replace the so-called waterfall development methodologies, those proven ivory towers that have been used for the development of everything from missile guidance to widget-tracking ERP systems. For many projects, especially big ones with relatively fixed requirements, the Software Engineering Institute and its family of Capability Maturity Models (www.sei.cmu.edu/cmmi) are the gold standard and will remain so.
What's changed is product development in the era of global mass customization. You can't afford a three-month requirements-definition phase whose pieces are nebulous and evolving. The agile method has at its core the ascendance of trial and error over planning and documentation or, borrowing more agilespeak, "early value delivery" over "formalism."
Agile tilts to a more intuitive but still disciplined form of software development. Build and test a software module for that widget-tracking system with a very small, tightly integrated team. Then interpret the requirements for that module in the testing and have the software built before the requirements even would have been developed using traditional waterfall methods.
Agile already is showing up in mainstream software development. Some developers will see it first as part of a hybrid methodology, with some parts managed via waterfall methods and others spun off to agile. Likely candidates for spinning off to an agile team are software modules that include undefined areas or functionality that's likely to change.
Instead of waiting for dependencies to be resolved or customer inputs to catch up to requirements, put agile to work. Develop the test plan, build, and test with "Tinkertoy" interfaces that can be easily updated when the project catches up. Agile excels in this environment.
The potential savings offered by the agile method force



Jump to comments

Development

Additional Resources

Xerox
By using solid ink technology only from Xerox, you could save up to 65% by printing color for the cost of black and white. Enter for a chance to WIN a PhaserTM 8860 network color printer!
Microsoft
Save time and mitigate security risk. Deploy it now.
Sybase
In this white paper, IDC analyzes the role of next-generation mobile enterprise platforms as organizations seek a more strategic deployment of mobile solutions.

Learn the important issues you must consider before starting your next mobility initiative. Get your mobility white paper from IDC now, compliments of Sybase.

White Papers & Webcasts

Extend, Replace, or Convert; which is the best way forward for COBOL Applications?
Download this white paper, free, compliments of Micro Focus!  

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!  

Effectively Implementing Datacenter Automation
Effectively select and deploy the best datacenter automation solution today!

Faster, Cheaper and Easier to Maintain
Can you afford not to upgrade your servers to today's advanced, energy-efficient technologies?  

Aligning IT to Business: The Rising Importance of Application Delivery Networks
Application Delivery Networking (ADN) will play a vital role in helping enterprises incorporate strategic technologies to achieve business initiatives.

Mitigate Risk, Lower Costs and Improve Network Efficiency
Create a stable IP network that not only meets today's challenges, but is flexible enough to also meet future demands.