We tend to believe that creating comprehensive Gantt diagrams, precise roadmap documents, and making the customer sign the meeting minutes will make us and our projects more trustworthy.
We need to plan, and try to foresee what is coming, but you can only be sure of a few things: estimations are going to be wrong, customers are going to change their minds, and you’ll need to adjust the Gantt.
Suggest, propose, execute, test and iterate again. As Naval Ravikant says, do 10,000 iterations not 10,000 hours.