The Spiral Model
Iterative Design
One of the main objections to the waterfall model is that in the real world requirements change during design for a number of reasons: you simply cant create a specification at the start of a project and expect it to be the same when the project is completed.
The solution to these objections is the notion of iterative development, where there is feedback between prototypes and design.

The Spiral Model
The spiral model (Barry Boehm, 1988) attempts to combine the advantages of the waterfall model with the flexibility of an iterative approach.
"A Spiral Model of Software Development and Enhancement", Barry W. Bohem
Advantages
Estimates (i.e. budget, schedule, etc.) get more realistic as work progresses, because important issues are discovered earlier.
It is more able to cope with the (nearly inevitable) changes that software development generally entails.
Software engineers (who can get restless with protracted design processes) can get their hands in and start working on a project earlier.
Further reading
A Spiral Model of Software Development and Enhancement (PDF) - Barry Boehm's original article