Sbermarket

Reforzar el equipo de un gigante de la tecnología de los alimentos

Sbermarket lleva a su puerta productos del hogar y alimentos de supermercados como METRO, Auchan y Vkusville. Los clientes pueden preparar sus pedidos a través del sitio web o la aplicación móvil, y los socios de Sbermarket se encargan del resto. El personal de compra se pasea por la tienda con una lista y selecciona únicamente los productos más frescos; después, los transportistas entregan los pedidos a los clientes.

Evrone ha ayudado a Sbermarket a mejorar su servicio digital, y nuestros desarrolladores siguen aprovechando su experiencia y conocimientos en distintos equipos internos.

El desafío: sumergirse rápidamente en un producto de nivel empresarial

En 2020, debido a la pandemia, mucha gente empezó a trabajar desde casa o incluso tuvieron que ponerse en cuarentena, lo que produjo demandas y cambios generalizados en las compras a través de Internet. Sbermarket aprovechó la oportunidad para facilitarles la vida a sus clientes, y creció exponencialmente en el comercio electrónico de alimentación debido al incremento en la adopción de productos de alimentación en línea.

Para hacerlo, era necesario formar rápidamente el equipo de desarrollo para afrontar la mayor carga de trabajo y seguir el ritmo de desarrollo de las nuevas características. Al mismo tiempo, los nuevos especialistas necesitaban experiencia y las herramientas y conocimientos necesarios para completar la formación lo antes posible y participar en el desarrollo.

Además, era necesario separar las partes del proyecto en varios servicios y, en consecuencia, también era necesario trabajar en la infraestructura. Cada microservicio tenía que estar vinculado al código, y debía configurarse la interacción de la red con otras partes. El cliente también necesitaba un equipo con conocimientos y experiencia en la implementación de estrategias de pruebas en una arquitectura de microservicios.

El equipo de Evrone ya tenía experiencia en el desarrollo de soluciones de comercio electrónico de alimentación, creando un producto de tecnología de los alimentos a gran escala centrado en la entrega a domicilio, y nuestra pila tecnológica era adecuada para Sbermarket. Nuestros especialistas superaron las exigentes entrevistas, y entramos a formar parte del equipo de Sbermarket.

La solución: desarrolladores séniores universales y controles de calidad para cualquier tarea

Durante el año, Evrone ha añadido desarrolladores de front-end, desarrolladores de back-end e ingenieros de control de calidad a los distintos equipos de proyectos de Sbermarket. Hemos ayudado a desarrollar funciones internas y externas, y también nos encargamos de la administración del conocimiento en el equipo de pruebas.

Los equipos de desarrollo de Sbermarket están divididos y son independientes entre sí, completando internamente grandes tareas en su totalidad, y los especialistas de Evrone están distribuidos entre ellos, según las necesidades actuales.

Pruebas manuales y administración del conocimiento

Sbermarket exige unos estrictos requisitos para el nivel de nuestros especialistas. Esto se debe al hecho de que hay una gran cantidad de trabajo urgente en el proyecto, y solo un especialista sénior puede integrarse rápidamente. Un especialista de nivel medio no tendrá la experiencia necesaria para hacerlo. Además, los ingenieros de control de calidad sénior deben conocer un gran número de procedimientos especializados, así como tener escenarios y tarjetas de prueba, métodos para optimizar problemas, y conocimiento de los casos necesarios que deben debatirse con el equipo antes de iniciar el desarrollo.

Al trabajar con nuestros ingenieros de control de calidad sénior externalizados, Sbermarket recibió los especialistas multidisciplinarios de alto nivel que necesitaban. Pueden cambiar entre varios equipos y afrontar necesidades urgentes sin perder el tiempo.

Además de las pruebas en sí, ayudamos con las tareas de intercambio de conocimientos. Como toda la empresa crece dinámicamente, el proceso de contratación es rápido, y los nuevos empleados necesitan estar preparados rápidamente para trabajar. Por lo tanto, uno de nuestros especialistas de control de calidad empezó a actuar como el gestor del conocimiento, supervisando y manteniendo los sistemas basados en administración del conocimiento.

El gestor del conocimiento recopila información sobre las necesidades del proyecto, procesos no transparentes e instrucciones y conocimientos que faltan; a continuación, los procesa y los almacena en un formato legible y accesible, y ayuda a otros empleados a usarlo. También deben mantener actualizada esta información, ya que puede quedarse obsoleta rápidamente.

Compartir información ayuda a los empleados justo al principio, cuando empiezan con la incorporación. Cuando un nuevo especialista se une al equipo, sabe dónde obtener toda la información que necesita para empezar: la composición del equipo, los objetivos, los resultados claves, una lista de las herramientas usadas en el proyecto, información sobre la pila tecnológica, arquitectura, características de implementación y la programación de llamadas y reuniones. También se rediseñó el sistema de incorporación entre los equipos y la base de conocimiento general de control de calidad para que fuera más sencillo compartir conocimientos entre compañeros. El nuevo sistema de administración del conocimiento se creó basándose en Confluence y permite estandarizar conocimientos valiosos.

Tareas rutinarias de front-end

Los especialistas de Evrone empezaron a trabajar en el front-end con pequeñas tareas rutinarias: cambiar texto y reemplazar imágenes y animaciones. Este trabajo nos ayudó a conocer la base de código, que era útil para la refactorización de tareas.

Por ejemplo, teníamos que cambiar el orden en que se mostraban las notificaciones y ventanas modales emergentes. Antes del nuevo diseño, se mostraban de forma caótica y superpuestas, lo que confundía a los usuarios. Después del nuevo diseño, empezaban a aparecer de una en una, por lo que quedaba claro a qué notificación se correspondía cada una.

Cambiar el protocolo de autenticación

Usar un número de teléfono para iniciar sesión de una aplicación es más seguro que usar una dirección de correo electrónico y una contraseña. Con la segunda opción, los atacantes pueden (por ejemplo) obtener acceso a su buzón mediante brechas en otros servicios. Ahora esto es imposible porque, para iniciar sesión, literalmente hay que sujetar en la mano el teléfono que recibe el SMS.

Estudiamos las pantallas representadas, analizamos el código e implementamos las funciones necesarias en el front-end. Después de publicar la nueva autenticación, ayudamos a impedir problemas con la migración de usuarios.

Si acaba de habilitar el inicio de sesión según las nuevas reglas, puede que pierda algunos usuarios, ya que muchos no cierran la aplicación, sino que simplemente la minimizan o usan una sesión web sin fin. A causa de las nuevas reglas, tendrían que volver a registrarse para una cuenta, y muchos de ellos serían reacios a hacerlo porque es complicado.

Por lo tanto, migramos a los usuarios por partes. Empezamos con los que habían comprado usando el mismo número de teléfono. Simplemente vinculamos el número usado a su cuenta para que esos clientes pudieran iniciar sesión de una nueva forma.

Para otros usuarios activos, creamos pantallas de incorporación con instrucciones para vincular un número de teléfono a una cuenta. Usando pruebas A/B, determinamos en qué fase mostrar las instrucciones con el fin de obtener tantas cuentas con teléfonos vinculados como fuera posible.

Usando estos métodos, pudimos obtener la mayor parte del público, que eran los usuarios más activos. Todos los usuarios que tuvieron algún problema fueron redirigidos al servicio de asistencia técnica, por lo que superamos toda esta fase sin pérdidas.

Crear un subsistema para pruebas A/B

Otra tarea complicada era crear un subsistema para pruebas A/B (que se usaba para la autenticación de pruebas por código de SMS). Participamos en la creación de la primera versión (literalmente, un producto mínimo viable), que cumplía los requisitos de los analistas del producto. Por supuesto, había disponibles soluciones de código abierto, pero no tenían todas las funciones necesarias, por lo que el equipo directivo decidió que tenía sentido crear su propia solución.

Este subsistema se depuró en pruebas A/A (para comprobar la distribución correcta de los usuarios) y se publicó. Sigue funcionando correctamente y ayuda a los analistas a recopilar datos.

Back-end

En el back-end, nuestros desarrolladores participaron en el enrutamiento de pedidos en las tareas de procesamiento de pagos. El enrutador de pedidos, guiado por la lógica empresarial interna, calcula cómo entregar el pedido de la forma más rápida y rentable, y determina si vale la pena o no llamar a un taxi asociado. Actualmente, seguimos trabajando en este sistema.

Se ha requerido un nuevo procesamiento, debido a la transición a una nueva pasarela de pago. Al mismo tiempo, era importante asegurarse de que los usuarios no notaran la diferencia al crear un pedido.

Aunque estos dos objetivos se abordaron en segundo plano, están relacionados directamente con los resultados empresariales. Por ejemplo, la automatización de la logística y la entrega mejorará las experiencias del usuario.

Además, nuestros especialistas ayudan con distintas API y la transición del front-end del panel de administración a una aplicación independiente.

Transferencia del panel de administración de plantillas de Rails a una aplicación de React

Los empleados del área de operaciones usan el panel de administración para añadir productos, tiendas y distribuidores, así como para gestionar los modos de funcionamiento, plazos de entrega, etc. El servicio de asistencia técnica también lo usa para gestionar los pedidos de forma manual si se produce algún problema. De hecho, todos los ajustes del sitio se controlan desde el panel de administración.

Anteriormente, el panel de administración funcionaba con plantillas de Rails, y la representación del front-end se realizaba en el back-end, lo que causaba un uso intensivo de los servidores. Ahora, estamos cambiándolo a React, y poco a poco se está convirtiendo en un proyecto independiente. A su vez, el back-end se está cambiando para proporcionar a la aplicación de React los datos necesarios mediante la revisión de puntos de conexión de la API antiguos y la creación de nuevos, lo que también exige la creación y complementación de la documentación.

Desarrollar una API universal para socios distribuidores

En el back-end, estamos trabajando en una nueva API para la integración de socios externos, teniendo en cuenta sus necesidades. Los puntos de conexión principales de esta API están relacionados con el procesamiento de pedidos, incluyendo la creación, evaluación, estado e intercambio de información de pago.

Además, a veces ayudamos a solucionar problemas de herencia, ya que puede que los métodos usados en un principio no funcionen con nuevas condiciones. Después de esta refactorización, obtuvimos mejoras de rendimiento.

El resultado

Seguimos trabajando con el proyecto de Sbermarket y añadimos nuevos miembros a sus equipos existentes. Incluso los expertos, que habían trabajado durante mucho tiempo, crecieron mediante su trabajo en el proyecto y ofrecieron más y más ventajas.

Por ejemplo, ayudamos a Sbermarket con las entrevistas, básicamente proporcionando entrevistas técnicas como servicio, ya que, a medida que el producto crece y se unen más desarrolladores, hay que prestar más atención a sus habilidades. El administrador de control de calidad, que combina las funciones de un especialista de pruebas con administración del conocimiento, ahora se implica estrechamente en la acumulación y difusión de conocimiento, pero en la escala de toda la empresa Sbermarket.

Al completarse las tareas, los desarrolladores y evaluadores siguen asesorando a otros equipos y nuevos empleados.

El crecimiento de nuestros especialistas y su capacidad de superar las exigentes entrevistas del cliente demuestran que Sbermarket ha recibido del equipo de Evrone los especialistas de alto nivel que necesitaban. Especialistas que tienen la experiencia y conocimientos necesarios para ver posibles errores en el diseño y desarrollo del servicio.

Tenemos previsto ampliar el equipo por nuestra parte y participar en el desarrollo de microservicios en Go, ya que tenemos experiencia en el uso de esta tecnología, tanto en proyectos de tecnología financiera como tecnología de los alimentos.

Si quiere externalizar pruebas de control de calidad o necesita profesionales de confianza con experiencia en comercio electrónico de alimentación que puedan integrarse rápidamente en el flujo de trabajo y reforzar su equipo de desarrollo, rellene el formulario siguiente y nos pondremos en contacto con usted para hablar sobre su proyecto.

Sbermarket es un proyecto grande y complejo, por lo que esperábamos que los especialistas no solo tuvieran sólidos conocimientos técnicos, sino también un deseo de implicarse en el producto, para comprenderlo con interés. Desde este punto de vista, el equipo de Evrone es un socio excelente. No solo cumplen con las tareas asignadas y ayudan a publicar nuevas funciones, sino que también comparten su amplia experiencia en distintas áreas: desarrollo, control de calidad y administración del conocimiento
Dmitry Chudinov
responsable de front-end de Sbermarket
Contacto
¿Tiene algún proyecto en mente?
Vamos a hacerlo realidad
Adjuntar archivo
Los archivos deben ser menores que 8 MB.
Tipos de archivo permitidos: jpg jpeg png txt rtf pdf doc docx ppt pptx.
Este sitio está protegido por reCAPTCHA y se aplican las Condiciones del servicio y la Política de privacidad de Google.