I mean did you ever reluctantly adopt a less than ideal solution because management told you that "customer is always right"?

I'll go with mine first. A few years back, me and my team developed a website of quizzes. Users create quizzes, answer them, rate/tag/vote/share etc.

If a quiz had more than 10 questions in it, the UI would serve the quiz in segments. A 30 question long quiz will be split into 3 segments. We used JavaScript and DOM manipulation to let the user easily switch back and forth between segments, without ever having to refresh the whole page.

The customer, a big US corporation that owned the site, wasn't happy with this. They didn't care about user experience, they just wanted high page hits. So they wanted the whole page to refresh when the user hit 'Next' or 'Previous'. We had to replace the JavaScript solution, with a very ugly hack involving PHP and Smarty. The result was a sluggish UI, which irritated the H out of the testers.

In the same project, the team researched the best practices for improving front-end performance and worked hard to implement them. But all those efforts were in vain when the customer injected their heavy Flash based ads into the pages, making them load real slow.

I know it's not an objective question and very likely to be closed, but I would like to hear from the members of the community if they ever had such experiences.

  • 1
    If you don't think it's a good question can you please not ask it? This question is obviously a discussion rather than a question with an actual answer and from your last paragraph you know that. Mar 1, 2011 at 8:55
  • I think it would be good to distinguish between customers and sponsors in this case. Based on what you tell, the customers (visitors of the site) are probably unhappy too, but the sponsor (the owner of the site) is supposedly happy (for the time being, at least - if they care more for page hits than users experience, they will eventually lose both). Mar 1, 2011 at 8:55
  • 2
    Also, sounds like you didn't ask the sponsor about what precisely they wanted before implementing the solution you thought they wanted. Better communication and/or early releases could have saved you work and frustration. Mar 1, 2011 at 8:57
  • You sound frustrated at this, have you considered why they wanted a high number of page hits? It doesn't seem in anyones best interests to compromise the user experience. Perhaps this was to do with selling advertising space, the more hits = more revenue, which without it the site may not exist. Depending on the way page views are tracked, could you have used Ajax for pagination? It sounds like you took the easy way out to satisfy their requirements, but without all the facts it's hard to say. Mar 1, 2011 at 10:08
  • @Peter - since we weren't able to interact with users directly, the 'sponsor' was the 'customer'
    – rubayeet
    Mar 1, 2011 at 10:40

5 Answers 5


To answer some actual questions:

  • Is this a good thing to happen?
    No, not in that way. I believe customer satisfaction to be the most important thing. It is the ultimate way to determine, whether a project is a success or not. When I go to a bar and ask for a beer, and they bring me back a tea, because it is not only cheaper, but also healthier in almost every aspect, I will sure as hell never go to that bar again.
    The problem in software development is, that customers don't usually know, what they want and are only able to explain it in very convoluted ways with a lot of crappy apps as points of reference. Therefore customers and managers often ask for stupid things, that have negative impact on the customer satisfaction.
  • Is this a common thing to happen?
    Absolutely, at least in web development, where there are actual conditions, which make this quite likely. If you take away the biggest players, who actually write their stuff inhouse, the commercial part of the web is in control of people with a lot of money, who think they are in the possession of the holy grail because they read some crappy magazines, and who ask you for the most incredibly stupid things you've ever heard of.
  • How to deal with it?
    Well, as I said, customer satisfaction is the most important thing. Think of your situation as being a doctor, having a patient with some sort of disease, who asks you for cure, but explicitely demands the use of voodoo.
    If you do exactly as he wishes, customer satisfaction will not be very good, because the dude's gonna die a slow and painfull death.
    If you however identify the problem (the disease) and convince him of the best treatment you have to offer, then customer satisfaction will be good.
    Now to bring that back to the bar analogy: My customer satisfaction will probably be attained, when I am drunk. Beer would help. Tea wouldn't. However, if you have a mean screwdriver to offer, that would help me reach the goal a lot faster and cheaper.
    Now the problem is, that management doesn't ultimately care for customer satisfaction and that management is not really good at identifiying the customer's actual problem.
    In your case, I don't think the customer wanted page hits per se, but rather to serve a lot of ads. By default, if you don't refresh the page, they don't load ads. However, this is easily solved, if you simply load new ones as you page, I want to know that and I will probably order one.
    So the best way of handling this is not just submitting to management, but trying to digg down to the problem with the customer.
  • 1
    I think you're mixing up your customer with your customer's customers. . In your analogy, your customer is the restaurant, not their patrons.
    – gbjbaanb
    Jan 16, 2018 at 10:41
  • And what exactly makes you think that? OP had a problem with the client that ordered a quiz app (the restaurant) and not with the users that take the quizzes (the patrons). I don't see why you're bringing in a third party out of nowhere. This was between a client order and a service provider they contracted. The former ordered crap and the latter handled the situation poorly (and in the end irresponsibly), by merely complying.
    – back2dos
    Jan 16, 2018 at 17:04

In my mind, programmer satisfaction should be based off customer satisfaction. Having a wonderfully architectured piece of software that people don't want to use is no better than having a buggy mess that people don't want to use.


I have gone with less than ideal solution once, not because the customer wanted it that way but because my manager said "if the customer is satisfied with this stuff itself , why do we need to trouble ourselves and do it the good way" .

It was about implementing security features in a web application . I was trying to fortify it using tools from OWASP but my manager wanted me to do only client side validation(that was because my manager knew nothing about web applications or security) . I convinced him that I would do server side validation and did it later.


Has it happened to me? All the time.

Many a time I got lambasted at my old job for daring to suggest that I was hired to do my job right, not just type what the client wanted me to type, and that we as a team had expertise that should be listened to, instead of just dictated by the non-technical client.


Yep, and its true the customer is always right - because its not your decision to make. Its theirs.

if they want a crappy site, its their site, so they can have the crappy one. not your choice to make.

Its important to understand that, we can advise and we can suggest improvements, but at the end of the day they're paying, they get what they want. And if its rubbish and they come back later to have it fixed, then they pay more and you can be smug but keep your "told you so" to yourself. Of course, if they want a rubbish site for page-hits, then maybe that's a feature you need to keep in mind when designing as not implementing their primary requirement means you haven't done your job. Sometimes the customer doesn't really know what they want, then its appropriate to help them get the right solution, but when they do, its on them.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.