A.
Reescribir el software desde cero usando un lenguaje más moderno.
B.
Agregar nuevas funcionalidades que el cliente solicitó a última hora.
C.
Modificar el código interno para mejorar su estructura sin cambiar su comportamiento externo.
D.
Corregir errores críticos que hacen que el sistema se bloquee.