There is an old joke that illustrates how the relationship between clients and developers is that I’d like to share with you:
- "Excuse me, can you tell me where I am?" The man below says: - "Yes you're in a hot air balloon, hovering 30 feet above this field." - "You must be a software developer," says the balloonist. - "I am," replies the man. "How did you know?" - "Well," says the balloonist, "everything you have told me is technically correct, but it's of no use to anyone." The man below says, - "You must work in business as a manager." - "I do," replies the balloonist, "but how did you know?" - "Well," says the man, "you don't know where you are or where you are going, but you expect me to be able to help. You're in the same position you were before we met but now it's my fault." ``` Developing successful client relationships are critical to any business. Preserving these relationships is crucial for making the time spent on projects more enjoyable and satisfying, as well as for referrals and future business. <h2>So how can I improve this relationship?</h2> It ain't the purpose of this post to be a silver bullet, but to share some practices that have given us some good results in the past. <ul> <li> <h4>Spend some time getting to know your client</h4> <p>You will likely spend many hours with the client during the project. It is important in order to strengthen the relationship to get to know your client's interests, try to feel what they feel. After all, we are all human thus have natural highs and lows, and it is important to understand when someone is having a hard day.</p> </li> <li> <h4>Educate your client</h4> <p>Educating clients about web development is crucial to the success of a project. The pace of change on the web is staggering and it is our responsibility to help clients make good decisions regarding their web presence. You need to tell your client that changes are a good thing and should be welcomed.</p> </li> <li> <h4>Be willing to say NO</h4> <p>In many cases, clients ask us to do things that our experience says that doing so will, far from contributing to the project, cause users to run away. You need to take the time to understand why your client is asking you to do this, let them know your reasons against it, and try to find another solution together. This is healthy. Don't just say "yes" because <i>the client is always right.</i></p> </li> <li> <h4>Be willing to say YES</h4> <p>Say yes to the jobs that may require you to work harder. The client will be grateful. Specially in those cases when it is important for the client to have this particular feature deployed, as it will represent and lead to a full stack of opportunities. Doing this will make you more valuable in your clients eyes, and also by sharing the stress of the deadline you'll become closer to the client, so don't be afraid to embrace these opportunities. Now, this concept should not be taken as the regular way to go, meaning no one can expect us to work every single day giving a 150%. Pushing yourself a little bit every once in a while is ok, but when it becomes normal, then something's wrong.</p> </li> <li> <h4>Keep your distance</h4> <p>We become more valuable the more we work in an organization, but we need to define and maintain our role clearly. Even as we build the relationships that make us successful, we need to be diligent in keeping our distance so we can continue to provide valued advice and expertise. The idea is to have a respectful relationship, always keeping it professional.</p> </li> <li> <h4>Be transparent</h4> <p>There might be cases when some tasks take longer than you expected. What should you do then? **Be transparent.** Explain your client the complications you ran into, and that these complications will probably make you work a little bit longer on this task, there's nothing wrong with that. Anything can get complicated. Complications are part of our job. Being transparent to your client about this is definitely the way to go.</p> </li> <li> <h4>Gain your client's TRUST</h4> <p>Best way to gain your client's trust is to stay focused on your deliverables. When we deliver **what** we say and **when** we say we will deliver it, we build our credibility and enhance our relationships. The trust the client gives us increases, and will help us when we state "this task will take two days" for example, when they think it's just a simple tweak and shouldn't take more than a couple of hours. The most important thing is letting them know that we are part of the team, we are both on the same boat, aiming to the same goals. Once your client understands that their failures are also your failures, and their achievements are your achievements as well and the other way around, then you'll be a step further in gaining their trust.</p> </li> <li> <h4>Work at it</h4> <p>Recognize that the client relationship is part of the job. Working on the relationship will make you more successful on current projects, enhance your chance for future work, and make the project much more enjoyable.</p> </li> </ul> Hopefully by following this you'll have a smoother relationship with your clients, and what's more, make you feel comfortable working with them on the daily basis.