Estaba leyendo, Facts and Falacies of Software Engineering, que tiene una sección de mantenimiento. Desde entonces, he sido desarrollador de mantenimiento durante años, me presentaron hechos muy interesantes. Aquí hay tres.
- Hecho 41: El mantenimiento generalmente consume del 40 al 80 por ciento (promedio, 60 por ciento) de los costos de software. Por lo tanto, es probablemente la fase más importante del ciclo de vida del software.
- Hecho 42: La mejora es responsable de aproximadamente el 60 por ciento de los costos de mantenimiento del software. La corrección de errores es aproximadamente del 17 por ciento. Por lo tanto, el mantenimiento del software se trata principalmente de agregar nuevas capacidades al software antiguo, no de repararlo.
- Hecho 45: Un mejor desarrollo de ingeniería de software lleva a más mantenimiento, no menos.
Este era contrario a la intuición, resulta que un buen software tiene más mantenimiento, porque es fácil de cambiar. Por lo tanto, permanece en uso por más tiempo, lo que lleva a, sí, más cambios.
¿Qué paradigma (como funcional, orientado a objetos, de procedimiento) tiene la mejor capacidad de mantenimiento, y ¿hay alguna investigación que respalde esto?