En el momento de la entrega, el cliente critica la falta de algunas características que no estaban escritas en mi cotización. ¿Como reaccionar?

Como desarrollador independiente, trabajé durante dos meses para un cliente (empresa) construyendo un software.

Elaboré un presupuesto mencionando 4 características: A, B, C y D. Este presupuesto fue firmado por el cliente.

En el momento de la entrega (ahora mismo), el cliente critica la falta de las características E, F y G.

Por un lado, parece que la arquitectura del software que construí permitiría integrar fácilmente E, F y G en unas pocas horas de codificación.

Por otro lado, espero que sean profesionales y estén conscientes de que malinterpretaron mi cotización.

¿Cómo debo reaccionar como profesional?

  • Integrar E, F y G y entregarlos sin cobrar de más al cliente para evitar posibles conflictos.
  • Me niego a integrar E, F y G a menos que les cobre más.

EDITAR-----

Como señaló @Falco en su comentario a continuación, agregaría que le pedí explícitamente al cliente que probara la solución a medida que evoluciona el producto (de acuerdo con la práctica Agile) y no lo hizo.

"Dales trabajo gratis para mantener al cliente" es una idea comprensible pero realmente horrible. Establece el precedente de "si nos quejamos, lo hará sin cargo". Incluso dejar que un cliente regatee el tiempo que dedicas es malo; esto es peor
"Unas pocas horas de codificación": ¿qué pasa con las pruebas, la implementación, etc.?
Los comentarios no son para una discusión extensa; esta conversación se ha movido a chat .
Dos pensamientos que no merecen una respuesta completa: (1) Pregúnteles: "¿Por qué esperaban que se incluyeran E, F y G?" (2) Joel Spolsky da un relato (algo) humorístico de este fenómeno común: “Lo construimos exactamente como ellos querían. El contrato especificaba todo hasta el más mínimo detalle. Entregamos exactamente lo que decía el contrato. Pero cuando lo entregamos, estaban cabizbajos”. Su consejo: Acostúmbrate. Los clientes no saben lo que quieren. Incluso cuando lo hacen, no tienen las habilidades para expresarlo. ( joelonsoftware.com/2002/02/13/el-iceberg-secreto-revelado )

Respuestas (8)

Esto es sencillo, obtener el pago de lo contratado antes de hacer nada más. Si quieren EFGHIJKL, entonces bríndeles una cotización. Esta es la manera profesional de hacer las cosas.

Si hace EFG antes de que le paguen por algún sentido fuera de lugar de 'lo que sea', espere que le digan que haga HIJKLMNOPQRSTUVWXYZ.

Haz lo que está en el contrato, recibe el pago y luego negocia cualquier cosa adicional.

He estado en esta situación muchas veces. No entro en un diálogo prolongado al respecto, solo exijo el pago de manera cortés y profesional, manteniéndolo breve y claro. Después de eso, ignoro todo lo que no incluya una confirmación de pago.

"Todo eso está fuera del alcance del trabajo que cotice originalmente y completé. Estoy feliz de negociar hacerlo, pero primero tendré que pagarme por el trabajo existente. Adjunto una copia de mi factura y organice el pago tan pronto como puedas para que podamos seguir adelante. Saludos cordiales, etc."

Me han dicho que esto me hará perder trabajo en el futuro, pero pragmáticamente rara vez lo ha hecho, en segundo lugar, no tengo un uso para un cliente problemático que no paga. Los autónomos a menudo pagan mucho por el dinero, pero si el dinero no se paga a tiempo, no tiene sentido.

Recuerda siempre que como freelancer no estás en su jerarquía, cualquier complacencia con este tipo de basura debilita tu posición negociadora actual y futura. El simple hecho de entablar un diálogo complicado al respecto le cuesta tiempo y dinero y debe evitarse.

"Me han dicho que esto me hará perder trabajo en el futuro", supongo que por clientes que no querían pagar.
Han insinuado tanto como mi propia gente a veces que está impresionada por el tamaño de una empresa, etc., en la práctica, soy consciente de que es una táctica de negociación y casi invariablemente no solo retuvo al cliente y obtuvo más trabajo, pero puso mi precio en ellos. No importa qué tan grande y exitoso sea un cliente, lo único que importa es cuánto dinero ponen en mi bolsillo.
FYPMA - donde PMA significa "Pay Me Applies". Muchos proveedores ahora transfieren activamente la responsabilidad de las lagunas en los requisitos al cliente precisamente por esta razón. Entonces no es culpa nuestra por no documentar los requisitos, es culpa de ellos por no incluirlos en sus "historias"... Declaración de trabajo, declaración de alcance. El trabajo "cumple con los requisitos" y "funciona como se esperaba". Todo lo demás es un aumento del alcance y se puede clasificar en UAT, y debe haber un UAT, con los usuarios "reales", no sus agentes o partes interesadas suplentes.
'UAT' = Prueba de aceptación del usuario. No todos conocen el acrónimo. Además, no hay una etiqueta de 'fase de aceptación', creo que esta pregunta necesita una.
La parte divertida es que esto rara vez funciona para el cliente de todos modos. Cuando nos dimos cuenta de que algunos de nuestros clientes eran así, simplemente subimos todos los precios: el cliente se divirtió regateando, tuvo la buena sensación de estafarnos y obtuvimos tanto dinero como cuando trabajábamos con un cliente confiable. Las situaciones más locas son cuando hay intermediarios que de alguna manera convencieron a sus clientes de que pueden negociar cosas como esta; en ese caso, el cliente siente que ahorró mucho dinero gracias al intermediario, mientras que en realidad perdió bastante.
@smci abre una metapregunta para crear la etiqueta. discutámoslo
+1 porque no entro en un diálogo prolongado al respecto . Cualquier cosa que a) cree margen de maniobra ob) agregue emociones debe evitarse.
@Luaan Cobrar una "prima" simplemente porque un cliente intenta estafarlo repetidamente para que no pague el valor de su tiempo y esfuerzo es uno de los aspectos más satisfactorios del trabajo contratado.
Si sabes que has entregado con solidez y profesionalidad todo lo que está en el contrato. Entonces, sí, todo lo demás te está llenando, y mi estrategia cuando estoy llena es simplemente seguir subiendo mi precio. Yo lo llamo 'dinero panadol', es la cantidad que se necesita para hacerme aguantar el dolor de cabeza.
@CaffeineConnoisseur O, como dijo uno de mis amigos, el precio de "f-ck off".
También puede redactar una cotización para EFG y presentársela, pero luego de manera proactiva (no permita que regateen) diga "Dado que aprecio su negocio y no es terriblemente delicado o complejo, seguiré adelante e incluiré EFG". sin cargo adicional esta vez. Sin embargo, en el futuro, asegúrese de revisar minuciosamente la cotización con anticipación, ya que el trabajo adicional más allá de la cotización necesariamente incurrirá en un costo adicional". -- ponlo por escrito también, así si intentan hacer el mismo truco en un trabajo futuro, puedes producir el correo electrónico y decir "Ya te dije que el trabajo adicional costará más".

He sido desarrollador independiente durante más de 30 años. Esta es una situación que encontré en varias ocasiones. Sin embargo, la mayoría de las veces no es tan difícil de prevenir o mitigar.

Primero, asegúrese de que su cotización sea completa y esté redactada sin ambigüedades.

Segundo, piense en su cliente como un socio; mantenerlos informados durante el proceso de desarrollo; muéstreles lo que pueda, por ejemplo, maquetas de la interfaz de usuario, para que desde el principio entiendan exactamente lo que recibirán de usted.

En tercer lugar, en su cotización asegúrese de incluir alguna contingencia para las ambigüedades inevitables y el "desplazamiento de la misión" (hágalo parte de sus costos de soporte), ya que las especificaciones a menudo evolucionan, ya que los propios clientes a menudo no comprenden completamente sus propios requisitos hasta que ven algunos código de trabajo. De esta manera, cuando se requieran cambios razonablemente pequeños, puede acomodarlos (puede informar al cliente, por supuesto, que estos cambios lo llevan más allá de las especificaciones originales, pero anticipó que algunos cambios pueden ser necesarios y estas solicitudes no son tan extensas, por lo que están dispuestos a dar un paso más).

Cuarto, si a pesar de tus precauciones te encuentras en esta situación, realmente se convierte en un juicio. ¿Hay señales de que se trata de un "cliente problemático" que nunca será feliz? Luego, apéguese a la letra de su cotización, y cuando se soliciten nuevas características, proporcióneles una cotización modificada. (Aún así, tenga en cuenta que hasta que le paguen, el cliente problemático tiene todas las cartas, y si se convierte en un tema de disputa, la carga de la prueba de que cumplió completamente con su contrato recae sobre usted. Es mejor nunca tomar cosas tan lejos, incluso si eso significa tragarse su orgullo). ¿O es este un cliente con el que tiene una relación colegial que tiene motivos para esperar que dure mucho tiempo, con muchos más contratos en camino? Luego haga lo que pueda (dentro de lo razonable) para mantenerlos felices (nuevamente,

Una cosa que no debe esperar es que su cliente sea "profesional". Ese es tu trabajo: aquí el profesional eres tú, el cliente es eso, un cliente. Por supuesto que es bueno tener un cliente que siempre actúa de manera profesional, pero no esperes esto. En cambio, espere que los clientes a menudo no entiendan completamente sus propios requisitos; que parte de su trabajo es ayudarlos a comprender sus propias necesidades y educarlos sobre lo que se puede proporcionar; y cuando cerrar la brecha entre las expectativas del cliente y la realidad factible requiere que usted dé un (pequeño) paso extra, considere dar ese paso sin hacer un escándalo al respecto.

El cliente ya ha demostrado ser un 'problema', se queja en lugar de discutir, y no se molestó en probar durante la construcción, solo se quejó al final cuando se le facturó. No se merecen ningún tipo de descanso. Buena respuesta completa aunque +1
@Kilisi Esta es mi respuesta favorita. Después de haber sido consultor durante 30 años y ahora jubilado, diría que les diera E, F y G y luego esperaría cortar los lazos. Valoro a los clientes que saben lo que quieren y tienen requisitos listos para cumplir. Solo una vez acepté desarrollar algo para alguien que no estaba seguro. Por supuesto, esto fue un desastre. Fui un tonto al aceptar trabajar con ellos en primer lugar. Descubrí que me sentía mejor dándoles un poco más de tiempo antes de despedirme. La razón es simple. Les di más de lo que acordaron. Cualquier disputa terminaría a mi favor. Lo consideré una lección aprendida.
@closetnoc También me gusta esta respuesta, conozco consultores que usan estrategias similares y la voté, simplemente no es así como hago las cosas. También he estado consultando durante décadas y hace mucho tiempo que pasé a los tipos que no fueron lo suficientemente despiadados.
@Kilisi Prefiero matarlos con amabilidad. En mi caso, fue un escenario sin salida. Uno en 30 años no está mal. Era un trabajo de relleno entre contratos. Un trabajo simple de VB y cuando entregué, de repente decidieron que lo querían todo en Access. Soy ingeniero de sistemas internos. ¡Sé código! Escribí sistemas operativos, controladores de dispositivos, pilas de protocolos, etc. VB fue lo correcto y lo que pidieron y firmaron. ¡Las aplicaciones de acceso son una pesadilla! Después de entregarlo, se lo pasé a un programador de Access y trabajé con él codo con codo hasta que terminó. ¡Gané un amigo del programador de Access de todos modos!
@Kilisi Se me acaba de ocurrir... que el código de acceso tenía que rehacerse con cada cambio en los requisitos de las empresas, mientras que mi código era una solución completa. Era una aplicación de encuesta médica que permitía a alguien especificar una encuesta, pulsar un botón y se creaba automáticamente un ejecutable de encuesta con el proceso de instalación y exportación a SAS escrito en un disco. Sólo unos minutos para hacer. En cuanto a Access, esto requería modificar el código para cada encuesta y empaquetar manualmente la instalación y no exportar a SAS ni disco. Al final, fue triste ver que mi dulce código fue ignorado. ¡Me siento reivindicado de todos modos!
Deberías haberlos cobrado :-) Solo por ser estúpido, lo hago.

Este es otro caso de un cliente que espera que un proveedor lea su mente y presiona al proveedor:

  1. Dígale al Sr. Cliente que su cotización se basó en las especificaciones que dio para A, B, C y D. Indique categóricamente que nunca dijo nada sobre E, F, G en el momento en que firmó la cotización.

  2. Dígale que si bien su revisión de E, F, G indica que solo le tomará unas pocas horas completarla, usted considera que se trata de un trabajo adicional que NO está cubierto por su cotización original y que si quiere que se haga el trabajo, tendrá que pagar adicional para trabajo adicional. Luego envíele una factura por el trabajo original.

  3. No haga una puntada de trabajo adicional hasta ya menos que le hayan pagado por el trabajo original.

Desafortunadamente, tendrá que correr el riesgo de que un cliente posiblemente poco ético no le pague. Si te sirve de consuelo, siempre es mejor que determines más temprano que tarde que un cliente es un agujero negro que absorbe tu tiempo y energía a expensas de tus otros clientes que pagan.

Depende del tamaño del cambio. Su presupuesto debería haber incluido alguna cantidad para atención al cliente. Si esto se puede cubrir con eso, genial. Si no, ofrezca una cotización para el trabajo adicional.

Tenga en cuenta, sin embargo, que esto es en parte culpa suya. Realmente deberías haber hecho que el cliente revisara los bocetos/prototipos antes en el proceso, para que supieran exactamente lo que esperabas profundizar y lo hubieran aprobado o hubieran discutido el cambio de prioridades/presupuestos cuando todavía había una oportunidad de abordar cualquier problema. preocupaciones antes de la entrega. Puede haber un argumento legítimo de que, al no haber hecho esto, les debes algo.

A medida que el proyecto evolucionaba, les pedí que probaran la solución incremental para obtener algunos comentarios iniciales. Dijeron que lo hicieron, pero finalmente confesaron que no (por falta de tiempo (argumentan)). Esperan características totalmente implícitas.
@ Mik378 They said they did it, but eventually, they confessed they didn'tBueno, su culpa. Estoy de acuerdo en que solo exige el pago y luego (si todavía quieren) puede hablar sobre las otras características. (Y si no pagan pronto, recuerda que puedes exigir algún tipo de cargo por demora en muchos países).
@ Mik378: ¡Creo que este es un punto esencial que debe incluirse en el cuerpo de las preguntas! - Porque les pediste explícitamente que lo probaran y no lo hicieron - han perdido prestigio.
@Falco, de hecho actualicé la pregunta;)
Durante el proyecto, probablemente sería bueno pedir comentarios y, si no los recibe, decirles que podría tener consecuencias. "Necesito que hagan las pruebas, de lo contrario, es posible que no detectemos problemas antes o tarde en el proyecto". 1. ¿Hiciste la prueba, No? ¿Puedes hacerlo la próxima semana? ¿Digamos fecha límite el miércoles?

Estoy de acuerdo con gran parte de lo que se ha dicho, así que permítanme agregar un par de puntos.

¿Podría el cliente esperar razonablemente que E, F y G se incluyeran como parte de A, B, C y D? Quiero decir, si esto fuera, digamos, un sistema de pedidos en línea, y A fuera "el cliente puede ingresar su dirección de entrega, ciudad y estado", y ahora están diciendo, "espera, no nos diste un lugar para ingresar el código postal", no creo que pueda culparlos por pensar que eso se asumió en A. Si ahora dicen que debería haber una manera de ingresar a países extranjeros, eso es discutible, el tipo de cosas que deberían tener aclarado en las primeras discusiones. Si se mencionó en las especificaciones/presupuesto, está justificado decir que no está cubierto, pero, etc. Si ahora dicen que quieren un informe semanal de cuántos pedidos se recibieron desglosados ​​por código postal y estado y referencia cruzada por categoría de producto ... no.

Tengo buenos recuerdos del cliente que, después de la entrega, preguntó cómo obtener un informe complejo determinado. Dije lo siento, nunca se mencionó tal informe en los requisitos. Y él dijo: "Simplemente di por sentado que podría obtener cualquier informe que quisiera en cualquier momento". Sí, así es como funcionan las computadoras en Star Trek.

Si estos nuevos requisitos son solo un pequeño porcentaje adicional en el proyecto total, me inclinaría a dárselos por el bien de las relaciones con los clientes, aunque no estuviera en la cotización. Pero dígales que se lo está dando por el bien de las relaciones con los clientes, aunque no estaba en la cotización. Dar freebees sin advertencias te prepara para que lo hagas todo el tiempo. Han pasado años desde que he trabajado por cuenta propia y nunca he hecho esto, pero así es como creo que lo haría si la situación se presentara ahora: haga el cambio, luego envíeles una factura que diga "Características adicionales E, F, y G... 4 horas a $150/hora (o cualquiera que sea su tarifa, obviamente)... $600. Deducción por relaciones con el cliente... -$600. Neto adeudado... $0". Entonces les estás diciendo que les hiciste un favor y exactamente cuán grande es el favor, sin implicación de que lo harás de nuevo. Si alguien ha probado algo como esto, estaría interesado en escuchar los detalles y cómo funcionó.

Dijiste que estos nuevos requisitos eran solo unas pocas horas de trabajo. Pero si fuera un gran problema, estaría diciendo: "Lo siento, pero la cita cubre A, B, C y D. Si tiene trabajo adicional que le gustaría hacer, estaría feliz de preparar un nueva cotización".

Por cierto, dices que le proporcionaste al cliente versiones prototipo o algo por el estilo en el camino, y aparentemente nunca las miraron. Esto ciertamente no es inaudito. Me ha pasado, y luego, por supuesto, cuando finalmente lo miran, tienen un millón de cambios. Pero es una señal de peligro que podría ser un cliente problemático. Si el cliente está dispuesto a reconocer que nunca miró las cosas en el camino y está dispuesto a pagar por el retrabajo, está bien. Mi empresa tiene un cliente así ahora, nunca miran las cosas hasta que el proyecto está terminado, así que en lugar de hacer cambios temprano cuando sería fácil, esperamos hasta el final cuando hay una revisión importante. Pero tampoco se resisten mucho cuando les facturamos el tiempo para hacer el retrabajo. Así que supongo que estamos ganando más dinero de esta manera, así que no nos quejamos. Pero si no están dispuestos a pagar por el retrabajo, este es un cliente problemático. Haría un esfuerzo para hacerlos felices esta vez, cobraría mi dinero y luego evitaría hacer negocios con ellos en el futuro.

Respuesta muy completa e interesante :)

algunas desventajas

  1. Pagado más tarde
  2. No pagado por E, F y G
  3. Obtienes I y J cuando entregas E, F y G

Si realmente crees que son solo unas pocas horas y que te pagarán, tal vez solo hazlo. Pero puede salirse de control rápidamente.

Incluso si cita E, F y G por separado, todavía pediría el pago del primero.

@cognacc ¿Realmente se supone que debo saber qué son los EFG? Pregúntele al OP si está seguro de que son solo unas pocas horas.

En mi opinión, depende totalmente del tipo de cliente que tengas. Si tienen conocimientos técnicos y deben saber exactamente lo que necesitan y solo están utilizando sus servicios porque no tienen el personal disponible, entonces la respuesta correcta es mantenerse dentro del ámbito de trabajo definido.

Por otro lado, si contrató a un cliente sabiendo que no tiene el conocimiento para conocer TODOS los requisitos específicos que necesitará por adelantado, entonces lo miro, ya que también están contratando su experiencia para informarles. Qué está faltando. Después de todo, usted es el desarrollador 'profesional', no ellos. Por lo tanto, si debería haber "sabido razonablemente" que sin las funciones que dicen que faltan, la aplicación no satisfará sus necesidades, entonces parte, si no la mayor parte, de la culpa es suya. En cuyo caso, debe aprender de su error para la próxima vez, pero trate de mantener contento al cliente esta vez. Sin duda, pida más, pero reconozca su papel en la funcionalidad que falta. Por supuesto, 'razonablemente conocido' es un poco un área gris, pero sospecho que ya sabe si debería haberse dado cuenta de si la función era necesaria o no. Si la funcionalidad faltante no es algo que un desarrollador 'profesional' típico debería haber identificado como faltante, respete los términos del contrato.

Este es un punto excelente. Una analogía: Hace aproximadamente un año necesitaba que se hicieran algunas reparaciones en mi casa. Llamé a un contratista y firmamos un contrato por el que harían este trabajo, creo que fue de $ 1800. Luego, un par de semanas después, volvieron a llamar y dijeron: "Oh, cometimos un error, para hacer bien este trabajo tendríamos que hacer tal y tal trabajo adicional. Eso costará otros $900". Inmediatamente concluí que esto era una estafa. No creo ni por un minuto que hayan cometido un error. Fue un intento de que me comprometiera a hacer este trabajo por un precio razonable, y luego subieron el precio. ...
... Probablemente podría haberlos demandado por incumplimiento de contrato y fraude. Mi punto es: usted es el experto. Si le dice al cliente que lo que debe hacerse para satisfacer sus necesidades es A, B, C y D y costará X $, puede firmar el contrato asumiendo que este es el precio total. Si cuando ven que no satisface sus necesidades, les dices que hacer el trabajo adicional costará más, es posible que lo vean como un truco: hiciste que se comprometieran en función de un precio que pueden pagar, pero ahora que hagan el Trabajo REAL que estás exigiendo más. No estoy diciendo que estabas tratando de engañarlos, me parece una falta de comunicación...
... Pero pude ver a alguien que no sabe nada al respecto PENSANDO que fue un intento de engañarlos.

He estado en el extremo del cliente de "software de ingeniería - vaporware" La construcción de una nueva plataforma requiere tiempo e I + D. Cumplió con lo que exigía el contrato firmado. ¿Tiene un mecanismo de apoyo continuo? ¿Utiliza este producto para otros clientes? Con ambos conceptos, puede participar en actualizaciones distribuidas. Tendrás que construir un modelo que puedas mantener. La complejidad y las pruebas y la confirmación del siguiente nivel del producto. Tendrá algunos clientes (si su base de conocimientos lo permite) que insisten en ser probadores beta. Deberá informarles sobre sus expectativas y las de ellos. Manténgase dentro de ese alcance. Eso le brinda un modelo manejable para actualizaciones/actualizaciones, flujo de efectivo continuo y clientes satisfechos. En mi humilde opinión, JLH Así es como tuve que trabajar con múltiples proveedores (fusiones) implementando una fase múltiple,

¡Bienvenido a Workplace.stackexchange.com! Tal como está, no estoy muy seguro de que su respuesta realmente responda la pregunta. Es posible que desee editar con un enfoque en presentar una posible solución al problema en lugar de hacer algunas preguntas y describir lo que ha hecho. Una vez que gane 50 de reputación, podrá comentar la pregunta para solicitar una aclaración del autor de la pregunta para informar mejor sus respuestas (como ¿Utiliza este producto para otros clientes?).