DEV Community

Cover image for How to Communicate with Client to Build a Successful Software
Mad Devs for Mad Devs

Posted on • Updated on

How to Communicate with Client to Build a Successful Software

The work of IT teams is done for the people who are paying to them, i.e. clients. Even if you are working on an internal product, everything has its customer and buyer.

There is a saying “He who pays the piper calls the tune”. However, there is a limit, and every request must be considered wisely. Blindly following demands of inexperienced IT stakeholders isn’t a good strategy. It might result in the ludicrous final product, which is conflicting with the quality and professional skills your company offers. It is important to build a long-term relationship with a customer, who has the possibility and willingness to pay regularly and steadily.

A good customer will even increase the contract amount with the growth of the project. This can only be achieved if your work brings value and revenue to the customer.

Below I present a list of common principles of work communication with clients. Following them will allow you to build a successful product. Click here to read the GoDee Case showing how these principles helped us develop custom software and mobile applications.

Customer Affinity

This means that you have to put yourself in customers’ shoes and discover the motives of their requests and goals. Motives can be obvious or hidden (see the Mom Testbook for more details).
Customer Affinity

If you feel that you don’t have enough information to get a full scope of the task — you need to ask for it. You are about to invest your time in solving these problems. You need to understand all the aspects before setting priorities. Everything has to be completely transparent. If you have received a task or a user story and spot contentious issues or gaps, you have to make sure to fill them in. Try to get the full story to be on the same page with your client. You and your customer look differently at tasks and their solutions. The client may talk about one thing, think about another one, and expect something completely different. By using customer affinity, you will be able to speak one language with your customer and use it for creating a detailed plan for your entire team.

Business concept

Successful implementation of customer affinity practice enables you to see the business concept.

  1. Most of your clients are using your services to gain profit for their businesses. However, not always they are following their own goals. Sometimes their tasks are not business-focused and even create obstacles for making more money. For example, the client’s acquaintance advised them to add a new feature, or they are asking to create a reporting tool, which they will never use. Features with low or zero business value may take your team a bulk of time. All these issues must be raised, discussed, and pointed at. The majority of the clients are sensible people, so they will see that your arguments make sense.

software-features-acceptance-process-by-clients

  1. Don’t be overly straightforward. Sometimes clients keep insisting on useless tasks. “I want it this or no other way!” In such a case, try to reveal the hidden motives of your customer by asking questions. Why the task is so necessary to implement? Most often your clients know end-users better than you, and you need to rely on their expertise. A compromise may be to release a ‘feature MVP’ on production and receive first feedback from end-users. If the experience is negative, the customer will admit their mistake. Next time they will follow your advice. However, if the user feedback is positive, you have partly lost your credibility in the eyes of the customer, and you will have to follow their recommendations more often in the future.

Get your trusted IT partner.

Honesty, respect, and moderation

Most of the companies are carefully choosing their clients. Therefore, if you have partnered with someone, you have to remember the following:

  1. Honesty: promptly address any issues or failures you might have, so the client could make arrangements on their side. No one is immune to errors but silencing them will be considered as a sin.
  2. Respect: your client might have their quirks. But they chose your services and are willing to pay for them. Just for this they already deserve respect.
  3. Moderation: try to hold back your emotions when communicating with your client. They might be inconsiderate or have a bad mood, but acting the same way will bring you no good. If you are mad at something, pour it out inside the team. If you missed something during a talk with a client, apologize for it. It doesn’t mean that we are going to put up with their antics. If a customer suddenly stops proper communication and starts being rude all the time, you can terminate the contract. Apart from that everything is manageable and can be negotiated. Image for post

Open and Collaborative Communication

This is especially important in establishing relationships with remote clients. Here I would like to provide some useful extracts from the book “Remote. Office Not Required” by Jason Fried:

  1. Regularly give your client an insight into the project. This is the most effective way to help them cope with natural anxiety. But look, they are paying you a fair amount of money and it’s reasonable that they are going to have some degree of concern from the moment they give you advance fee. When clients see a continuous result of your effort, they are feeling more relaxed.

  2. You have to be always available to the client. Considering that you don’t have the opportunity to see each other in person, it is important to timely giveback calls, answer emails, respond in messengers, etc. Those are the basics of business ethics and their relevance is exponentially increasing when working remotely. Even though it may seem like an irrational feeling but if your customer perceives you as a “local”, they will consider you more reliable. But if you and your client are located in different countries, they will suspiciously react to any missed calls and “lost” emails. It is in your best interest to be available.

Geographical Factors in Software Development

  1. Involve clients at each stage of the work, they should see the whole process. Let them feel that it is also their project. Yes, you were indeed chosen because of your vast experience, but they are also knowledgeable. Organize shared online access to the project’s schedule, ask clients to give comments and listen to their suggestions, give them tasks (or let them give tasks to you). When the customer feels like they are a part of the project, the feeling of anxiety and nervousness will be replaced by excitement and appreciation.

Conclusion

Nevertheless, you have to remember that from the moment you signed the contract you and your client are one team. You two go hand in hand to your mutual goal. That’s why establishing a strong bond with a customer should be a priority for the entire technical team. Being respectful, considerate, always open-minded, and available for a discussion is the foundation of a long-standing partnership. Besides, it is essential to ensure that your client is feeling involved and present in the project despite the distance that might keep you apart. A trustful and strong relationship with the client is key to a great experience of working on the project.

Software Development

Previously published at maddevs.io.

Top comments (0)