05. Reescribir el proyecto desde cero no es la solución
Como consultor independiente, a lo largo de más de una década ayudando a equipos y organizaciones en varios países a construir software me encuentro frecuentemente esta petición de tirar todo y volverlo a reescribir, a lo que yo planteo ¿y qué haremos de manera diferente la próxima vez para que dentro de un año no estemos pidiendo volverlo a tirar y a reescribir desde cero?
Algunas personas tienen la idea de que con nueva tecnología, nuevos frameworks, nuevas librerías, nos irá mejor. Que si añadimos Redux y la última versión de React y Sagas y toda esa cantidad de nueva tecnología que va saliendo nos irá bien por el hecho de que la utilizan en Netflix o en Meta o en las grandes tecnológicas. La realidad es que no han parado de surgir nuevas librerías y frameworks cada vez más y más rápido y no hemos avanzado en la capacidad de mantener el software con mayor facilidad. Así que, sin duda, esta no puede ser la solución, o, por lo menos, no la única clave que nos ayude a hacer el código más mantenible. De hecho, con frecuencia se tiende a hacer el código aún más complejo.
Hay otra corriente que piensa que si añadimos más arquitectura y más infraestructura también nos irá mejor, que si utilizamos microservicios y colas y eventos y Kubernetes entonces conseguiremos un sistema que será mucho más fácil de mantener en el tiempo y, de nuevo, el efecto que se suele conseguir es el contrario: tenemos mucha más complejidad en el sistema de la que deberíamos tener y eso nos dificulta el mantenimiento.
0 comentarios