[cita requerida] El mantenimiento del software y la evolución de los sistemas fue abordada por primera vez por Meir M. Lehman en 1969.
A medida que evolucionan, ellos crecen más complejos a menos que se toman algunas medidas como refactorización de código para reducir la complejidad.
Muchos estudios posteriores sugieren una magnitud similar del problema.
Por ejemplo, muy complejo "código espagueti" es bastante difícil de mantener con seguridad.
Una técnica es el rebanamiento estático, la cual es usada para identificar todo el código de programa que puede modificar alguna variable.
Las deficiencias conocidas son normalmente documentadas en una carta de consideraciones operacionales o notas de publicación (release notes) es así que los usuarios del software serán capaces de trabajar evitando las deficiencias conocidas y conocerán cuándo el uso del software sería inadecuado para tareas específicas.
Debemos de tener en cuenta que es necesario darle mantenimiento al software ya que el continuo uso genera una serie de cambios en la configuración original del sistema, causando bajas en el rendimiento que al acumularse con el tiempo pueden generar problemas serios.
Actualmente es indispensable mantener actualizada la protección contra virus informáticos.
Por supuesto es muy recomendable usar el equipo responsablemente, ya que esto le podrá causar un gasto mayor a futuro.
Las recomendaciones son: Cuidar las páginas a las que accesa, las de música, videos o juegos regularmente traen enlaces que pueden filtrarse directamente al equipo de cómputo, tener un antivirus actualizado, hacer cada cierto tiempo un escaneado y limpieza de su PC, evitar los mensajes SPAM que llegan en los correos electrónicos, estos mensajes llegan normalmente con remitente desconocido y se almacenan en la carpeta Correo no deseado, generalmente son solo virus que no hacen mucho daño, pero también puede costar hasta el formateo del equipo y con esto, la pérdida de archivos importantes.