El mantenimiento de software involucra mejorar y optimizar el software después de su implementación mediante la corrección de errores, prevención de defectos y adición de nuevas funcionalidades. Existen cuatro tipos de mantenimiento: perfectivo para mejorar la calidad, evolutivo para adaptarse a nuevas necesidades, adaptativo para ajustes al entorno, y correctivo para arreglar errores. El mantenimiento de software representa dos tercios de los costos totales de un sistema a lo largo de su vida útil.