lunes, 23 de noviembre de 2015

Lidiando con clientes dificiles: Mantener la calma

Estimados lectores, tengo mucho tiempo queriendo iniciar este blog para compartir un poco mi experiencia y aprendizajes como desarrollador de software, freelancer y pequeño empresario. Espero que en los próximos meses pueda compartir algunas de las gemas de conocimiento que me han costado sudor y lagrimas.

La publicación de hoy trata acerca de uno de los puntos más importantes al lidiar con clientes dificiles: mantener la calma. Cuando estamos trabajando como desarrollares de manera independiente, intendando construir una pequeña empresa de desarrollo, o incluso trabajando dentro de un departamento de desarrollo de una empresa, nuestro objetivo siempre debe ser entregar el producto que el cliente necesita de una manera en la que el cliente este contento. Al fin y al cabo nadie quiere contratar nuevamente al desarrollador que le quedó mal, o el desarrollador con el que tuvieron desacuerdos importantes. 

Una de las primeras acciones al iniciar un proyecto debe ser tomar las medidas necesarias para evitar que haya una discrepancia entre lo que estamos construyendo y lo que el cliente cree que estamos construyendo y la manera como lo estamos haciendo. Como hacer esto varía mucho de cliente en cliente y proyecto en proyecto, pero podemos empezar siempre estableciendo 3 cosas: las metas, el tiempo de entrega y el presupuesto. Estar de acuerdo en estos tres factores es clave para llevar adelante una relación de negocios productiva. Idealmente queremos algo escrito, aunque sea informal, donde podemos establecer estos tres parametros y que el cliente nos de su aprobación. No estamos buscando precisión, estamos buscando establecer espectativas realistas, y esto implica que podemos usar rangos de tiempo y de costo ( "Construir el modulo X nos tomara entre 5 y 10 horas y costará entre X y Y pesos. Esto se entregará para el 21 de Octubre"). Algo sumamente importante es que no debemos dejarnos presionar por las necesidades del cliente: es mejor no coger el trabajo, que coger el trabajo y quedar mal. Al hacer sus estimaciones, agreguen un factor de "padding", multipliquen sus valores por 2, o agreguen un bloque razonable de tiempo y costo al proyecto para que cuando las cosas vayan mal (y van a ir mal) todavia podamos entregar el trabajo dentro de los parametros establecidos. Agregar "padding" es increíblemente importante. 

Es importante que los clientes sepan que los estimados son estimados,  y que pueden estar errados (tipicamente todo va a salir mas caro de lo que originalmente pensamos). Nunca acepten tomar proyectos donde hay un techo de precio sobre el cual no podemos pasar, esto siempre termina en los desarrolladores regalando sus horas y perdiendo dinero para cumplir el compromiso. 

Cuando las cosas vayan mal (y nuevamente, van a ir mal), debemos tomar las acciones correctivas correctas para poder resolver la situación de una manera satisfactoria para ambas partes. Hay que hablar con el cliente con tacto pero también con firmeza. Para los lectores cobardes, lamentablemente no puedo darles mucho más consejos que "crezcan unas bolas". Este post no es para cobardes. Van a tener que decirle al cliente que las cosas van mal. Van a tener que informarles que se proyecta que se van a pasar por un 50% del presupuesto establecido y que lamentablemente no hay mucho que se pueda hacer al respecto. Van a tener que informarle al cliente que el proyecto no se podrá entregar antes de Navidad, y su cliente tendrá que vivir con eso. Una de las cosas más valoradas en las relaciones de negocios es la honestidad, y es valorada porqué es escaza. Si no pueden ser honestos con sus clientes, no podrán construir relaciones a largo plazo con ellos. 

Nuestros clientes van a reaccionar fuertemente, nos van a mandar a pausar el proyecto, quizás mandarnos un email fuerte, no recibir las llamadas, o sencillamente echarnos un boche. Debemos siempre mantener la calma y el profesionalismo. No es aceptable que se nos insulte o degrade, y si esto ocurre es nuestro deber detenerlo inmediatamente. Cuando ocurren los problemas, no tenemos que echarle la culpa a nadie, ni aceptar la culpa nosotros (especialmente si no fue nuestra), En mi experiencia la manera más productiva de lidiar con estas situaciones es decir: "Lamento mucho que hayamos caído en esta situación, lo importante ahora es que trabajemos juntos para salir de ella. Mi equipo está dispuesto a hacer los esfuerzos necesarios para resolver el problema". Luego de esto debemos tomar acción correctiva: idear un plan, escribirlo y pedir que el cliente lo apruebe. Luego trabajar arduamente para lograrlo. Rinse and repeat. 

Nuestro trabajo como desarrolladores no es hacer sentir feliz al cliente. Nuestro trabajo es entregar un producto con valor de una manera con la que el cliente y nosotros estemos contentos. Para que funcione la ecuación necesitamos los tres factores: contentos nosotros, contentos ellos y un trabajo de buena calidad. No tomemos proyectos que no nos convienen, trabajemos bien para ofrecer valor al cliente, pero sobre todo nunca perdamos la calma, la compostura y el profesionalismo cuando las cosas vayan mal.