The work of tech teams is done for the people who are paying 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 always a limit, and every request must be considered wisely. Blindly following the demands of inexperienced tech stakeholders isn't a good strategy. It might result in a 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.

Image.

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. These guidelines are applicable to all customer-facing roles in software development. 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 behind 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 to 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.
Image.

2. 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 is the task 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.

Image.

Honesty, respect, and moderation

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

  • 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 a sin.

  • 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.

  • 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.

Honesty, respect, and moderation.

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 initial payment. 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 give back calls, answer emails, respond to messages, 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.
Image.

3. 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, and 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 sign the contract you and your client are one team. You two go hand in hand with 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.

Project management services by Mad Devs.
Agile Software Development Team Structure

Agile Software Development Team Structure: Building a Dream Team

Agile methodologies have long become a staple in the software development industry. They boast a much higher project success rate compared to...

How to Write a Candidate Portrait for a Developer.

How to Write a Candidate Portrait for a Developer

Companies always need to optimize their business processes, and one of the most important is the hiring process. To find your one and only developer,...

Transparent Remote Staffing as a Future of IT Companies.

The Future of Cooperation in Tech Companies: Transparent Remote Staffing

There are many ways to extend the capabilities of your IT staff. And there are many ways how to call it. For example, a contractor is what they call...