Como desarrollador, si debe elegir entre escribir código sucio o la fecha límite del proyecto, ¿cómo elige?

Es una falsa dicotomía que debe evitar a toda costa. Este “olor de gestión” le dice a todos los involucrados que los diferentes interesados ​​en el proyecto (propietarios, gerentes, desarrolladores) no se están comunicando correctamente o tienen una relación de confrontación que no conduce a la producción de un excelente software.

En cambio, te reúnes con tus grupos de interés y recortes características. Haga lo más simple que pueda funcionar y trate de hacerlo bien.

Entonces tiene un código limpio que se puede mantener, si tiene un conjunto de funciones limitado. Suelta eso (ya sea interna o externamente), luego itera en esa plataforma.

Si aún debe hacer cosas sucias aquí y allá, agregue // TODO entradas y cuídelas con refactorización durante las fases de planificación de las próximas iteraciones del proyecto. Le da algo que hacer mientras la gerencia está averiguando qué sigue.

Antes de comenzar un proyecto, normalmente se le pide que amplíe los detalles del trabajo de desarrollo y proporcione la estimación del tiempo para cada tarea. Si tiene suficiente experiencia, debería poder completar su proyecto a tiempo.

Como sabemos que las cosas no siempre funcionan de la manera que planificamos y es posible que necesite más tiempo para terminar su trabajo. En este caso, debe hablar con el líder / gerente del proyecto y explicarle por qué. Si la razón que proporcionó es aceptable, el líder / gerente extenderá su fecha límite o asignará algunos de sus trabajos a otra persona para minimizar el costo del tiempo.

Si usted es el único desarrollador de su empresa, debe informar a su gerente

  1. No puedes cumplir el plazo porque bla bla bla
  2. Puede cumplir con la fecha límite, pero la calidad de la codificación será mala, lo que podría conducir a bla bla bla …

Luego puede pedirle a su gerente que me ayude a elegir la mejor solución para su circunstancia.

Mucho depende del proyecto.

  • El código sucio para un sitio web puede abrirlo a ataques de seguridad
  • El código sucio para la unidad de control electrónico de un automóvil puede abrirlo a grandes demandas (ya sucedió algunas veces)
  • Código sucio para un producto interno o sitio web … materia diferente.

Si realmente estoy FORZADO a hacerlo, y eso requiere cierta justificación, entonces, un minuto después de que el lanzamiento se congele, vuelvo a trabajar el código y lo hago bien.

¿Qué tan artificial es el plazo? ¿Es una fecha límite literal, como en, no tengo trabajo si no hago el corte porque la empresa cierra? ¿O es un límite de sprint sin entregable significativo? Doy respuestas muy diferentes en las dos situaciones. O en general: debe sopesar lo que funciona mejor en su situación. Siempre que sea posible, elegiría no cumplir con la fecha límite y evitar introducir deudas tecnológicas, porque en promedio creo que es una propuesta perdida a largo plazo.

Escribir código sucio, porque la fecha límite es más importante para la empresa (automáticamente para mí) que … ¿Por qué escribiría código limpio en ese caso, de todos modos?

No somos desarrolladores para nosotros mismos, pero somos parte de una empresa. Quien quiera trabajar solo se convierte en autónomo o hace su propia compañía.