March 13, 2006

Agile programming has fallen short, conference told

Author Steve McConnell says while intended to focus on individuals and interactions, agile seems to be mostly about processes and tools now

Agile software development, which aims to offer a much quicker style of delivering software than traditional methods, has not yet met its promise, Steve McConnell, author and chief software engineer at Construx Software Builders, told the the SD West 2006 conference in Santa Clara, Calif., on Monday.

Presenting on the best and worst ideas in software development, McConnell noted what appears to be a contradiction in agile programming thus far. While intended to focus on individuals and interactions, agile seems to be mostly about processes and tools now, he said.

"It seems to me that the promise of agile development has fallen short at least so far," McConnell said.

McConnell said after his presentation there has been excessive enthusiasm about agile programming. But he said this has happened before with other new technologies, such as CASE.

Agile programming was discussed during one of McConnell's worst-idea items: that software practices are based on the assumption that developers are omniscient, and can know all requirements before building an architecture. He cited the traditional waterfall methodology as being based on this faulty assumption.

McConnell's best ideas included the following:

* Recognize that software development is performed by human beings and that personnel capabilities are critical in software projects.

* Iteration and incrementalism in software development are essential.

* The cost of fixing defects increases over time.

* Software projects tend to follow a predictable intellectual flow.

* The ability to create accurate software estimates can be improved over time.

* The most powerful form of reuse is full reuse.

* Risk management provides critical insight into many software development issues.  McConnell cited extrinsic risk management activities, which are bolted onto a project, and intrinsic activities, such as project tracking and UI prototyping.

* Different kinds of software call for different kinds of software development.

* A software engineering body of knowledge (SWEBOK) exists, featuring disciplines such as configuration management, maintenance and testing.

"I'm not convinced [SWEBOK is the ultimate answer]," McConnell said. "I think it's a very good start, though."

The other worst ideas in software development cited by McConnell included:

* There are only two development options: iterate everything and iterate nothing (the waterfall model).

* Agile projects are immune to DCI (defect cost increase) dynamics. "The software engineering research really does not bear out this idea," McConnell said.

* We have to accept "wickedness" in software projects since software projects are for wicked problems.

* Requirements are always changing."[The] single most common source of changing requirements [is] requirements that were not significantly investigated in the first place," said McConnell.

* Requirements can be gathered or they just drop out of the sky like manna from Heaven.

* Entrepreneurial companies cannot be afraid of risk.

* One single development approach will work best for all projects.

McConnell acknowledged that some of the content was not groundbreaking. "A lot of what I'm going to be saying this afternoon probably is not new. In fact some of it is … old," he said.

An audience member Prabhu Raghavan, project engineer at Stryker Endoscopy, said he had read some of McConnell's books and liked the presentation's emphasis on recognizing that not all code is the same. Risk management pointers also struck a chord.

"I like the [the idea of] identifying risks," Raghavan said.

Paul Krill is an editor at large at InfoWorld.
Close

On Twitter now

Application development

Powered by Twitter

White Paper

D2D Virtual Tape Library Replication Primer

This whitepaper explains the terminology and concepts behind Data Replication technologies and establishes some sizing rules through worked examples. Learn the new paradigm in disaster tolerance—protect data anywhere.

Download now »

White Paper

An Alternative to Virtualization for Datacenter Cost Savings

Server virtualization is a popular option for dealing with mounting datacenter costs. Another equally promising approach is the use of an Application Delivery Controller. Citrix NetScaler provides a low-cost way for organizations to reduce their server count and accrue cost savings from a reduction in space, cooling, power and personnel.

Download now »

White Paper

Why Your Firewall, VPN, and IEEE 802.11i Aren't Enough to Protect Your Network

The emergence of WLANs has created a new breed of security threats to enterprise networks.

Included in HP ProCurve WLAN solutions is security technology that alleviates threats from WLANs through:
* Monitoring wireless activity inside and out of the enterprise
* Classifying WLAN transmissions into harmful and harmless
* Preventing transmissions that pose a security threat to the enterprise network
* Locating participating devices for physical remediation

Download now »

White Paper

Bringing the Edge to the Data Center

Effectively address data protection challenges, implementing solutions that help store and protect business–critical data while cutting costs and improving efficiency and reliability.

Download now »

Sign up to receive InfoWorld Resource Alerts

Subscribe to the Developer World Newsletter

Receive a weekly roundup about the art and science of software development.

©1994-2009 Infoworld, Inc.