Mejor / mejorado es una comparación multieje. ¿Crees que puedes hacerlo más rápido, más pequeño, más eficiente en recursos, más legible, información más útil, resultados más precisos, más flexible, más general, capaz de ejecutarse en más sistemas, eliminar una dependencia de un producto separado?
¿Por qué su compañía debería pagarle por pasar tiempo reescribiendo este código, en lugar de escribir un código nuevo o reescribir alguna otra pieza de código?
Debe realizar mejoras a medida que se presente la oportunidad, pero la oportunidad significa que ya está trabajando en el código o que ha identificado una razón comercial para realizar el cambio.
Impulsar un cambio en la producción introduce una probabilidad distinta de cero de romper cosas (las pruebas unitarias y funcionales solo reducen esta posibilidad, no la eliminan), y solo deben hacerse cuando el beneficio esperado supera el riesgo.
¿Cuál es otro punto a considerar? ¿PRETENDE impulsar este cambio a la producción, o simplemente a la rama de desarrollo? La barra para los dos escenarios son completamente diferentes. Si solo va en la rama de desarrollo, y puede que nunca entre en producción, entonces la oportunidad básicamente significa que está mirando el código por alguna razón, y no lleva mucho tiempo hacerlo. Puede revisarse según sea necesario si alguna vez se produce un impulso, y omitirse si se considera injustificado en ese momento. Si, por otro lado, se va a producir ahora, como dije anteriormente, debe considerar si este cambio vale la pena: en términos de tiempo dedicado a impulsar y los beneficios de usar el nuevo código.