customers can tell you what they want, and it’s your job to listen. Successful development teams work closely with their customers and communicate with them frequently.
There is nothing wrong with a project plan – however, it must be malleable. There must be room to allow for change and to respond to it otherwise your plan quickly becomes obsolete.