En cuanto a las super apps, como un portal todo en uno que integra múltiples productos y servicios, normalmente comienzan con un producto central y luego integran más servicios para brindar a los clientes una experiencia fluida. Independientemente de la industria a la que pertenezca o de los servicios que quiera integrar, la construcción de plataformas siempre es el paso clave en el camino hacia convertirse en una super apps.
Cuando hablamos de plataformas, no nos referimos solo al modelo de negocio de la plataforma, sino también a las plataformas de capacidades empresariales y de infraestructura.
Las plataformas de infraestructura allanan el camino hacia la producción. Cuando se aplican a las super apps, esto generalmente significa desarrollar una estrategia eficiente de integración y lanzamiento que pueda mejorar el tiempo de comercialización y reducir la carga cognitiva de los equipos de desarrollo.
Las plataformas de capacidades empresariales capturan y exponen las capacidades empresariales existentes, lo que facilita la integración de nuevos productos. Cuando se trata de super apps esto suele significar aprovechar las capacidades existentes y aumentar la reutilización, para permitir servicios internos y externos y acelerar el crecimiento empresarial.
Los modelos de negocio de plataforma se construyen sobre las otras dos. Las super apps sirven como el frente y las interfaces para todos los productos y servicios, facilitando las interacciones entre todas las partes y siendo la forma más directa de llegar a los clientes.
Con un enfoque en las plataformas de capacidades empresariales y de infraestructura, este artículo analizará los tres principales puntos problemáticos que hemos enfrentado al ayudar a nuestros clientes a construir super apps.
Las plataformas se construyen en silos
En algunas organizaciones, las plataformas son construidas por equipos completamente separados o incluso diferentes departamentos, con planes de entrega, procesos y presupuestos de inversión separados. Este modelo de desarrollo de plataforma en silos frecuentemente resulta en una falta de alineación con las prioridades del negocio. Las necesidades empresariales no se satisfacen de manera oportuna. Las funciones construidas por las plataformas pueden ser técnicamente importantes, pero no pueden recibir retroalimentación inmediata porque estas funciones no se utilizan lo suficientemente rápido en productos y servicios reales.
La colaboración entre el equipo de plataforma y los equipos de características es un proceso en evolución. En las primeras etapas del desarrollo de la aplicación, el equipo de plataforma debe colaborar estrechamente con los equipos de características para determinar las prioridades de la plataforma basadas en los requisitos empresariales, o incluso formar parte de un mismo equipo. A medida que el negocio crece, el equipo de plataforma debe ajustar su colaboración con los equipos de características. Deben ver a los equipos de características como clientes y centrarse en proporcionar capacidades de manera efectiva como servicios interna y externamente desde la perspectiva de toda la super app.
La esencia de las plataformas es proporcionar soporte a las empresas y, en última instancia, proporcionar valor a los usuarios de la aplicación. No se pueden crear plataformas simplemente por crearlas.
Mala organización del desarrollo de productos y servicios en paralelo
Es común dividir el negocio en varios equipos para el desarrollo paralelo y acelerar la entrega y solicitar comentarios de los usuarios lo antes posible. Sin embargo, los modelos de desarrollo paralelo mal organizados plantean diversos problemas. Las interacciones inevitables entre las características empresariales resultan en costos de comunicación complejos; la falta de pautas entre equipos resulta en código desordenado y dependencias poco claras; se desarrollan repetidamente características y funcionalidades similares en diferentes equipos, lo que resulta en una falta de reutilización, etc.
Existen herramientas y prácticas maduras en el frontend web para abordar problemas similares, como el micro frontend y el monorepo, pero en el móvil, esas prácticas todavía están en prueba. Con experiencia práctica en proyectos reales, descubrimos que, independientemente de la estrategia y las herramientas, un modelo de desarrollo basado en contratos y APIs puede reducir los problemas en cierta medida.
Cada módulo empresarial define su capacidad como APIs, y los demás solo deben interactuar con ella a través de las interfaces expuestas. De esta manera, se establecen restricciones en las dependencias empresariales, lo que requiere que el equipo se alinee en el contrato antes de sumergirse en el desarrollo.
Los equipos de características y de plataformas trabajan juntos para capturar los componentes comunes y las capacidades empresariales existentes desde una perspectiva global, y visualizan automáticamente esas APIs en un espacio compartido, lo que permite al equipo utilizarlo como una referencia rápida y, por lo tanto, reduce el esfuerzo duplicado potencial.
Las APIs encapsuladas también pueden eliminar la fricción y ocultar la complejidad de otros equipos, lo que les permite centrarse en entregar productos y servicios más rápido a los clientes.
Establezca contratos de equipo, como la interacción basada en API y los límites de propiedad, con las mismas reglas básicas en mente, para que la colaboración entre equipos sea más eficiente.
Las integraciones empresariales siempre tienen prioridad sobre la infraestructura
Debido a su valor directo, el desarrollo de características empresariales siempre tiene una prioridad más alta que las tareas técnicas, como mejorar la eficiencia y calidad del desarrollo. Los puntos problemáticos asociados con esta priorización se amplifican al desarrollar super apps, especialmente en lo que respecta a la construcción de infraestructura.
Una de las principales diferencias entre las aplicaciones móviles y otras plataformas es que, independientemente de cuántos productos y servicios se integren con la aplicación, todos deben empaquetarse y lanzarse en las tiendas de Apple y Google Play para que los usuarios los descarguen. A medida que se integran más servicios en la aplicación, notamos que el equipo de desarrollo dedica una cantidad significativa de tiempo a la integración y distribución. A menudo, lleva tiempo generar paquetes de prueba debido a las dependencias y conflictos entre los servicios. La integración de servicios lleva tiempo durante el lanzamiento, y los problemas con cualquier servicio durante el proceso pueden poner en peligro el lanzamiento puntual de toda la aplicación.
Construir una infraestructura de aplicación eficiente y automatizada es la base más crítica para mejorar la eficiencia y calidad del desarrollo y permitir que la aplicación se lance rápidamente al mercado.
Diseñar una estrategia de pruebas multicapa e introducir la automatización en la etapa adecuada para detectar problemas con funciones de negocio específicas de manera oportuna.
Automatizar la integración de todos los productos y servicios para identificar rápidamente dependencias y conflictos. Y automatizar el proceso de empaquetado de la aplicación para facilitar pruebas oportunas.
Establecer un ciclo de lanzamiento fijo y automatizar el proceso de lanzamiento para reducir la carga de lanzamientos frecuentes y el riesgo potencial para el control humano.
Recopilar automáticamente datos de la aplicación, como la tasa de fallos, los registros de errores, y así sucesivamente, para facilitar el análisis de datos, monitorear el rendimiento de la aplicación y resolver rápidamente problemas graves.
La construcción de una super app es un viaje evolutivo, y las plataformas sirven como base para apoyar la evolución de las topologías de negocios, técnicas y de equipo. Siempre debemos crear métricas de éxito y evolucionar las plataformas a lo largo del camino.
Aviso legal: Las declaraciones y opiniones expresadas en este artículo son las del autor/a o autores y no reflejan necesariamente las posiciones de Thoughtworks.