Customer Interaction First and Foremost
If you are in sales and are not selling something that your customers want and need, you will not do very well in sales.
If you are developing software and are not building something customers want and need, you will not do very well in product development.
It is amazing and sad to me every time I see a team disconnected from their customers, (whether internal or external to the business) when it is such an easy and powerful thing to do.
Guessing what your customers need and want is not good to count on unless you are well used to running experiments and that is the only real option available to you because you are being so incredibly innovative that there is a need for strategic secrecy.
Much more often what happens in my experience is that someone talks to the customer once, upfront before development and then delivers it (often without feedback) when it is fully cooked. This is Waterfall behavior and a major reason for failure (you can do everything else right but do this and it won’t matter) because you are still flying blind and do not know if you are doing the right thing until end when it is too late to change it.
What should happen is that you talk to the customer upfront even when you are designing your solution/product and then engage them throughout development by letting them see early features and functionality and kick the tires and try it out as you go along, ensuring that you are building something that the customer needs and wants to the greatest degree possible.
Even more so, you should allow the customer to interact directly with the development team (in Scrum) and not just the Product Owner or a Business Analyst. Doing this eliminates the game of telephone where you are passing on second-hand information and thereby changing the message (unavoidable) by passing it from person to person before it gets to the developer actually building what is being requested.
Bring your customers into the fold and you will not regret it, just be careful of one thing which is the “Homer builds a car” syndrome (see the Simpsons episode, it should be required viewing for every team) which results in building the 80% of features the user will not use instead of the critical 20% they will.
Bring the customer in, it is where they deserve to be and where your most successful product development will reliably happen.