I received an email where the sender wrote: “My company requires that software project must achieve customer satisfaction. However, my customer is very unreasonable. He demands the impossible such as everything must be done with high quality and deliver on time or else. How can we achieve this? Our team consists of mostly new graduates and this is our first job so we are afraid and confused. We do not know how to achieve customer satisfaction? Please advise.”
My answer: Your customer does NOT demand the “impossible” as you thought. If you are a customer then what do you want? Don’t you want quality software product on time and with all functions as required? It is NOT “unreasonable” to ask for something like that. When you start a new project, it is very important to understand customer’s expectation because if you meet that expectation, you will achieve customer satisfaction. What the customer want is to be listened to because they have certain problems that must be solved. As a development team, you must ask yourself: Did I talk to the customer and understand what the customer’s needs? Did I communicate clearly with customer about the delivery date, and all functions that will be built? Did the customer agree with our proposal? The major issues between customer and development team are mostly communication and expectation. Many project teams did not spend time discussing with customer to understand the requirements. They hurry to start working on the project without a clear agreement so they do NOT know how to make the customer happy. When things go wrong, they start blaming the customer. If they communicate clearly about the objectives of the project, if they understand what the customer’s needs, if they have an agreement about quality, time, costs and functionality than as long as they fulfill the agreement than customer must be satisfied.
Basically, to achieve customer satisfaction, you must focus on both the product and the process. The product refers to the solution, the result, the software product. The customer wants it to work properly, to meet their needs, to solve their problems and of course do it with quality. But technical product alone may not keep the customer happy unless you also focus on the process. The process refers to how customers feel they have been treated. This is the “Human element” aspect and it is very important. That is why beside technical skills, software team must also have the “Soft-skills”, the ability to listen, to communicate, to discuss, to negotiate and to build better relationship with customers.
Sometime, delivering a good quality solution may not be effective as good quality solution accompanied by friendliness and respect. If you know how to invest in a relationship, you will go far in achieve customer satisfaction. Every customers will appreciate the way they are treated. In other words, an emphasis on the “human element” aspect can give you better way in providing the technical solution and please do not forget who are paying for your works.
- Blogs of Prof. John Vu, Carnegie Mellon University