Industria: Transporte
Productos de JetBrains utilizados: Qodana, IntelliJ IDEA
Tamaño de la organización: +200 empleados
Tamaño del equipo: 6 equipos, 60 desarrolladores en total
Pila tecnológica: Java, Spring, Jenkins
Moovit es el creador de la aplicación número 1 para desplazarse al trabajo. Las aplicaciones para iOS, Android y web de Moovit ofrecen a los usuarios una experiencia de movilidad inteligente para llegar fácilmente a su destino utilizando cualquier medio de transporte público y compartido. Los usuarios de transporte público pueden beneficiarse de los billetes móviles para planificar, pagar y viajar con los servicios de transporte público. Moovit, introducido en 2012, ya da servicio a más de 1500 millones de usuarios en más de 3500 ciudades de 112 países y en 45 idiomas.
El transporte público es fundamental para el trabajo, la educación, la sanidad y mucho más, pero puede resultar complicado y estresante. Moovit, el creador de la aplicación número 1 para desplazarse al trabajo, disponible para iOS, Android y web, ofrece a los usuarios una experiencia de movilidad inteligente para planificar y llegar fácilmente a su destino utilizando el transporte público y compartido. Moovit ha guiado a más de 1.00 millones de usuarios en más de 3500 ciudades de 112 países.
Con tanta gente dependiendo de la información y orientación sobre el transporte público, incluida la información en tiempo real, la estabilidad del sistema es fundamental. El equipo de infraestructura de Moovit es responsable de mantener la estabilidad de todo el sistema de Moovit, tanto para proyectos B2C como B2B. El equipo se enfrentó al importante desafío de identificar problemas que llegaban a la producción e interrumpían los servicios de la empresa. Una de sus principales preocupaciones era la detección de NullPointerExceptions
, que son causas comunes de interrupciones y que se cree que han influido de algún modo en el incidente de CrowdStrike.
Para reducir los riesgos de las operaciones de servicio y mantener una alta calidad del código, Moovit empezó a buscar una herramienta de análisis estático de código que cumpliera los siguientes criterios:
Por el momento, seis equipos de Moovit utilizan Qodana, con un total de 60 desarrolladores. Dado que Qodana se basa en el mismo moto de análisis que IntelliJ IDEA, los desarrolladores de Moovit han sincronizado sus perfiles de inspección tanto en IntelliJ IDEA como en Qodana.
El proceso resultante implica los siguientes pasos:
«La ventaja clave era que no necesitábamos predefinir una lista de inspecciones, ya que Qodana supervisa una amplia gama de problemas de alta gravedad. Simplemente revisamos su lista predeterminada de problemas críticos y solo eliminamos los que no eran relevantes para nuestras necesidades.»
— Amit Weinblum, jefe de equipo de infraestructura en Moovit
El equipo de infraestructura informó de menos problemas de producción, especialmente los que podrían haberse detectado durante el desarrollo, gracias a la detección y resolución proactivas en una fase más temprana del proceso.
«Aún somos bastante novatos con Qodana, pero ya ha habido dos casos importantes en los que he pensado: "Han salvado a mi equipo de trabajar hasta altas horas de la noche". Ha tenido un impacto positivo en mi trabajo, ya que ahora tengo más confianza en que nos alertará de los problemas críticos.»
— Dor Rud, jefe de equipo de backend de Moovit
Moovit valoró la posibilidad de crear sus propias reglas personalizadas (diferentes de las inspecciones estándar de Qodana), personalizar la gravedad de los problemas y añadir o eliminar fácilmente inspecciones de su perfil, todo lo cual les permitía supervisar los cambios de código que realmente les importaban.
Los desarrolladores apreciaron la precisión del análisis y la integración con IntelliJ IDEA, que les permitió resolver los problemas más rápidamente y con menos interrupciones en su flujo de trabajo.
Otro factor importante fue el poder de la marca JetBrains, que ayudó a convencer a los desarrolladores para que adoptaran Qodana como un paso adicional de análisis de código. Confiaban en sus resultados porque ya eran entusiastas de IntelliJ IDEA y otros productos de JetBrains. En última instancia, su velocidad y fiabilidad mejoraron la percepción positiva del análisis estático dentro de la organización.
«Francamente, nos preocupaba la reacción violenta que tendríamos que gestionar al introducir Qodana. Suele ser muy difícil imponer una política de empresa a los desarrolladores. Gracias a la buena reputación de JetBrains y al hecho de que Qodana informa de problemas realmente críticos, los desarrolladores no ignoran Qodana ni buscan soluciones alternativas, sino que solucionan los problemas.»
— Dor Rud, jefe de equipo de backend de Moovit
«Como cualquier herramienta de análisis de código, Qodana añade un paso adicional al proceso y ralentiza el ciclo de desarrollo, pero es un inconveniente a corto plazo. A largo plazo, ha estabilizado nuestro sistema de producción y ha permitido a los desarrolladores evitar solucionar problemas demasiado tarde en el proceso. Estamos viendo el cambio de paradigma, en el que los equipos de desarrollo siguen las políticas y se ahorran unas cuantas noches de insomnio con Qodana.»
— Amit Weinblum, jefe de equipo de infraestructura en Moovit