Banish ambiguity: be clear on your objectives.
Picture the scene...
Customer and supplier talk to discuss delivering a piece of work and come to an agreement. Supplier comes back a week or so later, feeling pretty pleased, having sourced a prize merino sheep. Meets the supplier...
It's a sheep!
But you said you wanted something with four legs, hooves, and eats grass. Costs a lot of money.
I wanted a horse!
Both scratch heads.
Moral: Banish Ambiguity!
Method: Write good product descriptions and good acceptance criteria. Be specific where appropriate and support with examples, drawings and diagrams. Confirm progress! If you want a horse say that you want horse, establish the acceptance criteria, the budget, the time scale and so on.
Anecdote: About 20 years ago, I was invited to work at short notice on a project for a supplier doing some work for Lufthansa. The supplier had spent about a year working on a solution for a new ticketing system for check-in desks. Proudly they were ready to show the solution. On seeing it, the customer was aghast.
Where was Novell, where was ZENworks? The supplier was dumbfounded. They had produced a Microsoft build, whereas the supplier was expecting a Novell solution. I came in and helped turn it around. In the end it was a great success, but a very costly lesson.
Times and products change, but understanding your client's needs is timeless.