The agile methods come at software development by challenging many of our status quo practices. The first one is the engagement level of the ‘customer’.
It’s my experience that most waterfall or traditional projects allow the customer to disengage after they start the project and provide an initial version of the requirements. After some time…later…they appear at the end of the project to receive their prize. Usually they’re disappointed in the end result—finding the functionality not living up to their original vision & expectations.
This sort of “end-points” behavior leads to many project failures due to a lack of clear communications, misunderstanding, and missed expectations.