Refactorización de código legado en sistemas de gran tamaño

Normalmente el ciclo de vida de una aplicación de larga duración se puede dividir en cinco etapas diferentes: Desarrollo, Introducción, Crecimiento, Madurez y Estado de Inviabilidad. En las etapas de crecimiento y madurez  es fácil introducir nueva funcionalidad a un coste aceptable y por lo general el número de errores es todavía manejable. Sin embargo con el paso del tiempo y tras un largo periodo de mantenimiento, en muchos de estos sistemas, hay un momento en el que la situación empieza a cambiar y la aplicación se deteriora hasta que se alcanza la etapa de inviabilidad (se introducen más errores de los que se solucionan).

Como consecuencia de ello, cada vez se hace más difícil implementar nuevas características con un esfuerzo razonable, los efectos secundarios ya no son manejables y, con el tiempo, corremos el riesgo de que el proyecto se bloquee por completo. Para una aplicación qué es crítica para el negocio esto no es tolerable. Si no es posible implementar nuevas características a un costo razonable, la aplicación pierde su posición estratégica.

¿Qué se puede hacer para remediar esta situación? Hay varias alternativas, pero la que aquí nos ocupa consiste en refactorizar el código, que es una alternativa que tiene la ventaja de permitir seguir incorporando nuevas funcionalidades al sistema a la vez que se aborda la tarea de corregir los problemas estructurales identificados.

En esta conferencia se describirán técnicas y estrategias para abordar un proceso de refactorización de proyectos de gran tamaño que ya han alcanzado la fase en la que es inviable realizar tareas de mantenimiento.

  • Ciclo de vida de un sistema de larga duración
  • ¿Refactorizar o reescribir?
  • Requisitos previos
  • Técnicas de refactorización
  • Técnicas de testeo
  • Pruebas paralelas
Tipo: 
Taller
Fecha y Hora: 
Jueves, 12 Noviembre, 2015 - 16:30 a 18:00