Un sistema es evolucionable si acepta cambios que le permitan satisfacer nuevos requerimientos. En otros productos de ingeniería las modificaciones van precedidas de actividades como estudios de factibilidad,diseño asociado, aprobaciones, evaluaciones y finalmente la introducción de la modificación. En el caso del software, en general la implementación del cambio se comienza sin realizar ningún estudio de factibilidad,dejando únicamente el diseño original y sin documentación a posteriori, esto es sin actualizar las especificaciones para reflejarlo, lo que hace que cambios futuros sean cada vez más difíciles de aplicar.