Agile programming has fallen short, conference attendees told
InfoWorld - Agile software development, which aims to offer a much quicker style of delivering software than traditional methods, has not yet met its promise, said Steve McConnell, author and chief software engineer at Construx Software Builders Inc., who spoke to attendees at 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 so far. While intended to focus on individuals and interactions, agile programming 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.
After his presentation, McConnell said there has been excessive enthusiasm about agile programming, but this has happened before with other new technologies, such as computer-aided software engineering.
Agile programming was discussed during one of McConnell's worst-idea items: 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 items:
- Companies should 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.
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.



- 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