Si tu proyecto está mal documentado con muchos casos límite desconocidos, es mejor optar por incremental debido a la estrategia de reversión más fácil. Por último, pero no menos importante, la seguridad. Si tu aplicación no cumple con la seguridad, Big Bang puede ser la única opción para ti. Hablemos un poco más sobre la estrategia Big Bang. En la literatura, a veces leerás que Big Bang es arriesgado, un patrón de último recurso, incluso un anti-patrón. Y es totalmente cierto cuando hablamos de un monolito Java de 20 años. Mejor no tocar nada. Pero nuestras aplicaciones front-end son generalmente relativamente pequeñas y relativamente modernas. Y a veces es simplemente más barato y rápido optar por un Big Bang, especialmente cuando no hablamos de una reescritura completa, sino de una actualización de versiones antiguas de bibliotecas modernas a sus últimas versiones.
Debo admitir que me gusta la estrategia Big Bang. Sí, necesitas congelar el desarrollo de características durante semanas o meses. Pero luego terminas con una arquitectura más limpia, herramientas modernas, sin restos de legado, una vida más fácil durante las auditorías de seguridad y un estado limpio para futuras actualizaciones. E incluso en el diagrama, parece bastante simple. Haces una auditoría y planificación, luego congelas el desarrollo de características. A continuación, realizas el trabajo de migración. Luego tienes una fase de integración y pruebas. Y luego sales en vivo con, por supuesto, algún plan de reversión. Suena bien, ¿verdad? E incluso cada migración parece simple en los diagramas de arquitectura. Bueno, la realidad no es tan romántica, lo que nos lleva a la primera historia de la vida real.
Fue una migración de Angular 7 al Angular moderno. Y esta aplicación ya estaba en producción, pero en modo de mantenimiento. Nadie la actualizó durante años. De repente, los interesados decidieron extenderla significativamente y agregar muchas características nuevas. Y los alentamos a migrar al último Angular primero, principalmente por razones de seguridad. Éramos un equipo de cuatro desarrolladores, y la migración nos llevó unos cuatro meses, junto con la estabilización y la corrección de errores. No quiero profundizar en los detalles técnicos de la migración porque variará en tus proyectos. Lo que quiero decirte es cómo se veía realmente para que puedas aprender de mis errores, no de los tuyos. Así que, en primer lugar, es fácil subestimar. Y escuché muchas veces, Sylwia, ¿por qué lleva tanto tiempo? Porque parece fácil. Solo actualiza Angular.
Comments