BMW

BMW

Scaling customer-centric product development at BMW Group with Flutter

Goal

Durante muchos años, el equipo de aplicaciones móviles de BMW se enfocó principalmente en la versión de iOS de su aplicación de acompañamiento de vehículos: las aplicaciones BMW & MINI Connected. Sin embargo, en 2018, se dieron cuenta de que las discrepancias de diseño y funciones entre sus ofertas para iOS y Android habían crecido demasiado. Necesitaban encontrar una manera de garantizar que las aplicaciones ofrecieran la misma funcionalidad a todos los consumidores, independientemente del sistema operativo móvil, la marca BMW y MINI, sin aumentar significativamente los costos ni ralentizar la velocidad de desarrollo de funciones. Además de la complejidad de unificar iOS y Android, el BMW Group debe gestionar aún más complejidad en el lado del producto. Debido a diferentes regulaciones y requisitos locales, las aplicaciones móviles del BMW Group existen en una amplia gama de variantes diferentes en más de 45 países.

Para abordar el problema, el equipo tenía dos objetivos. Desde una perspectiva comercial, querían poder lanzar periódicamente sus productos en todas las marcas, plataformas y regiones de manera simultánea, con las mismas capacidades de funciones basadas en los comentarios de los clientes y los objetivos comerciales. Y para lograrlo, querían crear una plataforma que fuera amigable para los desarrolladores, escalable para los desarrolladores y de alto rendimiento, proporcionando experimentación segura y despliegue continuo.

Why Flutter?

Como estaba fuera de discusión duplicar los equipos de desarrollo de iOS para Android, lo que duplicaría los costos y el esfuerzo, se evaluó una solución multiplataforma. Un pequeño grupo de trabajo evaluó varios frameworks multiplataforma, incluido Flutter. Al principio, al equipo le preocupaba que Flutter no fuera lo suficientemente maduro para la escala en la que BMW necesitaba operar, por lo que diseñaron varias pruebas de concepto con cada uno de los otros frameworks. Sin embargo, todas las demás plataformas se descartaron cuando el equipo decidió no utilizar contenido basado en la web para ofrecer una mejor experiencia de usuario.

Their Solution

En octubre de 2019, un grupo seleccionado de ingenieros de BMW se reunió en Múnich para discutir cómo avanzar con Flutter. Pronto se dieron cuenta de que ya no estar limitados por una plataforma específica les permitiría adoptar una estructura organizativa más flexible y basada en dominios, donde un equipo podría enfocarse en el estado de conexión y la abstracción de la comunicación, mientras que unos pocos equipos trabajaban en el núcleo de la plataforma de la aplicación, y varios equipos más eran libres de enfocarse en funciones nuevas e innovadoras para el usuario final. Flutter recibió luz verde y los equipos comenzaron a reescribir todas las variantes de la aplicación para las diferentes plataformas, países y marcas, pero esta vez, con una única base de código.

“La nueva plataforma de la aplicación está construida sobre tres pilares: facilidad de uso, seguridad y confiabilidad. Proporciona un conjunto de funciones diseñado de manera consistente que abarca todas las marcas, basándose en los comentarios y el comportamiento de uso de nuestros clientes.”

Dr. Nicolai Kraemer, vicepresidente de la plataforma Offboard de BMW Group

Results

Menos de un año después de comenzar, la aplicación My BMW se lanzó en julio de 2020 y se ha establecido en 47 países de cinco continentes como una interfaz universal que proporciona al usuario una experiencia fluida entre el teléfono móvil, el vehículo y el mundo digital. La aplicación My BMW proporciona tanto una interfaz directa entre el conductor y su vehículo, como un canal de comunicación con los concesionarios de BMW y la marca BMW.

Los desarrolladores móviles del BMW Group han establecido una plataforma, llamada internamente “Mobile 2.0 Platform”, que permite compilaciones automáticas de cada marca, mercado y sistema operativo, pruebas automatizadas y despliegue hacia el entorno móvil y los backends. Esto significa que cada día se activan varias compilaciones y con cada compilación de la aplicación se compilan, prueban y despliegan automáticamente 96 variantes. Hasta octubre de 2021, se han compilado más de 10,000 versiones de cada variante de la aplicación. La capacidad de construir y diseñar una sola vez permitió al equipo avanzar mucho más rápido. Pero el rápido tiempo de entrega no fue lo único que entusiasmó al equipo sobre la transición a Flutter. Ya no tenían que preocuparse por administrar múltiples bases de código, lo que resolvió de manera efectiva el problema de la disparidad de funciones.

Todos los clientes de BMW y MINI disfrutarían ahora de una sola experiencia, independientemente de la plataforma que utilizaran para acceder a la aplicación, lo que también mejoró los comentarios de los usuarios, especialmente para la aplicación de Android, históricamente desatendida. En definitiva, el equipo pudo avanzar más rápido, mantener la consistencia y deleitar a los usuarios al hacer el cambio a Flutter.