El "software" evoluciona sencillamente por que se debe adaptar a los cambios del entorno, sean funcionales (exigencias de usuarios), operativos, de plataforma o arquitectura "hardwar"e.