Wednesday, December 4, 2013

I wish for the customer to always be right

The customer is always right!

Right… like they're not human. Perhaps, humanity will be overrun not by perfect automatons created by SkyNet (or Hasbro's Furbies, whichever you prefer), but instead by the Infallible Customer (or did that already happen)! It's just not true.

These are always right! In a cute'n'scary kind of way.
(photo by The Justified Sinner)

No, wait, it is true in the motivational sense!

Say, you give a task to one of your developers (including your inner developer, hello!), and, upon studying it, he starts to grumble. Oh, so-and-so customer, again they are coming up with most stupid things to occupy us with, complicating everything: our product, our code, our testing, our very life! And on he goes on and on, stupid task, silly customer, smart me, and so on, and so forth.

In such cases your are totally entitled to un-sheath the above slogan. The customer is right. They are the one who have a problem that needs solving, and they are the one, who will (hopefully) pay for this in the end. Also, they probably know their business much better than we do. So — study the task, try to understand the underlying problem, and solve it, instead of ceaselessly whining, thank you very much.

But, apart from such inspired speeches, we need to keep in mind that the customer is, in fact, not always right. They just can't be. Nor, I noticed, do they always try to be.

Think about it — they're busy with their work (just as you are with yours), they also have lots of tasks, priorities and distractions to manage On top of it, they may have a pressing problem (like, their boss forcing them to describe something to you, or even them facing an urgent issue which they really really hope you could help them solve), which adds to the stress.

Plus, wait for it, they are not always as technically savvy as you pretend to be. So they can't really tell your “current DB structure only allows for this” from “JSON over AJAX with jQuery from IE6”.

And, if they are good and nice people, they also try to help you by describing their imagined solution to the problem, instead of describing the problem itself. It doesn't always help, yet they do try.

Thus some inconsistencies in their requests: contradictions, omissions, odd fantasies and things that are just wrong. If we expect the “customer to be always right”, and, after a while of intensive arguments and hurt feelings, we just decide that, right, I've had it, I'll just do what they say, and then they will see that I was right all along! — we are not helping anyone. Not even ourselves.

So — let's be merciful and gentle. Study the task carefully. Hold our horses on arguing, blaming and bashing. Try to understand. And try to be helpful. And just be humanely nice, as much as it is possible.

And, in my experience, the customers love it. You act like a member of their team, you worry about their problem like it is your problem (and indeed it is, if you're tasked to solve it), and, for all intents and purposes, you act like your customer is always right, by graciously allowing them to be wrong every once in a while.

A bit of a rant, yes, but it is something I have to remind myself very very often, since my inner developer likes to complain no less than that other guy. This toxicity can be contained. Let's make this industry — and this world, — a better place to work in :)

Take care!


  1. Exactly! And agile process is devised just to do this!

    1. :)))) I suppose I need to read deeper into it, then.

      Though I still have to add that “agile …or thoughtfulness, politeness and responsibiliyu”. Sorry, I always have to stick my 2¢ in :)