Resumen: La proactividad en el mantenimiento de software es la actitud que te permitirá dar un servicio de calidad y valor.
Es habitual que una solución desarrollada en un momento dado, necesite con el paso del tiempo añadir funcionalidad. De ser así, ese servicio de mantenimiento sera del tipo evolutivo, es decir, continuar añadiendo funcionalidad al producto. Un ejemplo muy claro de esto son las soluciones desarrolladas cuyo medio va a ser Internet. Normalmente se desarrolla un producto que cubre las funcionalidades mínimas y poco a poco se va mejorando. Ejemplos muchísimos, no obstante, ya sabéis que a mi me gusta citar NBICI.es. Desde que vio la luz ha cambiado constantemente, hemos cambiado la home, los listados, las fichas de detalle de las marchas y además, hemos implementado nuevas funcionalidades que inicialmente no estaban en nuestro MVP.
También es una practica habitual (aunque no debería) que exista un mantenimiento correctivo. Es decir, un equipo dedicado a resolver los bugs que no han sido identificados en la fase de QA. Este mantenimiento, por encima de los demás ha de ser proactivo.
Cuando hablo de servicio de mantenimiento reactivo, me refiero a aquel que se da cuando el mismo esta basado en la identificación de los bugs por parte de los clientes o usuarios finales y el reporte de las mismas para su resolución. Es decir, reaccionamos frente a una acción de nuestros clientes / usuarios (identificar el error).
Cuando hablo de servicio de mantenimiento proactivo, me refiero a un servicio de mantenimiento basado en al mejora continua del producto, siendo nosotros mismos (además de nuestros clientes y usuarios finales por supuesto) los que velemos por identificar los bugs y resolverlos. Los que velemos por mejorar el producto y día a día implementemos todo aquello que no fue abordado en la fase de desarrollo por los motivos que fueran.
En todo software existen múltiples oportunidades de mejora, desde crear / actualizar / mejorar la documentación técnica y funcional, a refactorizar el código fuente, automatizar pruebas, despliegues, mejora de las builds, performance de la solución de ser necesario etc. Esto del lado del software y producto, pero también pueden existir mejoras del lado de la gestión del ciclo de vida del producto que suele pasar por la implantación de herramientas (por ejemplo para gestionar incidencias), procedimientos o el correcto dimensionamiento del equipo.
Para que el servicio de mantenimiento sea proactivo, simplemente hay que tener voluntad de hacerlo proactivo. Hacerlo proactivo, implica mejorar el producto y por lo tanto, ofrecerle a nuestros clientes un servicio de mantenimiento de valor, un servicio de mantenimiento de calidad y con el que se encontrara satisfecho debido a que el software mantenido cada vez será más eficaz y eficiente haciendo más productivas a las áreas usuarias.