The cartoon below is an illustration showing where waterfall is not a good approach. It was inspired by both the Select Perspective as well as a program on Discovery Channel (Scrapheap Challenge, an episode where teams had to shoot cabbages (or other fruits and vegetables) at the castle of the opponent using a self-made cannon build out of the junk found on the scrapheap)
Shooting the castle is the objective, in other words the "requirement". The shooting of the cabbage can be seen as testing if the implementation (in this case using the correct amount of gunpowder, optimal weight of the cabbage, how well it fits into the barral and the correct angle of the cannon) meets the objective (hitting the target).
When you miss (which is very likely) you have to go back and analyze the problem: "we have overshot the caste", then design again: "this amount of gunpowder, that cabbage, and put the cannon in this angle, then implement it: "put the powder in, tilde the cannon etc" and finally shoot again to see if you meet the requirements this time.
You might say, "well an experienced cannon operator will shoot the castle". Correct, however in today's environment requirements change while we are in the progress of analyzing, design and building the solution. Going back to the castle analogy: that means the castle is moving!
What you need is a cabbage that can change its trajectory after it has been shot. This change of trajectory is based on changes like: moving target, wind, rain etc. This is exactly what incremental/interactive development delivers: "a guided cabbage".