(^194) 97 Things Every Programmer Should Know
Your Customers
Do Not Mean
What They Say
Nate Jackson
i’VE NEVER MET A CUSTOMER YET that wasn’t all too happy to tell me what
they wanted—usually in great detail. The problem is that customers don’t
always tell you the whole truth. They generally don’t lie, but they speak in
customer speak, not developer speak. They use their terms and their contexts.
They leave out significant details. They make assumptions that you’ve been
at their company for 20 years, just like they have. This is compounded by the
fact that many customers don’t actually know what they want in the first place!
Some may have a grasp of the “big picture,” but they are rarely able to com-
municate the details of their vision effectively. Others might be a little lighter
on the complete vision, but they know what they don’t want. So, how can you
possibly deliver a software project to someone who isn’t telling you the whole
truth about what they want? It’s fairly simple. Just interact with them more.
Challenge your customers early, and challenge them often. Don’t simply restate
what they told you they wanted in their words. Remember: they didn’t mean
what they told you. I often implement this advice by swapping out the cus-
tomer’s words in conversation with them and judging their reaction. You’d be
amazed how many times the term customer has a completely different mean-
ing from the term client. Yet the guy telling you what he wants in his software
project will use the terms interchangeably and expect you to keep track as to
which one he’s talking about. You’ll get confused, and the software you write
will suffer.
Discuss topics numerous times with your customers before you decide that
you understand what they need. Try restating the problem two or three times