The danger with the "challenge" definition, said Little, is that many of the projects that were delivered late or had less scope than originally intended, "were nonetheless successful in the eyes of the business."
Agile has its own issues as well.
Barry Boehm, the director of the University of Southern California Center for Systems and Software Engineering, said agile is good at getting a project fielded early and evolving it as necessary, but it does have "some failure modes."
One problem with agile is what's called "easiest first" or "technical debt," which basically means that a developer, in the interest of pleasing users and customers, may, for instance, put everything in main memory "and the thing performs like a flash and the users love it" until eventually nothing fits in main memory anymore "and you have something that is an architectural breaker."
Developers may hold off putting in security features until a later point in the development, at which they have already put in so many insecure features that there is no way to work security into it later, Boehm said.
Agile is good for smaller projects, and where the requirements are rapidly changing. It also works "in an organization where people feel comfortable or empowered," said Boehm.
Patrick Thibodeau covers SaaS and enterprise applications, outsourcing, government IT policies, data centers and IT workforce issues for Computerworld. Follow Patrick on Twitter at @DCgov or subscribe to Patrick's RSS feed . His e-mail address is firstname.lastname@example.org .
Read more about project management in Computerworld's Project Management Topic Center.