Recientemente comencé a trabajar para una empresa de software en otro país. Me volaron para avanzar con el proyecto. Allí hice algunas tareas y luego regresé a mi tierra natal para seguir trabajando desde aquí.
Se me ha encomendado la creación de nuevas funciones para una aplicación basada en web mal escrita. Realmente no entiendo el código de espagueti. No tiene documentación, no utiliza ningún patrón de diseño y la estructura de datos no está normalizada.
La gestión de proyectos está desordenada: no hay trabajo atrasado, no siguen ninguna metodología de software y ni siquiera usan correos electrónicos para comunicarse. Todo se comenta en las llamadas. El equipo toma notas, pero no hay integración. Los gerentes no entienden la complejidad involucrada. He perdido interés en el proyecto.
La gerencia me pidió un plan para completar las tareas. En un torrente de sangre, les dije que entregaría el miércoles. No puedo terminar mis tareas y he perdido el sueño. Cada pieza de código que toco rompe algo más, y no puedo refactorizar o agregar las funciones requeridas por el tiempo comprometido.
¿Cómo debo decirle a mi jefe que no puedo cumplir con la fecha límite?
Realmente no me importa que me despidan porque la empresa no cumple con la cultura que esperaba, y ya no quiero trabajar aquí, pero tampoco quiero irme de una manera en la que la gerencia se sienta irrespetada. teniendo en cuenta que invirtieron algo de dinero en mí.
Dar un plazo que no puede cumplir fue extremadamente poco profesional. Levantar las manos y decir que no te importa que te despidan aún más.
Infórmeles lo antes posible que no puede manejar el trabajo. si puede, bríndeles lo que crea que es una solución y un plazo razonables y continúe desde allí.
Eso es todo lo que puede hacer, si no son personas técnicas, tendrán poco o ningún interés en sus excusas y razones. He visto a muchas personas en tu situación, no es un buen lugar para estar y, a menos que aprendas de él, estás haciendo lo mismo que ellos, vendiendo un producto defectuoso.
Hágales saber que no pueden esperar nada de usted. Hágales saber por qué: el código no tiene documentación, no ha podido identificar ninguna estructura en el código y la naturaleza de espagueti del código hace que sea imposible entenderlo y mucho menos entenderlo. Hágales saber que intentar trabajar con el código tal como está para introducir nuevas funciones es un ejercicio inútil.
Sugiera una alternativa que incluya construir desde cero. Déles una estimación de cuánto tiempo debería tomar si pudiera hacerlo desde cero.
En este punto, su enfoque debe estar en desarrollar y proponer alternativas factibles a lo que ellos quieren que haga.
Podrían despedirlo, pero eso no hará que desaparezca el problema de que es imposible trabajar con el código.
No le digas a nadie que no puedes hacer algo sin proponer alternativas factibles. Dado que está dando malas noticias, asegúrese de tener sus patos alineados antes de dar las malas noticias. Una vez que tenga sus patos alineados, no se demore en dar las malas noticias. No espere a la fecha límite si no es necesario esperar.
Trabajar con el código tal cual simplemente significa que el hecho de que el código esté extremadamente mal escrito, no tenga estructura y no esté documentado, ese hecho es ahora su problema irresoluble. No tener que trabajar con este código es la única forma de eludir todos los problemas integrados con este código.
Dígales que si el código fuera modular, podría agregar funciones mientras comprende, digamos, el 10% de la base del código. El hecho de que el código sea espagueti significa que debe comprender el 100% de la base del código antes de poder hacer algo. El código espagueti y tener que comprender el 100 % del código base es una combinación muy mala.
En lugar de centrarse en lo que está mal con el código, debe encontrar una ruta para resolver el problema. Eso puede significar rehacer todo el proyecto si quieren un marco de tiempo preciso. Luego déjelos decidir cómo quieren seguir adelante. Esté preparado para explicarles por qué necesita seguir los pasos que propone.
Las respuestas como esta no cumplen con los estándares, o es todo código Spagetti, son excelentes diatribas para un foro web, pero en realidad no son razones por las que no pueda completar el proyecto. Que el Módulo A tiene requisitos del módulo B y C y que al hacer el cambio a A, B y C dejarán de funcionar debido a que la Función A(3) ya no podrá llamar a B o C porque los cambios requeridos para hacer B y C funciona correctamente significará que la función b (4) y C (1,3,9) ahora tiene el requisito previo de D, que también es un requisito previo de A.
A partir de aquí, debe poder proporcionar un cronograma realista y entregables iterativos para la finalización. Si todo eso está fuera de su alcance, tal vez debería llamar a la compañía que lo colocó allí y pedirles ayuda para resolver el problema.
paparazzi
Thalantas
PM 77-1