I live your situation daily with some customers. There are some who hire inexperienced self-called designers who don't know anything about design, which results in awful, unprofessional work, but it is not unusual for the customer to like the result.
First, ask yourself why is the customer liking this horror. You may think that it's because the customer is a moron. It's not. You find the real explanation when you look at how do they work, this customer and the in-house designer.
The how vs. what rule
- The customer starts to tell what must be designed and how.
- The designer does the job.
- The customer asks to change a few things, because they really suck, and tells to the designer how those things must be done.
- The designer does the changes.
The worst part is that every time, the customer tells to the designer how to do things, and since the designer is inexperienced, he doesn't know that this is not the way to work professionally.
Moreover, the customer has strong chances to like the design. It's psychological: you can't really tell yourself that the design sucks when you've explained continuously how to do it, because it would mean that you were wrong yourself.
A week ago, the customer submitted a requirement for a new project:
The passwords of the users of the website are encrypted.
If I were a beginner, I would rather follow all the requirements and use a symmetric encryption algorithm to store passwords instead of SHA-256. Then having to read a story about me in DailyWTF if one day some other developer would use my source code.
Of course in my case this requirement was rejected, since the customer doesn't have to tell me how to do things. I could replace it by "Only the hash is stored for every password of every user of the website" or "The passwords of the users of the website are stored in a secure way.", but it makes no sense either, since the requirement repeats what must already be done by default.
So you may ask yourself, what can you do now? The customer is not a moron, but has a design which sucks. You came with two solutions: refusing the work or create your own design.
Refusing the work may even be illegal. In some countries, you can't just refuse an order of a customer, case by case, while accepting orders from other customers. And even if it would be legal, you lose the customer, which is quite sad.
Creating your own design may be extremely challenging and risky. Remember, the customer already has the design and likes it, or cannot admit that it sucks. Also, this design matches exactly the way he imagine it. Chances are he refuses to pay for a new design and refuses to accept that the new one is better.
You can on the other hand do two things without doing something illegal nor pissing off your customer.
1. Explain your point of view to your customer
Explain to your customer that the design their in-house designer have made is not... "very professional". Recently, I had a meeting with a customer like this. The designer was in the room too. It was not too hard to explain why the design sucks, just by enumerating some basic rules which were all violated. If the customer were more business-oriented, he would fire the designer just after the meeting.
Sometimes it works. Sometimes it doesn't. Some companies are smart enough to understand that if their in-house designer is unprofessional, they must either pay him some training, or fire him and hire a better one. But it's not the case of all companies who have their own reasons to keep their designer and not train him. When it's the case, you may want to get rid of this customer, but without pissing him off. Here's a possible technique:
2. Make it cost-prohibitive to use unprofessional designers
Create a certification for the designers. When the customer arrives, ask him if his in-house designer has your certification (or any other certification you accept). If yes, the cost of the project will be low. If not, the cost will be extremely high.
Progressively, either the customer will leave, but with a feeling that not you but the in-house designer sucks, or he will hire a more experienced designer who will easily pass the certification.