Permítanme empezar diciendo que cometí muchos errores por mi parte al asumir un proyecto. Ahora estoy en una posición en la que tengo un proyecto de desarrollo de software que es un poco de una pesadilla y que sufre de la fluencia de la misión.
¿Puede aconsejarme sobre las opciones que puedo tomar y cuál cree que es el mejor curso de acción?
Antecedentes:
Acepté un proyecto para desarrollar un tema de WordPress que es una aplicación web para una agencia digital. Debía trabajar con otra persona que creía que era un desarrollador experimentado pero resultó que sólo tenía conocimientos muy limitados de html y css. El acuerdo verbal era que el otro dev (que trabaja para la agencia) haría todo el html, css y animaciones (gsap javascript). Mis errores incluyen (pero no se limitan a); acordar un plazo acelerado del proyecto (dije 12 semanas pero me bajaron a 4 semanas), precio fijo del proyecto, pensar que el otro desarrollador podría hacer su parte, acordar un proyecto sin hacerles un esquema claro de todas sus necesidades (animaciones, integraciones webgl, etc).
Ya han pasado 6 semanas y he implementado las características indicadas en el contrato (5 plantillas, función de audio, posts personalizados, integración de campos personalizados).
Los problemas:
- El cliente sigue añadiendo más tareas, él las considera ampliaciones/alteraciones de las características que acordé hacer en el contrato, pero estos cambios consumen mucho tiempo.
- Los cambios del desarrollador introducen fallos y errores.
- El dev está destinado a mantener el proyecto después de que yo haya terminado, pero no tiene las habilidades o la experiencia para compilar al proyecto para el despliegue. He tenido que formarle en el uso de git, npm, webpack, vue.js, etc. Actualmente tiene un problema en el que no puede compilar el proyecto en modo de producción, obviamente es algo que tiene que ver con su versión de npm/node porque a mí me funciona bien en 2 ordenadores y sistemas operativos diferentes. Pero el cliente y él creen que es la configuración de mi proyecto. ¿Debo o estoy obligado a arreglar este problema para él? Si no puede arreglarlo, el cliente no puede mantener/desplegar el proyecto. Arreglarlo implica que me siente con él y depure el problema e intente encontrar una solución. El cliente tiene la impresión de que el problema es mi código o la configuración del proyecto.
¿De qué acciones dispongo? ¿Debo decir que no a realizar el soporte técnico para el dev? ¿Debo aceptar hacer algunos de los cambios que quiere el cliente? ¿Debo decir que no a todos ellos?
Qué es lo que quiero hacer:
En este momento quiero dejarles el proyecto tal y como está. No es agradable, pero creo que he implementado las características indicadas en el contrato. Soy consciente de que recibiré una gran pérdida de reputación y posiblemente una acción legal. Le facturé al cliente en 2 plazos, así que el 50% después de 2 semanas (el cliente pagó esto) y otro 50% 3 semanas después (aún no se ha pagado). No me importa perder el último plazo y tal vez eso me proporcione cierta protección legal.