From the very beginnings of object-oriented development, OO
design has been linked with iterative and incremental development. But
as many point out, there's no inherent link between the two. You can
do OO in a waterfall, and you can do IID without objects. So why are
the two so closely linked?

From time to time I get introduced as a "signatory of the Agile
Manifesto". Usually what they mean is that I'm an author of the
Manifesto for Agile Software Development, and thus one of its
initial signatories. But actually there are many more signatories
than the 17 authors, when I last looked the count was up to
10,104. If you're so inclined you may join that list.

Most of the clients I run into have not heard of iterative
development, or consider it to be a new and relatively untried
phenomenon. In contrast iterative development has been around for a
long time under various names. A recent article by Craig Larman and
Vic Basili in IEEE Software summarizes an effort to capture this
history and gives you a good idea on the long story of successful
projects that use iterative development approaches.