Is the customer always right?
I have had some discussions with a project manager about how we use technology and the decision making process behind it. During one such discussion I raised issues with the choice of technologies for the development of some tools we were developing. The debate came to an abrupt end when he said, “The customer is always right.” This got me thinking. Is that true? Should it be that way? After we hung up the phone, I began doing research as to why the choice of technology was bad and why my suggestion was better. But I kept coming back to his statement, “The customer is always right.” How would I explain that this should NOT be held as a truth? In this case, I can’t. It will fall on deaf ears. However, I can still point out why that should NOT be used as a reason to do something “wrong” because the customer said so.
While reading an article at PHP|Architect, the author (Marco Tabini) said, “we’re moving from fad to fad without stopping to consider that technology is a tool and not a substitute for our own responsibility to make choices.” Yet when you take the path of “the customer is always right,” you remove from the equation what I consider part of your responsibility as the expert; the reason you were hired in the first place.
Allow me to provide an example for clarity. You are hired to build a website by Company Y. The business owner (the person you work for) say, “Chuck, I am a big fan of Cobol. I learned it in my college days. I can’t remember much about it except that there are 4 function areas or something like that, and it is good at crunching numbers. So your task is to build me a website that will crunch my analytics data and I want it done in Cobol. Go!”
What?! So is the customer right? Or do I have an obligation to explain why this is a bad thing? Where does the business owners request end and my obligation begin? Anyone in the computer industry today could say multiple things to this request like:
- it’s impossible
- not gonna happen
- this is a very bad idea
- I quit
But I cannot fathom anyone saying, “The customer is always right!” So what is the alternative?
My Perspective
I think the perspective “the customer is always right” does have some merit. But this does not mean the customer is God. Here is a better way to state it, “You can ask for WHAT you want, and I will tell you HOW you will get it.” This can sound a bit abrasive as it is so I will clarify.
No developer can go into a situation and pretend to know what the requirements of a project is without first talking about them with the customer. (The WHAT) Once a fair assessment of the situation is made, the developer SHOULD then be able to formulate the HOW to fulfill the requirements. When the customer defines the WHAT and the HOW, it’s akin to a Judge overseeing the trial of her brother who is being accused of murder. A HUGE conflict of interest to say the least. The customer (like the judge) should recuse themselves from the decision making process.
To help the customer recuse themselves, you need to be able to explain the WHY of the situation. Granted, most of us geeks tend to be social misfits and have difficulty explaining technology in “layman” terms. So it typically comes out something like, “Are you kidding? Cobol went out with New Coke and the TRS-80. It won’t support HTML, AJAX, or SQL. There are no existing APIs, so XML, JSON, and RESTful services are out. Not to mention it cannot use HTTP protocol and it wont send email whether it’s POP, IMAP, or otherwise. So why do you want to use Cobol?”
The customer will then do one of two things: 1- stare at you with glossy eyes as if he just visited a far away place on a very wonderful day dream -or- 2- do the unthinkable and say, “Make it happen!”
The Dichotomy
There seems to be dichotomy between the developer and the customer. This gap as it were, does not seem to be narrowing much. The average customer has no real desire to walk up to the edge of the technological precipice and peer in, and the developer usually lacks the skill to communicate things to those “not in the know” in an understandable way.
What can be learned from all of this? No! The customer is NOT always right. But it is the responsibility and obligation of the developer to say why in a way that the customer will understand. What do you think?









>
Follow Me (digitally you stalker)