C40
C40 es una red de megaciudades del mundo concienciadas con el cambio climático. C40 apoya a las ciudades para colaborar de manera efectiva y eficaz, compartiendo conocimiento y liderando iniciativas para contrarrestar el efecto del cambio climático.
Desde 2015, llevamos apoyando tecnológicamente a C40 en su lucha por hacer del mundo un lugar mejor.
C40 Cities conecta a 96 de las ciudades más grandes del mundo que lideran la lucha contra el cambio climático, para que nos muestren el camino hacia un futuro más sostenible y saludable para todos. Dichas ciudades representan más de 700 millones de personas y un cuarto de la economía mundial, y están comprometidas con el Acuerdo de París y sus ambiciosas metas de limpiar el aire que respiramos, entre otras.
Empezamos a trabajar en este proyecto de manera conjunta con nuestros compañeros de San Francisco, Cylinder Digital, porque inicialmente C40 tenía sus oficinas en los Estados Unidos. A principios de 2018, C40 trasladó a su equipo técnico y de producto a París, que está en nuestra misma zona horaria, y entonces asumimos completo control del proyecto, gestionando al cliente y absorbiendo el 100% del desarrollo.
Tecnologías del proyecto
Ruby on Rails
El framework más popular de Ruby. Sus principales fortalezas son su reducido time to market, su mantenibilidad y su comunidad de desarrolladores.Bootstrap
Bootstrap es un framework de CSS gratuito y de código abierto dirigido al desarrollo web front-end receptivo y orientado a dispositivos móviles.PostgreSQL
PostgreSQL es un sistema de gestión de bases de datos relacionales gratuito y de código abierto que enfatiza la extensibilidad y el cumplimiento de SQL.Heroku
Heroku es una plataforma de Cloud as a Service que admite varios lenguajes de programación.La aplicación es un gestor de contenidos desarrollado a medida puramente en Ruby on Rails.
El equipo de C40 necesitaba un gestor de contenidos desarrollado a medida para su equipo de comunicaciones y marketing, para poder mantener y actualizar el contenido de una manera sencilla, rápida y eficaz. Aunque desde fuera parezca pequeña, la aplicación ha crecido mucho y cuenta con más de 50 modelos.
El panel de administración es una aplicación bootstrap pura, diseñada especialmente para un conjunto limitado de usuarios administradores, con conocimientos tecnológicos limitados.
La plataforma corre encima de una base de datos PostgreSQL y gestionamos los entornos y los despliegues mediante Heroku.
De hecho, hacemos un par de cosas interesantes con Heroku, para este proyecto:
Primero, cada pull request genera un entorno de test dedicado para la rama en cuestión, para que el cliente pueda acceder a probar los nuevos cambios sin tener que esperar a un despliegue en un entorno en concreto.
Por otro lado, el proyecto incluye una gema que replica el contenido de la base de datos de producción en los entornos de desarrollo a través de la API de Heroku. De esta manera, los desarrolladores trabajan sobre datos reales y pueden replicar los errores de manera más sencilla.
Nos gusta destacar este proyecto por su sencillez, y porque refleja muy bien nuestra filosofía de "menos es más".. Aunque heredamos el proyecto de otro proveedor, nos gusta cómo está pensado y fue fácil adaptarse a él.
El proyecto nos planteaba inicialmente dos retos. El primer reto era coordinarse con nueve horas de diferencia. Entre 2015 y 2017, el equipo de C40 estaba en San Francisco (huso horario PST), antes de mudarse a París, a un horario que nos conviene más. Cuando ellos empezaban a trabajar, nosotros ya estábamos terminando la jornada, en Barcelona, y apenas nos solapábamos en horario.
Decidimos trabajar de manera autónoma y asíncrona, planificando las tareas por adelantado: nos dejaban las tareas en un board de Trello compartido y siempre teníamos suficiente carga de trabajo para no quedarnos sin nada que hacer. Así pudimos trabajar durante dos años sin incidencia alguna, siempre entregando a tiempo lo que había que hacer.
El segundo gran reto fue heredar el proyecto de un proveedor que les cortó el servicio de manera inmediata.
En todos los traspasos de proyecto hay cosas que se pierden en el proceso: decisiones que se tomaron por parte de gente que ya no está, procesos no documentados, y otros detalles perdidos en el tiempo.
En este caso, el proveedor anterior les cortó el servicio casi sin avisar, y nosotros tuvimos que entrar en el proyecto, dando resultados desde el primer día, para que el producto y el servicio no se resintieran del cambio.
Planeamos un workflow muy específico para este proyecto para coordinarnos con el equipo de C40, asegurándonos que cada entregable y cada tarea estaban debidamente documentadas y enlazaban a todos los recursos y referencias necesarios, para que todos los miembros del equipo pudieran trabajar de manera 100% independiente.
Hacemos una llamada semanal tipo standup con los miembros de ambos equipos - inspirada en scrum - y nos sincronizamos con las cosas verdaderamente importantes: cambios de planes, decisiones estratégicas e intercambios de opiniones en cuestiones urgentes.
Trabajamos durante cinco años con ellos, de 2016 a 2021, pero como decidieron migrar toda su tecnología a PHP, no pudimos acompañarlos en esta nueva etapa.
Como empresa sin oficina, y paperless (no usamos papel), y con una fuerte concienciación en temas de sostenibilidad, nos encantó poder trabajar con C40, y esperamos volver a hacerlo en el futuro.