There is an old saying that declares that “the customer is always right”. Nevertheless, taking this approach to the core of your business means that you won’t always provide the best service to your customers. It seems contrary that always doing what customers say could hurt your business. But, as the expert providing a service, you must work with customers to find solutions not only doing what is demanded.
Henry Ford supposedly said, “If I had asked people what they wanted, they would have said faster horses.” This is a great quote because users know about their pain points. However, they might not know what solutions are possible. Our job in the product design and development field is to listen to the customer and empathize. But, listening and doing exactly what they want is a different ball game. We must internalize and analyze the paint points, know the technology that could solve their problems, and test with the users. Thus, listening to the users is the first step but it cannot be the last or the only one.
You are the person with expertise, and as an expert, you should be able to show your concerns and disagreements when required. Don’t hide your fears by becoming a “yes sir” and express the issues while providing alternative solutions. Believe it or not, you are a stakeholder in the project in some capacity because your future could depend on the outcome of the project. For example, if you are a full-time employee, you might be fired if the project does not work; or as a freelancer, you would like to showcase your talent as a developer or designer in your portfolio. You are as interested in this project to succeed as much as the main stakeholders.
Think about this, you are hired on a project to uncover problems and find solutions. If the customer is always right and knows everything, he/she would not need you and would never hire you. Most of the time, your customer is not the user of the application, so you cannot depend only on what the customer says instead of doing user research and testing. There is a difference between who pays and who uses the software. I learned a long time ago that if you need to build something right, go to the one that uses the product and observe. Managers might have an eagle-eye view of the software and needs. But, actual users are the ones that should provide you with info for developing the software. Thus, listening to “customers”, in this case, the manager only might end up with an application that will meet a lot of resistance to change by the real users.