Cómo Cazoo está construyendo su negocio para continuar creciendo

Cazoo ha pasado de ser una incipiente empresa de comercio electrónico con la ambición de transformar la forma en que las personas compran coches de segunda mano, a ser hoy un retail multinacional, que cotiza en la Bolsa de Nueva York, valorado en 8 mil millones de dólares americanos. 

¿Cómo lo han hecho? Bob Gregory, Chief Architect de Cazoo, se ha sentado con Steve Lydford, Regional Director de Codurance London y Matt Blecher, Principal Software Craftsman de Codurance para charlar sobre cómo Cazoo se ha convertido en el unicornio de más rápido crecimiento del Reino Unido. También han hablado sobre las decisiones técnicas, organizativas y arquitectónicas que se tomaron al construir la plataforma Cazoo, los fundamentos que hay detrás de ellas y algunos de los resultados que han sostenido y como todo ello ha acelerado el negocio mientras crece a una escala sin precedentes.

Accede al vídeo sobre esta charla aquí 

El negocio es la última ampliación creada por el emprendedor del año Alex Chesterman, fundador de las historias de éxito Zoopla y LoveFilm. Alex tenía la ambición desde el principio de transformar las ventas tradicionales de coches de segunda mano  y hacer que el proceso de compra fuera tan fácil y agradable como cualquier otra compra de comercio electrónico on line.

Cazoo ha vendido más de 40.000 vehículos, no solo ofrece ventas de coches usados, sino que también compran autos para revenderlos, ofrecen financiación y se están expandiendo a la Unión Europea. El negocio es complejo y abarca el comercio electrónico, la logística y la entrega de última milla, el reacondicionamiento de vehículos y la preparación para la venta, las soluciones financieras y las operaciones de backend.

Para respaldar este crecimiento masivo, la plantilla de Cazoo también ha aumentado significativamente a 3000 empleados que trabajan en casi 50 equipos. El cometido de Bob Gregory es definir y garantizar la implementación exitosa de la arquitectura, las prácticas y las decisiones tecnológicas que guían el crecimiento continuo y sostenible del negocio.

Elección de la tecnología sin servidor

Cazoo optó por una arquitectura sin servidor, y en lugar de preguntar por qué construir con sin servidor Bob pregunta "¿por qué no tener sin servidor por defecto?" Es demasiado esfuerzo construir desde cero; si el equipo de ingeniería va a mantener la velocidad con el negocio, sería mucho más efectivo que los ingenieros de Cazoo invirtieran en construir y mantener la plataforma en lugar de aprovisionar máquinas (a los ingenieros les gusta construir cosas sin servidor ya que es bastante sencillo).

AWS permite a los ingenieros experimentar con seguridad y resolver problemas de forma rápida, además es económico y escalable. Los sistemas sin servidor reducen la dependencia en un gran equipo de operaciones, ya que no es necesario aplicar parches y el mantenimiento es más sencillo. 

"Somos mejores que Amazon en la venta de coches, así que es ahí donde debemos invertir nuestro tiempo"

¿Cómo funcionan los equipos en la visión tecnológica de Cazoo?

La clave es la simplicidad; se proporcionan directrices sencillas a los equipos de ingeniería, pero se mantiene un buen grado de autonomía que los empodera y les da libertad para experimentar. Algunos de los principios rectores de Cazoo son:

  • Fomentar las mejores prácticas - Pair programming, XP, TDD, DevOps

  • Desplegar varias veces al día, planificar el trabajo utilizando prácticas como Event Storming, Collaborate 

  • Si quieres construir algo nuevo, utiliza Typescript, implementa en AWS Lambdas

Al dar autonomía a los equipos, se crea un consenso compartido y las personas tienen el espacio para experimentar sobre una base de pautas en común que garantizan que lo que están construyendo es coherente con todo lo demás.

Contratación y retención de talento

Cazoo contrata, mantiene y retiene el talento de los ingenieros. Es fácil incorporarse a la organización; siempre que se conozca un lenguaje orientado a objetivos, se captarán los principios básicos. También ha ayudado a la contratación el hecho de tener un solo lenguaje en el back y el frontend. 

También es vital invertir en capacitación. Cazoo introdujo un programa de entrenamiento de una semana al que asisten los nuevos miembros del equipo y en el que se cubren las tecnologías y las prácticas necesarias para el desempeño de sus funciones. Como la empresa está creciendo tan rápidamente, el programa de iniciación también permite a los nuevos miembros hacer amigos y sentirse más asentados.

Prácticas de ingeniería 

Ofrecer soluciones rápidas es una necesidad, lo que puede dificultar el mantenimiento de la calidad. Esto se ve contrarrestado por el hecho de que el equipo directivo de Cazoo entiende el valor de las mejores prácticas de ingeniería como XP, TDD, pair programming, continuous deployment y otras similares, por lo que estos valores están integrados en la cultura de toda la organización. 

La organización también utiliza la observabilidad cuando construye prototipos y luego los envía en pequeños incrementos a diario. Utilizan la observabilidad para hacer preguntas sobre el sistema en producción y para proporcionar datos que informen sobre el funcionamiento de la empresa y las decisiones futuras.

Adaptación al cambio

Cazoo es una empresa compleja y polifacética con muchas partes móviles. Por lo tanto, los bucles de retroalimentación son vitales. La compra de un coche de segunda mano no es un proceso típico de comercio electrónico, ya que el producto que se adquiere es único (sólo hay un vehículo específico disponible). El ciclo de pedido es muy complejo, por lo que los bucles de retroalimentación son fundamentales siempre que se produzca un cambio durante el proceso de compra (por ejemplo, si un comprador cambia de dirección, esto puede repercutir en el acuerdo de financiación, por lo que se requiere un nuevo comprobante de dirección, etc.).

Cazoo ha adquirido muchas otras empresas (8 hasta ahora y es probable que se anuncien más) que vienen con software y procesos heredados - hay un desafío con la integración de toda esta tecnología legacy en la plataforma de Cazoo; por lo tanto, es más rápido y consume menos tiempo simplemente terminar la vida de la tecnología legacy y migrarla a la plataforma AWS de Cazoo.

Proceso RFC y arquitectura 360

El proceso de solicitud de comentarios (RFC) de Cazoo está en funcionamiento y le permite a los ingenieros obtener y recibir comentarios con nuevas ideas.

Todas las RFC tienen que estar escritas y deben incluir lo que quieres conseguir, cuáles son las consecuencias previstas, qué ayuda necesitarás para hacerlo realidad y demostrar tu proceso de pensamiento.

Son útiles para los nuevos miembros del equipo, ya que pueden consultar las RFC y ver lo que otros están pensando. Ha sido aún más útil desde que la pandemia del Covid 19 obligó a los equipos a trabajar a distancia, ya que es una forma estupenda de dar a conocer las ideas y obtener una retroalimentación temprana.

Las RFC, por su naturaleza, te obligan a pensar con lentitud, dándote tiempo para desarrollar tus pensamientos y someterlos al papel. 

Sin embargo, Cazoo ha descubierto que las RFC no sirven para tomar decisiones, por lo que parte de la RFC consiste en definir el proceso de toma de decisiones: si uno está personalmente dispuesto a aceptar las consecuencias del cambio que sugiere, puede realizarlo. Tener las RFC documentadas permite a otros mirar el historial y ver cómo se tomó la decisión.

¿Cuáles son los principales desafíos?

Uno de los principales retos que Bob y sus equipos han encontrado en una empresa de rápido crecimiento es que todo el mundo es nuevo. Si no se presta la debida atención, esto puede provocar disfunciones o desviaciones. Esto ha contribuido a poner de manifiesto la importancia del diseño organizativo y por qué una buena gestión de las personas es fundamental para aumentar sus capacidades y retener el talento. Como dice Bob:

"Se necesita un fuerte liderazgo tecnológico y de personas".

El hecho de que una empresa tenga equipos autónomos que construyen cosas diferentes puede provocar silos. Para asegurarse de que pueden trabajar eficazmente en toda la organización, Bob quiere reducir el número de equipos y crear más colaboración entre ellos.

Sin embargo, también reconoció que Cazoo ha hecho muchas cosas bien y que cualquier disfunción sentida es consecuencia de este nivel de crecimiento sin precedentes:


"Construimos esto, vendemos coches, cotizamos en bolsa, así que hemos hecho muchas cosas bien".

¿Qué ha valido la pena?

El grupo debatió cuáles han sido los factores clave del éxito. Bob explicó que, entre otras cosas, se insistió en que todos utilizaran Typescript para lograr coherencia y facilidad, que la arquitectura sin servidor ha sido excelente, que la arquitectura basada en eventos y AWS Eventbridge han funcionado bien para permitir la autonomía y el acoplamiento flexible, además de ayudar a escalar,

También ayuda a tener las mejores prácticas para construir mejores productos y enviarlos más rápido. TDD ha ayudado a Cazoo a escalar y mantener la calidad cuando se construye a gran velocidad. 

Contar con ingenieros que apliquen la visión de Bob y trabajen directamente con el equipo ha garantizado que los sistemas estén bien diseñados y que se adopten las mejores prácticas.

Proyecciones

A medida que la empresa crece, Bob examinará los costes con más detenimiento y estudiará cómo asignar sus cuentas de AWS a las cargas de trabajo individuales, por ejemplo, logística, finanzas, etc. Esto ayudará a gestionar los costes de forma más eficiente.

Cazoo también se está lanzando en la UE este año y ahora están desplegando las ventas de vehículos comerciales tras la adquisición de Vans365, lo que sin duda impulsará más requisitos, características y desafíos para que los equipos de ingeniería los resuelvan. 

A medida que la empresa sigue creciendo y evolucionando, considera que los equipos tecnológicos de Cazoo están en buena forma para aprovechar cualquier cosa que surja ahora o en el futuro.