Reemplazar, cambiar o incluso evolucionar una plataforma de software con años de desarrollo ya aplicados nunca es tarea fácil. A su vez, el software tiende a crecer y cambiar como si de un ser vivo se tratara, haciendo cada desarrollo un poco más complejo que el anterior, forzando a llevar documentaciones, wikis, seguir procesos, y ralentizando nuevos proyectos.
En esta charla hablaremos de cómo en Ticketea, que lleva 7 años funcionando con éxito, estamos acometiendo importantes cambios internos, tanto reescrituras de componentes existentes como nuevas piezas intentando modificar lo menos posible los flujos de negocio actuales, aplicando patrones de diseño como parallel change, event bus, o event sourcing. Pondremos como ejemplo el desarrollo de nuestra nueva API de compras (usando Python 3), la cual escucha determinados sucesos o eventos que suceden en la plataforma principal (construida con PHP y Python 2), gestiona todo el flujo de compra y emite de vuelta los datos para reincorporarlos a dicha plataforma, permitiendo pensar un sistema diferente, tiene las mismas restricciones.
También estamos intentando implantar como objetivos o metas para todo proyecto las siguientes ideas y principios:
Pragmatic developer who has been working professionally for more than 15 years in varied software development fields. A happy backend engineer at Ticketea, worked previously at Tuenti, Minijuegos, CartoDB among others.