Paul Krill
Editor at Large

IBM pitches the efficiency of agile programming

news
May 15, 20075 mins

Presentation at the Academy of Technology Conference covers iterative development methodology that favors more frequent release cycles of less comprehensive updates

IBM is undoubtedly one of the oldest computer technology companies, but it may be on the cutting edge when it comes to deploying newfangled agile programming methodologies.

The company is holding an IBM Academy of Technology conference on agile programming this week at the IBM Almaden Research Center in San Jose, Calif. With agile, software is delivered in short, iterative release cycles, such as two-week cycles. This methodology accommodates changing requirements that otherwise can render software obsolete upon release

“Agile is a major push in the industry,” said Scott Ambler, IBM practice leader for agile development in IBM’s Rational Software group. “We’ve actually been doing it for quite a while, but we haven’t taken the opportunity to actually get together and coalesce [around] what we’re doing.”

With the event, IBM wants to discuss what is and what is not working, he said. In some places at IBM, agile has been in use for more than five years, said Michael Maximillien, an IBM research staff member. Agile has been used to develop and refine the IBM.com Web site, for example.

Agile programming is cost-effective and produces higher quality software, Ambler said. “You end up with software that meets the changing needs of your stakeholders,” he said.

While traditional waterfall-style processes adhere to a strict plan, agile is more flexible. “In agile, we do a lot of planning. It’s just that we don’t do a lot of upfront planning and blindly follow that plan,” said Ambler.

A keynote speaker interviewed at the event concurred about agile’s flexibility.

“One of the things that people like about agile methods is that they enable you to do things rapidly, and if you don’t get them right this month, they will you give the right thing next month,” said Barry Boehm, a software engineering professor at the University of Southern California.

Agile practices can help software developers avoid missed market opportunities that can occur while waiting to change requirements in non-agile processes, said conference attendee and panelist Laurie Williams, an associate professor of computer science at North Carolina State University. With agile, developers do not have to wait for requirements to be finalized before getting started, she said.

Agile, she said, “is getting to be more mainstream.”

IBM also leverages agile methodologies at customer sites. But agile has had to face a number of issues, such as a mistaken belief by some adherents that no requirements planning or architecture should be devised before embarking on a project, Ambler said.

Also, there are industry perceptions that a database schema cannot be changed, which has negatively impacted perceptions of agile and its practice of changing requirements. But these schemas can, indeed, be changed through database re-factoring, Ambler said.

Another obstacle faced by agile programming has been scaling the size of programmer teams, Boehm said. While an ideal agile team has seven to 10 developers, there are government projects, for instance, that have 4,000 developers working on them where agile is not being used, he said.

With the Scrum variant of agile, for instance, team members discuss what they did the day before and what they plan to do today, Boehm said. This certainly is not possible with a project that has 4,000 developers, he noted.

One way to address scalability with scrum is to have Scrum teams each having 15-minute meetings where they summarize what is happening. This can work if the right people are involved in a project, but scaling remains an issue, Boehm said.

Transitioning to agile can be difficult, said conference speaker Mike Cohn, co-founder of Mountain Goat Software and a founder of the Agile Alliance. He ran his first Scrum project in 1995. The transition itself should be treated as a project and include the formation of a transition team, he said.

“One of the main things we have to do is overcome resistance,” he said. Cohn recalled an instance in which a human resources department resisted a switch to pairing of developers in an agile project after being presented with an argument that this would disrupt individual personnel evaluations.

He dismissed the notion that agile prevents a customer from knowing the exact scope and date of project deliverables because the same argument can be made about waterfall-based projects. Terms of contracts can be negotiated, such as providing an option to swap out development of certain functionality for other capabilities to meet a set deadline, Cohn explained.

“Nobody out there’s saying agile programming is a silver bullet,” Cohn said. Agile will not solve all problems but will expose problems already there, he said.

Although agile programming can be used with development in any language, Maximillien said languages like JavaScript and Ruby are better suited for it. “I would say some languages are a lot more agile than others,” he said.

“Both of those are very dynamic. Instead of being statically typed, they are dynamically typed, so that allows you to make changes to the software a lot faster,” Maximillien said.

IBM officials, meanwhile, said to expect an announcement about the company’s Jazz platform for application lifecycle management at the upcoming IBM Rational Software Developer Conference 2007 event, which is being held in Orlando, Fla., the week of June 10.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author