Your clients mean something different than what they say

I have yet to meet a client who wouldn’t be happy to tell me what they need – usually down to the smallest details. The problem is that clients don’t always tell the whole truth. Overall, clients don’t lie, but they speak in their own client language, not in the language of developers. They have their own vocabulary and their own context. They leave out important details. They talk as if you have also worked in their company for twenty years. And it is all complicated by the fact that, in reality, clients often don’t know what they need! Some have an understanding of the big picture, but they are rarely able to articulate their vision clearly. For others, the overall picture may be less vivid, but they know what they don’t need. So how can you develop a software project for someone who is unable to truthfully tell you exactly what they need? The solution is quite simple. We need to interact more with the client.

Start asking your clients questions as early as possible, and ask questions more often. You shouldn’t repeat their words about their wishes. Remember: they didn’t mean what they told you. I often conduct such a check: in a conversation with a client, I replace the client’s terms with my own and observe their reaction. You won’t believe how often the term “customer” has a meaning completely different from the term “client.” Nevertheless, the person who explains to you what they want to see in the software product considers these words interchangeable and is confident that you understand what status they mean at that particular moment. And this disorients you, and the quality of your program suffers.

Discuss work topics with your clients countless times until you come to the conclusion that you truly understand what they need. Try to rephrase the task together with them two or three times. Discuss with them what happens immediately before the task is performed, and what follows the task, to better understand the context. If possible, discuss the same topic with different people at different times. The stories will almost always be different, which will reveal separate but related facts.

When two people talk about the same thing, they often contradict each other. It’s best to sort out these discrepancies before tackling the super complex task of development.

Use visual aids in conversations. These can be such simple things, like a whiteboard during a meeting or a simple mock-up in the design stage, or as complex as a working prototype. It is well known that using visual aids during discussions helps maintain attention and reinforce information in memory. Take advantage of this fact to ensure the success of your project.

In a previous era of my life, I had the opportunity to work as a “multimedia programmer” in a team that released glamorous products. One of our clients described in great detail how she envisioned the appearance of the project. The color scheme discussed in the project meetings suggested conducting the presentation on a black background. We thought everything was agreed upon. Entire teams of designers started producing hundreds of layered graphic files. We wasted a lot of time on forming the final product. That day, when we showed the client the fruits of our labor, we were met with an overwhelming news. Seeing the product and the background color, she said, “When I said ‘black,’ I meant ‘white.’” As you can see, “black” doesn’t always mean “black.”