Which Practices are Most Useful to Agile Teams?

by chromatic

Scott Ambler has just published the results of the 2007 Agile Adoption Survey. Though it appears that the respondents selected themselves, there's a lot of interesting information here.

In particular, the third page has a list of the effectiveness of various agile practices. The top two are iterative development and regular delivery of working software. I think there's a strong connection between those and a project's success.

I've had several discussions recently regarding the delivery of software, and how infrequent releases are so prevalent... yet it's my experience that regular release cycles with small, well-defined sets of changes, make upgrading so much less painful that it's almost never painful.

If customers didn't want new features, they wouldn't pay for continued development. It seems to me that succeeding with a project means delivering value to the customer frequently--especially if you have the opportunity to refine the project based on frequent feedback.

By removing many of the consequences of failure--hey, it's only a week until the next iteration!--it's much easier to take advantage of new opportunities. Unless your organization's measure of success is static throughout a project, an iterative approach may deliver greater benefits.