A huge debate rages on in IT these days. There are two rival camps - traditionalists who subscribe to the "waterfall" methodologies and agilists. Most recent evidence suggests that agile methodologies have an edge in project success rates but the traditional methods are still widely practiced and do result in some project successes. There are reasons for the successes of agile and traditional projects that can be explained by complexity theory. This presentation will examine some interesting information about waterfall and agile methodologies and show why complexity theory can help us to predict the relative success (and failure) of applying these methodologies to software development projects.