Not every project (even iterative) goes as well as the one in the preceding example, but it's much more likely to be this way with an iterative lifecycle model. Keep in mind the following points:
Iterations are carefully planned only one step at a time.
Use the lessons learned from each iteration to adjust the project plan for the next iteration.
Be sure to examine the exit criteria from the Elaboration phase before moving the project into the Construction phase. Be honest with yourself and the team. Is the architecture really stable? Can it meet all the supplemental requirements levied on it?
Demonstrate iterations to your customer carefully. Be prepared to deal with the change requests resulting from them.