gosunkugi mi recomendacion, para evitarte traumas, va en el sentido de la negociacion y educar a tus clientes.
Yo llevo en el giro del desarrollo web unos 8 años. Los dos primeros sufri, pero fueron de aprendizaje. Una vez que comprendi este giro, aprendi no solo a programar, sino a algo muy importante, a negociar. Llevo 6 años, donde disfruto lo que hago, no me estreso, nunca excedo mi jornada laboral y gano lo que quiero.
Por ejemplo, ese tipo de clientes, no se les vende un producto, se les vende un servicio. En un cliente donde ya firmaste un contrato, ya no puedes hacer mucho, pero este consejo tal vez te pueda servir en futuros clientes. Te explico.
Cuando estes negociando con tu cliente, dejale claro que lo que vendes es un servicio profesional, cuyo esfuerzo se mide en el tiempo invertido. Una vez claros en eso, hazle un plan de esta forma(es un ejemplo nada mas):
- Crear 3 propuestas graficas del sitio en photoshop - 60 horas
- Maquetar XHTML y CSS del sitio - 100 horas
- Programar Backend - 100 horas
Y explicale reglas como
- Si ninguno de las tres propuestas le agrada, vamos a tener que trabajar en una cuarta propuesta, cada propuesta me toma 20 horas, entonces se facturaran 20 horas mas, si la cuarta no gusta, haremos una quinta y se facturaran 20 horas mas. Y asi hasta encontrar una propuesta.
- Si un diseño es aprobado y mientras se esta maquetando el XHTML/CSS, se decide cambiar el colorcito porque al abuelo no le gusto, ese cambio incrementara las horas planeadas inicialmente para el XHTML, mismas horas que se facturaran.
Y asi definiendo reglas, creeme que curiosamente a esos clientes casi siempre les gusta todo a la primera.
Y si el cliente es muy pudiente $$$$$ esta el plan B que es el que mas suelo aplicar, le dices al cliente que le facturas al mes 100 horas y el tiene 100 horas profesionales tuyas al mes, donde puedes trabajar en sus "caprichos".