¿Qué hacer cuando un cliente tiene expectativas poco realistas? [cerrado]

23

He estado trabajando en un proyecto durante los últimos seis meses en el sitio de un cliente, ya que requieren la confidencialidad de los datos y no quería que trabajáramos en nuestra propia oficina.

Cuando me presenté solo en este sitio cliente, me dijeron que tenía que terminar el proyecto en dos meses.

Dado que el cliente no es una compañía de software, y debido a varias políticas, me tomó alrededor de 20-25 días darme derechos en mi máquina para instalar cosas como Eclipse, Tomcat, etc. Incluso después del retraso en la configuración del entorno, todavía esperaban que completara el proyecto en el mismo período de dos meses.

No me dieron ningún documento de requisitos, pero como estoy trabajando en el sitio del cliente, solíamos reunirnos regularmente para discutir los requisitos.

Después de seis meses, la aplicación aún no está terminada y todos me culpan, pero no se dan cuenta de que hemos agregado muchas más funciones que las que se discutieron en las primeras reuniones.

He tenido que rehacer muchas cosas durante este período, por ejemplo, separar un formulario en dos secciones; Unas semanas más tarde, me pidieron que fusionara las dos formas nuevamente, ya que es confuso, y así sucesivamente.

El alcance de la aplicación aumenta cada día, pero todavía piensan que es un proyecto de dos meses que se retrasó. Cuando les dije que el alcance había aumentado, me preguntaron por qué no pedí requisitos al principio.

Ya trabajo de 11 a 12 horas todos los días y viajo de 3 a 4 horas, y ahora esperan que venga los sábados también.

Tengo que hacer todo aquí: tomar requisitos, diseño, código y prueba.

Por favor, avíseme qué hacer en tal caso?

Detalles adicionales: teníamos una lista de entregables, pero luego agregaron algunas cosas más diciendo que también son importantes. También cambiaron algunos entregables. Ni siquiera tienen su servidor UAT, prueban en mi máquina de desarrollo a través de su dirección IP.

ashishjmeshram
fuente
11
Realmente lo hará más rápido si solo trabaja 8 horas al día y no los fines de semana. El agotamiento está minando su productividad. alternet.org/visions/154518/…
HLGEM
10
Parece que estás siendo el chivo expiatorio de alguien más
¿Podría agregar una edición que explique cómo se resolvió esta situación? Puede ayudar a futuros lectores si se encuentran en una situación similar.
Radu Murzea
¿Dónde encontraste tu nuevo trabajo?
Mawg

Respuestas:

65

Este es un fracaso de su gerente . Usted, como contratista, no debería haber sido puesto en una situación con un plazo tan ajustado por su empresa sin un conjunto firme de requisitos por adelantado, por escrito. Nada de esto 'agregaron características' después de tonterías: cada vez que sucedió, deberían haber firmado en un horario actualizado que usted les dio .

Su gerente, ya que está planeando reunirse con él, necesita obtener del cliente un conjunto específico de requisitos: el proyecto debe cumplir con A, B, C, D y E. Y después de que lo haga, estará completo. La firma del cliente debe estar en ese documento de acuerdo con esa lista. Deberías haber tenido eso desde el principio.

Si su gerente no lo respalda y lo apoya en esto, y no lo digo muy a menudo, comience a buscar otro trabajo. Porque probablemente terminarás siendo el chivo expiatorio de todo el desastre. Y si está dispuesto a trabajar 11 horas al día y 3 horas de viaje, es evidente que es una persona muy dedicada que merece algo mejor.

Gran maestro B
fuente
Cuando hablé con mi gerente sobre esto, me apoyó. Pero todo depende de lo que ocurra en la reunión ahora :(
ashishjmeshram
1
En mi experiencia, los programadores son muy rápidos en culpar a la administración por todo lo que sale mal ... La primera parte de Bold casi me desanima al leer esta muy buena respuesta. Si el gerente no estaba al tanto del problema, es difícil culparlo por completo (aunque un buen gerente "simplemente sabe" qué está sucediendo sin importar lo que le digan). Depende de un desarrollador plantear problemas como este a la atención de los gerentes lo antes posible.
mattnz
1
Creo que en este caso fue puesto en una situación sin los requisitos necesarios con un nivel de detalle suficiente acordado, o al menos, sin una indicación clara de qué autoridad tenía para hacer frente a los cambios del cliente en el alcance del proyecto . Ambos son problemas de gestión. En el último caso, si la intención era que él se encargaría del cliente, debería haberle quedado claro que ese era el caso y en qué medida podría ajustar sus presupuestos y fechas de entrega para el cliente.
GrandmasterB
1
@GrandmasterB. Casi una semana después de la reunión, se dijo mucho sobre hacer las cosas de manera más organizada, pero nada ha cambiado. Traté de enumerar todas las cosas que discutimos en reuniones de requisitos y enviar correos electrónicos a los clientes. Nadie se molestó en leerlos y, en cambio, recibí esto de los clientes "Debes haber perdido una hora escribiendo este correo electrónico". :(
ashishjmeshram
1
Tengo curiosidad por saber cómo terminó esto. Tu cliente es ignorante y egoísta. No te escuchan porque no tienen que hacerlo. Debe hacer una declaración firme de que ya no puede trabajar de esta manera. ¿Entonces te fuiste? ¿O completó el trabajo de todos modos?
Forza
21

Lo importante en tales situaciones es construir un rastro de papel CYA. No se debe hacer nada sin tenerlo escrito, especialmente en una relación comercial complicada. Cumplir con el cronograma inicial, aunque necesitaban 20 días para incluso dejarlo trabajar, es una gran señal de alerta que se volverá complicado.

¿Celebra una reunión donde se requieren características adicionales? Anótelo después, etiquete "+ X días para el horario actual" en cada elemento y envíelo por correo a todos los involucrados. Si solo usa el sistema de correo interno del cliente, imprímalo adicionalmente, incluyendo la lista de destinatarios para :, cc: y bcc: y archívelo cuidadosamente. Además de eso, como dijo GrandmasterB, el cliente debe firmar dichos cambios a los requisitos originales.

Si no se puede mantener el horario requerido, escríbalo. Si se produce algún cambio, escríbalos, incluidas las consecuencias. Y así.

Esto no es para "te lo dije". cuando el desastre finalmente llegue a la pared, de todos modos no lo escucharán. Este es su seguro cuando el cliente lo demanda porque piensa que usted no cumplió el contrato, o cuando su empresa demanda al cliente porque niega el pago.

Seguro
fuente
16

Por lo que describe, parece que está participando en un proyecto clásico de la Marcha de la Muerte :

En la gestión de proyectos , una marcha de la muerte es cualquiera de los varios tipos de proyectos patológicos que involucran una analogía de humor oscuro y dishemista con las marchas de la muerte real, como un trabajo excesivamente extenuante y (a menudo y especialmente) un trabajo excesivamente extenuante por razones infundadas en un proyecto que obviamente tiene un alto riesgo de malos resultados (es decir, falla del proyecto y posiblemente amenaza de daño a la reputación personal y grupal) . Por lo tanto, el nombre "marcha de la muerte" se puede aplicar a un proyecto que finalmente es exitoso pero que involucra un tramo interno de exceso de trabajo insostenible, o (quizás más a menudo) a un proyecto que cualquier miembro inteligente e informado puede ver que está destinado a fracasar (o es con un riesgo muy alto de fracaso), pero que los miembros se ven obligados a actuar por sus superiores de todos modos ...

El fenómeno es bien conocido y hay mucha literatura sobre cómo proceder, incluido, por supuesto, el libro seminal de Edward Yourdon, Death March: The Complete Software Developer Guide to Surviving 'Mission Impossible' Project .

El artículo de Wikipedia citado anteriormente es un buen punto de partida para buscar más información, investigación y recomendaciones para aquellos involucrados / interesados ​​en proyectos de marcha de la muerte .


Caminar en su lugar, lo primero que consideraría sería pasarle una referencia al artículo anterior a mi gerente.

De esa manera les haría saber que estoy al tanto de lo que está sucediendo, y posiblemente incluso les ayudará a guiarme en términos del marco provisto para esta noción, como "Mira, nuestro estado actual es cercano al descrito en el capítulo Xde Yourdon. Compruébalo fuera, junto con el capítulo estrechamente relacionado, Yetc ... "

En el caso (no muy probable) de que el gerente no esté al tanto de este campo de estudio, la referencia podría darles suficiente alimento para pensar y ayudar a identificar la situación y decidir cómo manejarla.

mosquito
fuente
11

Honestamente, si es posible hacer esto, la mejor solución es dejar de fumar. Situaciones como esta son tóxicas para usted y rara vez mejoran con el tiempo, sin importar cuánto lo intente.

Lo mejor es reducir tus pérdidas y encontrar un concierto diferente. Pero, reflexione sobre su experiencia y tome el consejo de otras respuestas en este hilo.

bitops
fuente
2
Esta no es una mala respuesta, por favor no la desestime sin explicación. Sí, es como cortar el nudo gordiano, pero a juzgar por la situación que describió OP (y su desesperación), esto podría ser lo mejor que puede hacer. ¿Trabajo + viaje 14 horas más trabajo los sábados? Parece que su salud física y mental está en grave riesgo.
Tamás Szelei
1
Según la experiencia, este tipo de situación se debe a la cultura de la empresa y requerirá personas que actualmente no padecen la situación. Será casi imposible cambiar esa cultura.
deadalnix
¿Por qué esta no es la respuesta más actualizada y aceptada? quit++;
Mawg
11

Es un serio issue in project management . Parece que Project Managerdebería trabajar en una lista de entrega y priorizarlos con el cliente.

Lo más importante , su PM should discussy acordar con el Cliente el marco de tiempo (incluido el diseño y el análisis del problema / solución) en sus estimaciones.

Tener clear estimation of your work loady entregar elementos del proyecto lo aliviará del estrés, además de agregar tranquilidad y confianza en su trabajo.

Intente utilizar el enfoque ágil entregando sus artículos en sprint (2-3 semanas) y haciendo UAT (prueba de aceptación del usuario) con el cliente. Recuerde, siempre haga su planificación de sprint antes de comenzar el sprint.

ingrese la descripción de la imagen aquí

Editar: De los comentarios, está claro que esto es realmente una falla de su gerente de proyecto . No tener un entorno de prueba y / o desarrollo adecuado para un proyecto serio como el suyo es un gran agujero para el projectproceso SDLC.

EL Yusubov
fuente
2
Tuvimos la lista de entrega. Pero luego le agregan algunas cosas más diciendo que también son importantes. También cambian algunas cosas en la lista de entrega. Ni siquiera tienen su servidor UAT, prueban en mi máquina de desarrollo a través de la dirección IP.
ashishjmeshram
Estas son personas de negocios. No entienden el diseño, etc. Inicialmente intenté explicarles esto, pero todos dijeron que no nos importa cómo lo hagas, pero que lo hagamos como queremos.
ashishjmeshram
2
+1 para enfoque ágil. Hazlo y cúmplelo, por supuesto.
Bruno Schäpper
1
@Vain Felloman - "+1" significa que votaste la respuesta.
mouviciel
@mouviciel Yap. no lo hice? Por lo que puedo ver, lo hice ...
Bruno Schäpper
10

Si bien estoy de acuerdo en que se trata de una falla administrativa, también es una falla de su parte. En esta etapa será muy difícil de solucionar, por lo que parte de lo que necesita para salir de esto es cómo manejar proyectos futuros.

Primero, debe insistir en un documento de referencia de requisitos al comienzo del proyecto. No tiene que ser elegante o formal, pero no puede construir con éxito nada hasta que el cliente especifique lo que se espera. Si no tiene esto por escrito, las posibilidades de que el cliente esté satisfecho con el resultado final son aproximadamente 0%. Entonces esto es críticamente importante. También es su trabajo buscar las ambigüedades en este documento y aclararlas lo antes posible. Cuando encuentre uno de estos y no esté seguro de cómo interpretarlo, no adivine lo que cree que significa, asegúrese de que usted y el cliente estén en la misma página sobre lo que significa. Sí, esto significa más hablar con la gente y más reuniones y menos codificación. Pero lleva mucho menos tiempo aclarar un requisito poco claro que codificarlo mal y luego tener que volver a codificarlo. Además, a menudo tiene que darles la nueva codificación de forma gratuita y eso no es bueno para la empresa para la que trabaja.

Luego, les dices cuánto tiempo lleva hacer el trabajo y eso establece la fecha límite. Nunca acepta una fecha límite que se base en otra cosa que no sea la cantidad de horas que tomará hacer el trabajo para cumplir con los requisitos. Si lo haces, volverás a estar en una marcha de la muerte. Muéstreles cómo no es posible cumplir con el plazo mediante una explicación detallada de las horas que llevará. No puede ajustar 200 horas de tiempo de desarrollo en una semana con solo 1 desarrollador, sin importar cuánto lo desee el cliente. En ese momento, cuando la fecha límite es inamovible, pregunta qué elementos deben moverse a la siguiente iteración.

No olvide que el tiempo de despliegue es solo una pequeña porción del tiempo del proyecto al hacer estimaciones del tiempo del proyecto. También debe tener en cuenta las reuniones y las comunicaciones por correo electrónico / teléfono, pruebas, implementación, documentación, configuración física de servidores, estaciones de trabajo, software. Además, al planificar la fecha límite, solo puede suponer que tiene 6 horas diarias disponibles, no 8. Esto es para tener en cuenta la licencia, el duelo, el tiempo de enfermedad, el retraso inevitable (como cuando tuvo que esperar a que obtuviera los permisos). en la red, etc.), capacitación, trabajo no relacionado con el proyecto (hojas de tiempo, reuniones de recursos humanos, etc.). Una de las principales razones por las cuales las personas no cumplen con sus plazos es que asumen que solo estarán desarrollando y trabajando 8 horas sólidas todos los días. Esto simplemente no es una suposición realista.

Y cada vez que agregan otra pieza, usted les dice cuánto tiempo más llevará y cuánto moverá el trabajo adicional la fecha límite. No solicita mover la fecha límite, les dice que se está moviendo debido al nuevo requisito. Ahora debe consultar a su gerente para esto, pero primero es su responsabilidad asegurarse de que su gerente sepa cada vez que se modifique el requisito y cuánto se agregará al proyecto. Asegúrese de que todo esto esté escrito, para que pueda defenderse si es necesario.

A continuación, no permita que lo maltraten para trabajar 11 horas al día y fines de semana. Esto está bien en períodos cortos (de menos de 1 semana cada seis meses más o menos), pero a largo plazo esto simplemente no es aceptable. Las personas cansadas codifican más lentamente y cometen más errores. Puede hacer más con una mayor calidad trabajando regularmente 8 horas que regularmente 11 horas. y fines de semana

HLGEM
fuente
1
Gracias por la respuesta. Muy buenos puntos para mí.
ashishjmeshram
+1 para "No solicita mover la fecha límite, les dice que se está moviendo debido al nuevo requisito". Esto señala que la fecha límite no es algo que usted inventó, sino una propiedad intrínseca del proyecto.
sleske
1
you need to insist ona a requirements baseline document at the start of the project, Next, you tell them how long it takes to do the work and that sets the deadline., And every time they add another piece on, you tell them how much longer it will take and how much the additional work will move the deadline. Gran consejo pero estar en una situación tal vez me despidieron en menos de un mes por ser imposible trabajar con lo visto. La situación real es como lo expresan otros, este tipo de empresas quieren chivos expiatorios y excusas, no desarrolladores de software realistas y productivos.
maple_shaft
4

He descubierto que los gráficos de Gantt pueden ser muy buenos en este tipo de situaciones. Pueden ilustrar a los clientes la programación actual y pueden ser útiles para ilustrar el efecto de agregar nuevas características / cambios. A veces, decirle a un cliente que la función x afectará la entrega por y días no se registra con ellos. Al tenerlo claramente en un gráfico, pueden comprenderlo mejor.

Idealmente, esto debería hacerse desde el inicio del proyecto. Puede que no sea tan útil explicar los " retrasos " hasta este punto, pero podría ayudar con el proyecto en el futuro.

De Wiki :

Los diagramas de Gantt ilustran las fechas de inicio y finalización de los elementos terminales y los elementos de resumen de un proyecto.

AidanO
fuente
Si esta respuesta se rechaza, por favor avíseme por qué. Gracias.
AidanO
1
+1: los gráficos de Gantt pueden ser de la vieja escuela, pero parece que el cliente no está comprando el proyecto, por lo que algo tan simple como un gráfico de Gantt puede mostrarles el efecto de sus requisitos adicionales.
Dave