Replantear una plataforma para multiplicar su impacto social: el caso Labdoo
Labdoo es una organización internacional presente en más de 150 países que reutiliza equipos informáticos para reducir la brecha digital y ofrecer oportunidades educativas a comunidades de todo el mundo. Su plataforma tecnológica coordina miles de voluntarios, centros de reacondicionamiento, proyectos educativos y dispositivos distribuidos globalmente.
Cuando Labdoo contactó con Natiboo, el objetivo era aparentemente sencillo: migrar su plataforma de Drupal 7 a Drupal 10. Sin embargo, tras analizar el proyecto, entendimos que una migración convencional habría trasladado años de deuda técnica al nuevo sistema.
Nuestra propuesta fue diferente: replantear la arquitectura desde cero, preservando el conocimiento acumulado durante años, modernizando la plataforma y preparándola para seguir creciendo durante la próxima década.
Hoy, tras casi tres años de colaboración, Labdoo dispone de una nueva plataforma mucho más mantenible, rápida y preparada para evolucionar, actualmente en fase de beta cerrada antes de su lanzamiento definitivo.
Hay proyectos cuya complejidad no se mide por el número de líneas de código, sino por las personas que dependen de él.
Labdoo es uno de ellos.
Esta organización internacional está presente en más de 150 países, ha colaborado con más de 3.000 centros educativos, ha entregado cerca de 50.000 equipos informáticos y ha contribuido a que más de un millón de estudiantes tengan acceso a herramientas digitales para su formación. Todo ello mediante un modelo logístico sostenible que aprovecha viajes ya programados para transportar los equipos, evitando emisiones y reduciendo costes.
Cuando Labdoo contactó con Natiboo, la petición parecía clara: migrar su plataforma desde Drupal 7 hasta Drupal 10.
Sin embargo, tras analizar el proyecto entendimos que el verdadero reto no consistía en cambiar de versión. Consistía en garantizar que una comunidad internacional pudiera seguir desarrollando su labor durante muchos años más.
Una migración que dejó de ser una migración
El proyecto nació con una planificación aproximada de seis meses.
La idea inicial consistía en migrar progresivamente los distintos módulos de Drupal 7 adaptándolos a Drupal 10.
Pero cuanto más conocíamos la plataforma, más evidente resultaba que ese enfoque únicamente trasladaría los problemas existentes a una tecnología más moderna.
Había años de evolución, código legacy, entidades altamente personalizadas, reglas de negocio complejas y una arquitectura que había crecido respondiendo a necesidades reales, pero sin una visión unificada.
Fue entonces cuando propusimos cambiar completamente la estrategia.
No queríamos migrar el pasado. Queríamos construir el futuro.
Una plataforma mucho más compleja de lo que parece
A primera vista, Labdoo podría parecer un portal de contenidos. En realidad, es una plataforma que coordina procesos logísticos y sociales distribuidos por todo el mundo.
La aplicación gestiona entidades con ciclos de vida propios como dispositivos electrónicos, viajes solidarios, centros de reacondicionamiento, proyectos educativos, equipos de voluntarios y usuarios con distintos niveles de responsabilidad. Todo ello conectado mediante reglas de negocio, permisos, automatizaciones y procesos que deben funcionar de forma coordinada.
A esta complejidad funcional se suma una infraestructura multilingüe con dieciséis idiomas, miles de usuarios registrados, numerosas entidades personalizadas y una lógica de negocio que realiza cálculos complejos en tiempo real.
Uno de nuestros objetivos fue transformar muchos de esos procesos síncronos en procesos asíncronos y apoyarlos mediante estrategias de caché para mantener una experiencia de uso fluida incluso cuando aumentara la carga del sistema.
La decisión más importante: empezar desde cero
La decisión técnica más relevante del proyecto fue también la más difícil.
Podíamos adaptar el código existente módulo a módulo o aprovechar la oportunidad para rediseñar completamente la arquitectura.
Elegimos la segunda opción.
Esto permitió reorganizar responsabilidades, separar dominios funcionales, mejorar la mantenibilidad y adoptar patrones de desarrollo mucho más modernos.
No era la alternativa más rápida. Pero sí la que ofrecía más garantías para los próximos diez años.
Mucho más que una migración
El trabajo realizado fue mucho más allá de trasladar contenidos entre versiones.
Diseñamos una nueva arquitectura modular orientada al dominio, donde cada área funcional dispone de responsabilidades claramente delimitadas.
Construimos herramientas específicas para sincronizar contenidos, preservar relaciones entre entidades, migrar permisos, mantener la integridad histórica de la información y automatizar gran parte del proceso mediante comandos y procesos de fondo.
También rediseñamos parte de la experiencia de usuario, mejoramos el rendimiento general, reforzamos la seguridad y revisamos numerosos procesos internos para adaptarlos a una plataforma mucho más preparada para evolucionar.
Una colaboración que cambió de dimensión
Hay una anécdota que resume perfectamente este proyecto.
Lo que comenzó como una migración de aproximadamente seis meses terminó convirtiéndose en una colaboración de casi tres años.
La razón fue sencilla.
Cuanto más conocíamos Labdoo, más evidente era que una migración convencional habría supuesto una oportunidad perdida.
La misión de la organización nos llevó a elevar el nivel de exigencia. Decidimos dedicar recursos adicionales para construir una plataforma capaz de acompañar el crecimiento de Labdoo durante muchos años, aunque eso implicara ampliar significativamente el alcance inicial.
Resultados
Aunque la nueva plataforma continúa actualmente en fase de beta cerrada antes de su lanzamiento definitivo, los resultados ya son visibles.
- Una arquitectura mucho más mantenible.
- Mejor rendimiento y mayor capacidad de evolución.
- Experiencia de uso mejorada para voluntarios y administradores.
- Procesos internos más robustos.
- Mayor seguridad frente a los riesgos derivados del fin de vida de Drupal 7.
- Una base preparada para seguir creciendo durante la próxima década.
Más importante aún, la plataforma conserva el conocimiento acumulado durante años sin renunciar a una arquitectura moderna.
Lo que aprendimos
Este proyecto reforzó una convicción que ya habíamos observado en otros clientes.
No todas las migraciones deberían plantearse como migraciones.
En ocasiones, la decisión técnicamente más responsable consiste en detenerse, cuestionar las premisas iniciales y preguntarse si realmente merece la pena seguir arrastrando la arquitectura existente.
En Labdoo la respuesta fue clara.
Era mejor empezar de nuevo que seguir construyendo sobre un legado que acabaría limitando el crecimiento futuro.
Conclusión
En Natiboo creemos que una buena migración no consiste en mover código de una versión a otra.
Consiste en dejar una plataforma en mejor estado del que la encontramos.
Prepararla para evolucionar, reducir riesgos y facilitar que quienes dependen de ella puedan seguir desarrollando su trabajo con confianza.
En el caso de Labdoo, esa responsabilidad iba mucho más allá de la tecnología.
Significaba ayudar a que una comunidad internacional siguiera conectando ordenadores, voluntarios y oportunidades educativas para miles de estudiantes en todo el mundo.
Y ese es, probablemente, el mayor éxito de este proyecto.