Asumí un proyecto bastante complicado como único desarrollador / gerente de proyecto y probador en algún momento del año pasado.
En noviembre del año pasado hubo una fecha límite para que se entreguen nuevas funcionalidades.
El sistema que asumí, que supuestamente estaba listo para ser utilizado, estaba lejos de estar listo.
Al sentarse con uno de los usuarios de nuestros clientes, se le ocurrieron nuevas características y requisitos que se requerían. A pesar de que se implementaron las características que solicitaron, argumentó que no se parecía en nada a lo que especificaban en los requisitos.
Así que tuve que volver al tablero de dibujo y hacer grandes cambios al sistema.
Promesa tras promesa, es culpa mía, no cumplí el plazo posterior debido a diferentes razones: planificación demasiado optimista en mi nombre, niños enfermos y otros problemas personales.
Y también ha habido fallas en el lado del cliente: solo pruebas cuando miro por encima del hombro y así sucesivamente.
Ayer acordamos que saldremos en vivo si sus usuarios aprueban la aplicación.
Por supuesto, aparecieron algunos problemas y hoy, cuando intenté llamar a nuestro cliente, colgó y no respondió a ninguno de mis correos electrónicos.
Esto realmente me está agotando, las horas y el tiempo que pasé en esto superan con creces las horas normales de trabajo y también han afectado a mi familia
Obviamente, hay cosas en esta situación que son específicas de este proyecto, pero no creo que el patrón general (múltiples problemas pequeños, que conducen al desglose del proyecto) sea poco común.
¿Qué harías en un escenario similar?
Respuestas:
EDITAR: Al volver a leer esto suena un poco duro, no se entiende de esa manera. Las cosas que describe son comunes y generalmente son causadas por factores entendibles (y luego exacerbados por su intento de ser útil). De todos modos, si parece duro, lo siento, no es señalar con el dedo, solo está tratando de decir "esto es lo que parece haber salido mal, y así es como lidiar con eso".
Lo que parece haber sucedido por lo que estás diciendo es:
Y, como resultado, el proyecto está fallando.
Mi primer punto sería que debes dejar de hacer lo que has estado haciendo hasta ahora (lo que parece continuar de manera optimista, suponiendo que si sigues adelante, todo saldrá bien). Eso no ha funcionado durante los últimos 3 meses, ¿por qué crees que va a funcionar ahora?
Esencialmente, cada uno de estos problemas debería haberse abordado a medida que surgían, tratando tanto el síntoma (por ejemplo, un plazo vencido) como la causa raíz (por ejemplo, el plan era demasiado optimista). Como esto no sucedió (no es raro), ahora está en una posición en la que hay varios problemas con los que lidiar.
En mi experiencia, cuando un proyecto se desvía significativamente de esta manera, lo mejor que puede hacer es involucrar a todos de nuevo y restablecer los requisitos y responsabilidades y volver a acordar un plan (realista) basado en estos, etc.
Su cliente necesita:
Confirme los requisitos de forma clara e inequívoca. Esto puede ser como una especificación, puede ser como una lista de desviaciones de lo que se implementa actualmente, sin embargo, debe ser completo y sin ambigüedades y comunicarse por escrito.
Acepte una fase de prueba que es suya para administrar al final de la cual informarán todos los defectos. Esto será contra lo que trabajarás. Probablemente también necesiten aceptar que habrá al menos una fase de prueba posterior para volver a probar los errores que saldrán de la primera.
Necesitas:
Evalúe de manera realista los requisitos, calcule con precisión el trabajo (incluida una contingencia razonable) y elabore un plan para cumplirlo. La clave es precisa. Si crees que va a caer mal y luego difícil, los planes juntos para hacer felices a las personas que no reflejan la realidad no entregan software.
Entregar contra este plan.
En términos de contactar al cliente nuevamente, le recomiendo que elabore un enfoque propuesto en este sentido, indicando por qué y enviándolo. En este momento quiere saber cómo van a mejorar las cosas y eso es lo que necesita entregarle si va a reconstruir la relación.
fuente
Lo mejor que puede hacer es comunicarse abierta y francamente sobre sus propios fracasos y pedir amablemente que se le exima de sus obligaciones.
No le ayudará a usted ni al cliente señalar todas sus fallas, y se sentirá mejor sin la obligación que se cierne sobre usted.
Tome esta experiencia como una clase dolorosa en la escuela de golpes duros y prepárese mejor para el próximo cliente.
fuente
Me he quedado atrapado en situaciones como esta antes.
Su negocio necesita que esto se haga, y has roto promesa tras promesa. Debe dejar de hacer promesas demasiado optimistas. Cuando he estado en estas situaciones, me resulta extremadamente difícil recuperar credibilidad con el cliente . Cuando trabajas en un negocio, tu reputación es extremadamente importante. Si va a hacer estimaciones, debe acertarlas. Si sus hijos / familiares están enfermos en el futuro, ¿hay alguien que los ayude a cuidarlos como su cónyuge u otra familia? Busque avanzar hacia un futuro "sin excusas".
Quiere resultados, no excusas. Colgó porque no quería escuchar otra excusa más. ¿Qué puede hacer para volver a encarrilar el proyecto? ¿Qué puedes hacer para terminar este proyecto? ¿Cómo te involucraste en este proyecto en primer lugar?
Si fuera usted, pasaría tiempo hoy preparando la documentación para entregar este proyecto al siguiente tipo.
He estado en situaciones como esta también. En el futuro, nunca gaste una energía significativa describiéndole esto al cliente porque suena como si fuera oro. ¿Por qué el tipo anterior lo dejó en el estado inacabado en el que se encuentra?
Esta fue una de las partes más dolorosas del último proyecto en el que me quedé atrapado como el tuyo. El experto en la materia (que se jubilará este verano) no documenta nada, por lo que la mayoría de los errores son el resultado de mi memoria imperfecta de conversaciones con este tipo. Además, estaba acostumbrado a mantener todas las cosas en secreto para hacerse indispensable, y ese hábito ha sido extremadamente difícil de eliminar en sus últimos 2 años en el trabajo.
La otra falla crítica fue que no había un entorno de prueba. Durante el año pasado, todo el código que se probará se promovió directamente a la producción, donde los usuarios finales lo asignarían QAed.
La situación final fue que esta agencia federal no tenía ningún presupuesto para contratar a nadie, y estaba terminando este proyecto para salvar a mi amigo de ser demandado. Al final, me dejaron ir (¡sí!) Y usaron a alguien que trabajaba en un proyecto diferente (pero financiado). Pasó más de un año antes de que me involucrara, y aunque duplicaron su presupuesto para el proyecto, ese presupuesto se disparó cuando me involucré.
En el futuro, debe aprender a hacer mejores estimaciones. Algo así como el diario recomendado en PSP ( libro ). Este proyecto es un fracaso. Además, es posible que desee discutir cosas con sus amigos personales, ¿alguno de ellos tiene la habilidad y el ancho de banda para ayudarlo en futuros problemas como este? La próxima vez que te pases por alto, ¿repetirás esta falla o hay algo que puedas hacer para mitigar la falla la próxima vez?
fuente
Si ha escrito un software que será utilizado / implementado por el cliente, el cliente tiene la responsabilidad de pagar ese software y responder a las solicitudes. Parece que el cliente se ha lavado las manos del asunto, por lo que, a menos que esté preparado para ir a la corte por este problema, puede terminar tomando este en el asiento.
Debe tener documentación, contratos, requisitos por escrito, plazos, entregas y déficit. Si puede demostrar que hizo su diligencia debida para cumplir con el contrato y que el cliente no lo hizo, entonces tiene algo. Si no puedes, entonces es solo "Dijo que me pagaría por hacer esto, así que lo hice, y ahora no devolverá mis llamadas".
Mi recomendación para usted es ponerse en contacto con el secretario / asistente de este cliente / lo que pueda para programar una reunión cara a cara con él. No pierdas su tiempo, no andes por las ramas. Dígale que aprecia la oportunidad que le ha brindado para trabajar en este proyecto y que reconoce que ha habido algunas deficiencias en las expectativas. No nubles el problema con excusas o argumentos quid-pro-quos. A la larga, los enojarán a ambos y no les darán nada.
Pregúntele al cliente qué acción es necesaria para que esto funcione de la manera que le gustaría. Considere sus capacidades, estado, disponibilidad, todo. Se honesto contigo mismo. Sea lo que sea que se te ocurra en cuanto a costo / tiempo / etc., DOBLATE. Si eso no cae dentro del área de compromiso, entonces debe cortar el cebo y separarse.
Esta es probablemente una conclusión inevitable, ya que parece que el cliente está bastante tocado, pero puede convertirse en una experiencia de aprendizaje. Parece que necesita mucha preparación adicional en varios asuntos relacionados con contratos de esta naturaleza:
Lo último que puedo recomendar para el futuro es ser honesto contigo mismo. Si no puede cumplir los requisitos de un cliente de manera profesional, no intente hacerlo. Cuando llamo a un plomero para que venga a arreglar mi fregadero con goteras, no quiero escuchar sobre sus hijos enfermos o cómo él no sabía que arreglarlo iba a tomar 7 horas. Lo quiero arreglado. Pagaré por el tiempo extra si él me puede mostrar que era necesario y no solo él metiéndose en mis tuberías. Sus clientes tienen expectativas. Si promete el 1 de mayo, hágalo el 1 de mayo. Si algo del cliente se interpone, hágalo por escrito que la fecha se retrasará debido a la solicitud del cliente. Consíguelo por escrito. Si es algo de tu parte, arréglalo. Si sabe que va a causar un problema y la fecha límite simplemente no se cumplirá, Se honesto y admítelo. Entonces prepárate para ofrecer un descuento de algún tipo.
fuente
He estado exactamente en la misma situación. Tenía un cliente que quería mucho más de lo que podía proporcionar y estaba cambiando las expectativas cada semana. Al principio fue un trabajo simple, pero se agregaron muchas cosas ... Perdí mucho sueño y afectó mucho otros aspectos de mi vida.
Lo mejor que puede hacer es apagarlo y seguir adelante. Los proyectos fallidos solo ocurren a veces y es mejor para ambas partes reconocer los signos y detectarlos temprano. Una vez que comienza a entrar en su vida personal, ha ido demasiado lejos.
Aprende de ello e intenta no repetir. Serás mucho más feliz.
fuente
Pregúntele al cliente qué quiere. Si cae dentro del presente contrato, haga eso, de lo contrario renegocie el contrato. De cualquier manera, asegúrese de tener una comprensión clara de lo que el cliente realmente quiere en un documento en el que firman para que luego no puedan decir que se perdió algo que quería.
fuente
El factor clave aquí, según lo veo, es que los requisitos no fueron acordados.
No sé cómo estabas facturando. Si se trata de un contrato de precio fijo, con requisitos flexibles, es posible que no tenga ningún recurso. Nunca entre en un contrato donde le pagan X cantidad sin un sólido acuerdo por escrito sobre lo que debe suministrar. Si tiene que hacer algo como esto, divida el proyecto en fases, y no realice la fase N + 1 hasta que se apruebe la fase N (si no se paga realmente). Siempre especifique las responsabilidades del cliente y las suyas.
En este caso, su predecesor aparentemente aceptó requisitos adicionales sin una renegociación del contrato. Eso es malo. Si un proyecto cumple con los requisitos acordados, las adiciones a eso deben negociarse como parte de los cambios al contrato. No necesariamente tiene que cobrar más, pero obviamente en este caso la fecha límite debe restablecerse.
Puede tener requisitos flexibles, siempre que no tenga un precio fijo o una fecha de finalización.
Sus problemas de estimación son típicos en la industria, pero trate de aprender de ellos. Problemas inesperados aparecerán con bastante frecuencia, así que nunca le des a nadie cifras sobre la mejor estimación posible.
fuente
Necesita un mejor proceso , las metodologías ágiles, SCRUM en particular, ofrecen una mayor transparencia, interacción forzada con el cliente al hacer que el cliente sea un interesado y un miembro del equipo, así como los evaluadores como miembros del equipo, todos se hacen responsables de las entregas, no solo el desarrollador.
Permite ciclos de entrega más cortos, de esa manera cuando va a faltar y la fecha límite es solo Sprint de 1 o 2 semanas y tanto usted como el cliente saben que lo van a perder mucho antes del final del Sprint.
Si va a fallar, ya que solo planea un Sprint de 1 a 2 semanas, falla rápidamente, pequeño en lugar de tarde y grande.
SCRUM también hace que la aceptación final de la entrega sea responsabilidad del Propietario del producto (cliente), lo que significa que si siguen cambiando los requisitos y qué no, es transparente para todos los que están causando los retrasos y están muy bien documentados.
Se completan y prueban y aceptan más cosas al 100% antes de trabajar en nuevas características. Imagina que tienes una lista de 100 características. ¿Con qué estaría más feliz el cliente?
¿El 80% de las características más importantes está 100% completo, probado y aceptado como libre de errores?
o
100% de todas las características 80% completo, no probado y con errores?
Procesos como SCRUM obligan al cliente (Propietario del producto) a priorizar las funciones para usted, por lo que solo entrega lo que está pidiendo para el Sprint actual. El trabajo más importante para el Propietario del producto se realiza primero, otras cosas que son menos importantes tal vez nunca se realicen, pero a decisión del cliente, eso no es valioso.
fuente
Aprender de ello. El mejor consejo que obtuve sobre dar estimaciones de tiempo fue: calcular lo que crees que tomará, luego duplicarlo y agregar un 10%. :)
Felicitaciones, ha aprendido una valiosa lección sobre gestión de proyectos de software. Trate de evitar estar tan obsesionado por satisfacer a su cliente que termine haciéndolo aún más molesto.
Esto no es exclusivo de la industria del software. ¿Qué esperarías si fueras a un restaurante y el servidor tardara una hora en traer tu comida? Y cuando lo conseguiste, ¿no era lo que esperabas? Querrías un descuento o una disculpa, ¿verdad?
Ofrezca lo que pueda al cliente y simplemente continúe. A veces esa es la única opción que tienes.
Editar: Buscaría en Scrum o alguna otra metodología ágil en estos días para reducir la insatisfacción del cliente.
fuente
Llámalo una experiencia de aprendizaje. La próxima vez, cuando el usuario intente cambiar los requisitos sobre usted, renegocie la línea de tiempo y póngala por escrito.
Puede enviar una factura si se siente justificado. Suena como si no lo hicieras.
fuente