El mantenimiento de software es un proceso mediante el cual un programa de computadora se modifica o actualiza después de su lanzamiento. Si bien el término «mantenimiento» puede implicar reparaciones y correcciones de errores, solo una parte de este proceso está destinada a este propósito, denominado «correctivo». Gran parte del mantenimiento del software se utiliza para el trabajo «adaptativo» que garantiza que un programa continúe siendo eficaz y utilizable en entornos cambiantes, así como procedimientos «perfectivos» que mejoran la funcionalidad. El mantenimiento “preventivo” se utiliza para facilitar el proceso en el futuro, proporcionando documentación y herramientas adicionales para que las actualizaciones posteriores sean más fáciles de desarrollar.
Una gran parte del mantenimiento del software se realiza a través de parches creados por un desarrollador y luego lanzados al público. Estos archivos son instalados por un usuario de computadora y modifican la funcionalidad y el diseño del programa base en un sistema. Esto se hace después del lanzamiento de un programa, aunque el desarrollo inicial del software debe tener en cuenta el mantenimiento.
El mantenimiento de software correctivo es el proceso de desarrollar cambios en un programa que repara errores o soluciona problemas. Esto no agrega ninguna característica nueva, a menos que ya existan pero no se puedan usar debido a un error en la programación. Solo alrededor de una cuarta parte de todo el mantenimiento del software se utiliza para corregir problemas, sin embargo, los usuarios del programa a menudo lo consideran el elemento más importante.
Una gran parte del mantenimiento de software se denomina «adaptativo», que se utiliza para ajustar un programa para que funcione en un nuevo entorno. Los programas suelen estar diseñados y desarrollados para funcionar en un determinado sistema operativo (SO). Si bien algunos programas pueden funcionar en versiones más recientes, hay muchos programas que no pueden hacerlo. Un parche adaptable a un programa podría alterar el código para permitir que funcione correctamente en un nuevo sistema, manteniéndolo actualizado y utilizable.
El mantenimiento de software perfecto se utiliza para agregar nuevas funciones a un producto y realizar cambios que pueden afectar directamente a un usuario. Una empresa podría lanzar un programa de procesamiento de texto, por ejemplo, que incluye algunas funciones de corrección ortográfica. Si publican un parche que actualiza el diccionario en el programa y crea opciones adicionales de corrección de errores, entonces se consideraría un mantenimiento perfecto. Estas actualizaciones suelen ser bastante menores, ya que las revisiones importantes generalmente requieren el lanzamiento de una nueva versión o «cliente» de software.
Los desarrolladores también pueden trabajar en el mantenimiento preventivo del software, que se utiliza para simplificar aún más los cambios futuros. Después del desarrollo, una empresa puede darse cuenta de que existe la posibilidad de que se produzca un error que aún no se ha desarrollado. Es posible que publiquen un parche que solucione este problema antes de que realmente se convierta en un problema. También se puede realizar una limpieza de código y documentación adicional para que el mantenimiento futuro sea más fácil o innecesario.