Cómo eBay modernizó la página más importante de nuestra plataforma

by tiempoantenacom

Fondo

La página ⁢”Ver artículo” de eBay es una de las más visitadas en nuestra ‍plataforma de comercio electrónico, con más de 250 millones de cargas diarias. A pesar de su importancia, esta página no ha sido actualizada en⁣ los últimos ⁢diez años.

El rápido ⁣crecimiento y desarrollo de la plataforma ha hecho que el código base sea cada‍ vez más difícil de mantener. Esto ha obstaculizado nuestra capacidad de innovar y ofrecer ⁤una experiencia de calidad a nuestros ⁤clientes. ‍Como se muestra⁤ en la ‍Figura 1, hemos terminado con una pila de ‌tecnología heredada que requiere trabajo duplicado para su implementación en nuestras cuatro plataformas (escritorio, web​ móvil, iOS​ y Android).⁤ Para seguir innovando, era crucial modernizar este sistema y el proceso de desarrollo asociado.

Figura 1: La pila ​heredada que impulsa “Ver artículo” requiere trabajo duplicado. Tres servicios distintos cargan los⁤ mismos datos⁤ y los transforman para cada plataforma.

Objetivos

Nuestro principal objetivo‌ era ⁤mejorar la velocidad​ desde el‌ primer día, en lugar de realizar un esfuerzo prolongado con una gran recompensa al final. Para lograrlo, nos enfocamos en mejorar ‌la experiencia y productividad ‍de los desarrolladores. Queríamos que las nuevas funciones se escribieran solo una vez y adoptamos tecnologías y prácticas modernas para facilitar la contratación ⁢y retención de⁤ talento, así como la adición de funciones ​potentes. Además, era fundamental documentar ‌el nuevo código para facilitar ⁣la resolución de ‍problemas, el mantenimiento y ​la extensibilidad en el futuro.

230317 ⁤Ver artículo ​blog técnico v1 inc 1600x imagen 3

Tabla ⁣1: Objetivos⁤ para mejorar el rendimiento de “Ver artículo” según las métricas⁤ clave de ⁢”The Accelerate Book”.

Estrategia

Para lograr nuestros objetivos, desarrollamos una nueva⁤ arquitectura (ver Figura 2) que eliminaría el trabajo duplicado y cumpliría con todas nuestras metas.

230317 Ver artículo blog ‍técnico v1 inc 1600x imagen 4

Figura 2: La nueva arquitectura elimina la necesidad de duplicar el trabajo en múltiples plataformas, ​lo que facilita la entrega de mejoras a ⁣nuestros clientes.

Si bien dibujar un diagrama es sencillo, la realidad de ⁤nuestros tres servicios heredados ⁣(servicio monolito de escritorio, servicio de experiencia nativa y servicio web móvil) implicaba ‍un esfuerzo de varios años para crear ⁣un servicio equivalente bajo la nueva arquitectura. Además, la continua introducción de ‌nuevas características complicaba ‍aún más el desarrollo del‌ nuevo servicio. Por lo tanto, desarrollamos una estrategia que ⁢nos​ permitió migrar fragmentos de código ⁤más pequeños a lo largo del tiempo (ver Figura 3). ⁤Nuestro plan ‌se dividió en los siguientes pasos:

  1. Introducir ⁢un nuevo servicio entre la capa de datos y el sistema heredado.
  2. Los ⁣servicios‌ heredados⁢ obtienen ​sus datos ​a través del nuevo servicio.
  3. Implementar versiones modernas de cada módulo en el nuevo servicio y agregar sus datos al flujo de datos.

La migración exitosa de un servicio heredado a una nueva⁣ arquitectura

En el mundo de‍ la tecnología, la migración de un​ servicio heredado a una nueva arquitectura ⁢puede ser un desafío. Sin embargo, en un reciente proyecto, un equipo de desarrolladores logró duplicar la velocidad de desarrollo al migrar su servicio heredado a una nueva⁢ arquitectura modular. En este artículo, exploraremos ⁢el proceso de migración y los resultados obtenidos.

Fase dos: casi completada

Actualmente, ​el equipo se ⁣encuentra ​en la fase dos de la migración, con aproximadamente el 90‌ por ciento de los módulos ya ‍migrados ​a la nueva arquitectura. Esta⁣ nueva estrategia ha⁤ permitido aumentar la velocidad de desarrollo en todas ‌las áreas del proyecto.

  1. Eliminación de la duplicación de ‍trabajo

    Todas las⁣ plataformas compatibles ⁣ahora reciben los ‍mismos datos del mismo servicio, lo que ha eliminado la duplicación de trabajo en un tercio.

  2. Ganancias de velocidad del ⁤200 por ciento

    La migración módulo por​ módulo ha permitido desbloquear ganancias de velocidad del 200 por ciento en nuevas características relacionadas desde el comienzo del proyecto.

  3. Experiencia del ⁤desarrollador mejorada

    El equipo ha experimentado una ⁤serie de mejoras en la experiencia del desarrollador, incluyendo una incorporación ⁣más fácil de nuevos miembros al equipo, ‍fusiones de ​código más rápidas y una⁣ mayor productividad general.

    1. Más fácil incorporación de nuevos miembros al equipo gracias a la documentación ⁤precisa y a la tecnología moderna con la que ya ⁢están familiarizados.
    2. Fusiones de código más rápidas debido a un proceso de automatización más ⁣eficiente.
    3. Aumento de la productividad general gracias a mejoras en ⁣la legibilidad del código, la documentación⁢ y‌ la estructura del ⁣proyecto.
    4. Todas las funciones nuevas ahora ‍se escriben solo una vez y son compatibles de inmediato con las cuatro plataformas.

Estas mejoras se reflejan en las métricas clave del proyecto, como se muestra en ⁣la Tabla‌ 2. El ​equipo ha logrado ⁢cumplir o superar todos los objetivos y ha alcanzado el estatus de élite.

Un aumento del 200 ⁢por ‌ciento en la velocidad

La culminación de estas mejoras es un‌ aumento del 200 por ciento‌ en la velocidad. Lo más sorprendente es que este aumento se ha visto desde el inicio del proyecto y se ha mantenido constante durante cada migración de módulo. Con el proyecto a punto de finalizar, el ⁢equipo ya ha logrado una reducción del 50 por ciento en ⁣el esfuerzo necesario para mejorar nuevos productos.

Aprendizajes y lecciones

La migración⁢ de cada módulo ⁤comenzó con una inmersión profunda en el código heredado relacionado. ‍A medida que el equipo descubría nuevos casos de uso, se ​hizo evidente que la generación de documentación completa del sistema heredado no estaba brindando el valor esperado. Se decidió cambiar de enfoque y centrarse en​ un estudio‌ rápido de ​los módulos heredados⁣ para⁤ generar un resumen de alto nivel. ⁣Luego, se confió en la ingeniería​ inversa para crear los nuevos módulos con documentación completa solo sobre el nuevo código.

Los primeros módulos migrados siguieron un enfoque holístico que revisó todas⁢ las partes del código que interactuaban con él, incluyendo el cliente y la capa de​ visualización. Sin embargo, algunos cambios en la experiencia del ​usuario tuvieron un impacto negativo en los⁢ clientes, lo que llevó​ a ajustes y pruebas ⁣adicionales. Como resultado, el equipo aprendió la importancia de separar completamente la modernización​ del código back-end​ de cualquier cambio de comportamiento de cara al ⁤usuario.

En general, el‌ proyecto ha demostrado la importancia de la flexibilidad y la iteración‍ continua. El equipo ha cultivado una cultura que ​desafía constantemente las decisiones y suposiciones, lo que ‌ha sido fundamental para el éxito del‍ proyecto.

Conclusión

La migración exitosa de un servicio heredado a⁤ una nueva arquitectura‌ modular ha permitido duplicar la velocidad de ⁣desarrollo de un equipo. Este‍ logro ha sido posible⁤ gracias a una cuidadosa planificación, ejecución y compromiso ‌por ⁤parte del liderazgo ejecutivo. El ‍proyecto ha demostrado la importancia de ser flexible y estar dispuesto a⁢ iterar en un proyecto ambicioso como⁢ este.

Increíble equipo logra‌ duplicar la velocidad en eBay

Después ​de dos años de arduo trabajo, el proyecto para ‌duplicar⁣ la velocidad en eBay está a​ punto de alcanzar su objetivo. Con más del 90 por ciento del trabajo ⁣completado, nuestro increíble equipo ha logrado​ desbloquear ganancias de velocidad desde el principio y continuar obteniendo más a lo largo del cronograma.

Un⁤ enfoque paso ⁢a​ paso

La estrategia paso a paso implementada por nuestro equipo ha sido clave para alcanzar este hito. En lugar de esperar a que el proyecto se complete por completo, hemos logrado‌ desbloquear inmediatamente ganancias de velocidad al inicio del proceso. Esto nos ha permitido duplicar nuestra capacidad para responder rápidamente a las necesidades de nuestros clientes⁣ y mantenernos como líderes del mercado.

Un equipo dedicado y perseverante

Nada de esto hubiera sido ‌posible sin el increíble equipo ⁣que se unió ⁣para resolver este desafío. Queremos expresar nuestro más sincero agradecimiento a todos los que han participado en esta ‍misión, trascendiendo los límites‍ del equipo. Su perseverancia y trabajo duro han⁢ sido fundamentales para lograr⁤ este ‍éxito.

Además, queremos agradecer especialmente a Jamie Iannone, CEO de eBay, por iniciar este programa y por ⁢su apoyo ‌constante a lo​ largo de todo el proceso.

Con este⁢ logro, eBay demuestra una vez más su ⁣compromiso ‌con la excelencia y su capacidad para adaptarse rápidamente a ⁣un mercado en ⁤constante evolución.

You may also like

Leave a Comment