(agile == iterative) evaluates to false

The variations in understanding and application of agile methods leads to a mass of misconceptions, sometimes amusing, sometimes frustrating, and usually expressed as axioms by those who believe them. An example: The assumption that agile development means, by definition, an iterative process. This reasoning illustrates a facet of basic logic: A true conclusion can follow from a false premise. Even so, we can't depend on it happening every time we need to reach a true conclusion. It would be better if people would dispense with the false premises. There are real reasons to choose between an iterative and a non-iterative approach. We would do well to understand those reasons properly.

full version