Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

My customer recently discovered what is URL Rewriting, without completely understanding what it is, how it works and the pros and cons of it. Now, he asks for lots of strange changes in actual requirements of current projects and changes in old projects in order to implement what he believes is URL Rewriting.

On one hand, I'm annoyed being asked to do things which doesn't make any sense instead of doing real work. On the other hand, I can't tell my customer that he doesn't understand anything in the subject despite his interest in it.

I think many people have had situations when their manager or their customer just learned a new buzzword or a new technology, and he loved it so much than he wanted to use it in every project, everywhere, rewrite the whole codebase just to use this new thing, etc.

Also, I've recently read something related on Programmers.SE where people told about their experiences when there was a huge buzz around XML, and some managers would ask to introduce XML in every project just to show to everyone that they have used it.

So those who have been in similar situation, how have you managed it?

share|improve this question
11  
Are you billing him for this? If not, show the bill for those changes. If he still wants it, do it! –  Vitor May 18 '11 at 3:17
2  
There is a quote about hammers and nails, and another one about not fixing things that work. –  mouviciel May 18 '11 at 7:52
    
Forget the customers, what do I do with my co-workers who discover something new and think it should be used everywhere? (thanks @Marcelo) –  gbjbaanb Jun 20 '11 at 15:30
    
Lol. Sounds like something from Dilbert. –  DrinkJavaCodeJava Dec 11 '12 at 8:52
add comment

4 Answers

up vote 21 down vote accepted

IMO you should have the "You don't understand URL rewriting" discussion with your client.

Obviously you should not bluntly tell your client, "You don't understand". Instead, I would start off with, "Before we invest anything, I think we should discuss X to make sure we're on the same page about what the pros and cons of X and it's alternatives are."

If it turns out that he actually does know the things that you do, but wants to implement X anyway, then you ask him what color he wants it.

You need to make sure you choose your wording very carefully. After all, there is a chance (however insignificant) that he knows more about X than you do (and there's the obvious point - you're talking to managment), so make sure you rid yourself of any condescending tones.

share|improve this answer
9  
+1 for being very carefully how you word it to avoid condescension. I mean, if the client has heard about its benefits somewhere, understandably he would want to use it - and its up to you, the expert, to explain what it is, when it applies, and also when not to use it. –  sevenseacat May 18 '11 at 4:38
add comment

On one hand, I'm annoyed being asked to do things which doesn't make any sense instead of doing real work.

How do you know what you are being asked has so little value? Perhaps there are ulterior motives that may not be clear at first glance for why something is being done. "Wax on, right hand. Wax off, left hand. Wax on, wax off. Breathe in through nose, out the mouth. Wax on, wax off. Don't forget to breathe, very important." would be the line from "The Karate Kid" worth noting here to some degree.

Where I have had experiences with companies doing things that I wonder, "Why do you do it this way?" there are times where I will ask what is the benefit that is wanted and are there other ways to get there. The key here is to be open and curious rather than judging and self-righteous which the "real work" seems to imply rather strongly to my mind.

share|improve this answer
add comment

Break it down to dollars and cents. Give him realistic estimates of how long it will take to implement his whims, and include the impact on other features. Transition that into a discussion of priorities, and ask where this fits. From there you can move to a discussion to make sure he really understands what he's asking for. Doing that will ensure that:

  1. He knows what he's asking for
  2. He knows how much it costs
  3. He knows how it will affect the schedule of other features
  4. He knows how long it will take

In a lot of cases after having that discussion it will be easy for him to agree to drop it, or make it a very low priority (read: never expect it to be done).

share|improve this answer
add comment

This is exactly where a priority list of tasks happening in the team helps. If I were you, I would evaluate the cost benefits of URL Rewriting, and show the client how it would add/remove from the overall experience.

Think of yourself as a doctor. People go to doctors all the time with a list of medicines they saw on an Ad/symptoms they imagine. It is the doctor's job to ensure the person gets actually what he should get.

Also, Use source control and branching rigorously for each changes. This way, you can rollback in time and show the customer what he missed, just in case he forgets that he brought it on himself.

Finally, Transcript all your meetings. They do come in handy someday.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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