Empíricamente, el software con métricas de mayor complejidad, como la complejidad ciclomática, es más difícil de mantener. Hay investigaciones que respaldan esto desde la década de 1970 ("Complejidad del programa y productividad del programador", ET Chen) . También hay trabajo que sugiere que la densidad de complejidad, que es la complejidad ciclomática sobre el tamaño del sistema, también se relaciona con el tiempo de mantenimiento ("densidad de complejidad ciclomática y productividad de mantenimiento del software", GK Gill, CF Kemerer) , que también está disponible de forma gratuita aquí . Desafortunadamente, una suscripción a IEEE es necesaria para el trabajo de Chen, pero puede intentar buscarla en otras fuentes si está interesado.
Desde una perspectiva de calidad, a menudo vale la pena pasar algún tiempo refactorizando, suponiendo que tenga un marco de prueba para evitar la introducción de nuevos defectos. Esto le permitirá implementar más fácilmente nuevas funciones en su sistema, agregar pruebas adicionales y capacitar a nuevos desarrolladores para que trabajen.
Sin embargo, en última instancia, existe la presión de ofrecer una nueva funcionalidad y un valor agregado. Debe equilibrar la refactorización con la implementación de nuevas funciones y la reparación de defectos.