El desarrollo de software siempre es un compromiso entre lo que hace el proyecto y lograr que el proyecto se complete. Sin embargo, puede que te pidan que sacrifiques la calidad para acelerar la implementación de un proyecto de una manera que vaya en contra de tus sensibilidades técnicas o comerciales. Por ejemplo, podrían pedirte que hagas algo que sea una mala práctica de ingeniería de software y que conduzca a muchos problemas de mantenimiento.
Si esto sucede, tu primera responsabilidad es informar a tu equipo y explicar claramente el costo de la disminución de la calidad. Después de todo, tu comprensión debería ser mucho mejor que la de tu jefe. Deja claro lo que se está perdiendo y lo que se está ganando, y a qué costo se recuperará el terreno perdido en el próximo ciclo. En esto, la visibilidad proporcionada por un buen plan de proyecto debería ser útil. Si el compromiso de calidad afecta al esfuerzo de aseguramiento de calidad, señálalo (tanto a tu jefe como a las personas encargadas de la calidad). Si el compromiso de calidad conduce a que se informen más errores después del período de aseguramiento de calidad, señálalo.
Si aún así insiste, deberías tratar de aislar la falta de calidad en componentes específicos que puedas planear reescribir o mejorar en el próximo ciclo. Explícaselo a tu equipo para que puedan planificarlo.
NinjaProgrammer en Slashdot envió esta joya:
Recuerda que un buen diseño será resistente frente a implementaciones de código deficientes. Si existen buenas interfaces y abstracciones en todo el código, las reescrituras eventualmente serán mucho menos dolorosas. Si es difícil escribir código claro que sea difícil de corregir, considera qué hay de malo en el diseño central que está causando esto.
Siguiente ¿Cómo gestionar la dependencia del sistema de software?