En el equipo de desarrollo de Runroom llevamos usando un par de años lo que se conoce como un Tech Radar. Se trata de un mapa (o una herramienta) que nos ayuda a visualizar las tecnologías y metodologías que estamos utilizando en el desarrollo de productos, así como las novedades emergentes en el mercado que podríamos querer incorporar.
Existen diversas variantes de Tech Radar, cada una reflejando las particularidades del equipo que lo desarrolla y su metodología. Nosotros hemos optado por un enfoque que nos permite tener un listado de ítems fácilmente actualizado y ordenado. La idea es que cada año lo actualizamos para saber qué tecnologías nos quedamos, cuáles no y cuáles queremos probar.
El mapa de tecnologías que se presenta aquí es la unión de cada uno de los Tech Radar de los equipos de Frontend y Backend en Runroom. Después de que cada equipo hiciera su proceso de creación los pusimos en común y al final hemos conseguido uno para todo el equipo de desarrollo.
Uno de los debates más significativos surgió al inicio, cuando nos propusimos definir y personalizar las categorías típicas de estos mapas: Adopt, Trial, Assess y Hold. Como es habitual, cada empresa adapta estas categorías a su contexto, y nosotros queríamos establecerlas de manera que mantuvieran su relevancia año tras año. Tras una reunión conjunta, llegamos al siguiente consenso sobre el significado de cada categoría en nuestro Radar Tech:
Era crucial para nosotros definir claramente cada categoría, para facilitar la incorporación de nuevos elementos sin dudas o ambigüedades. Al final, cada categoría ha sido dotada de ítems únicos, y en principio, no debería haber repeticiones de un mismo ítem en diferentes categorías.
<aside> <img src="/icons/arrow-southeast_green.svg" alt="/icons/arrow-southeast_green.svg" width="40px" /> Ítems que estamos usando en la mayoría de proyectos, con los que podemos trabajar en producción y que queremos seguir usando. También nos interesa ir migrando proyectos que no los estén usando hacia estos ítems.
Deployer
Docker + Docker Compose
Github
Hexagonal Architecture
Jenkins
NextJs
Node
NPM
PHP
PHPUnit
PostgreSQL
PostCSS
React
Sonata
Storybook
Symfony
Typescript
Vite </aside>
<aside> <img src="/icons/arrow-southeast_yellow.svg" alt="/icons/arrow-southeast_yellow.svg" width="40px" /> Ítems que queremos probar durante una iteración y que tienen potencial para sustituir a otros que ya usamos. Estos también pueden ser ítems interesantes a nivel de negocio o tener buenas perspectivas en el mercado actual.
Astro
Cloudfare Tunnels
Expo
Feature Flags
Kamal
Kotlin
Langchain
Mailpit
Meilisearch
Oxlint / Biome
Party Town Js
TailwindCSS
Sendgrid
Strapi
</aside>
<aside> <img src="/icons/arrow-southeast_blue.svg" alt="/icons/arrow-southeast_blue.svg" width="40px" /> Ítems que se están usando en algunos de nuestros proyectos y que queremos seguir indagando en ellos. Estos ítems pueden estar en staging y/o producción y los estamos usando para validar su adopción completa o migrarlos en otras iteraciones.
Caddy
Chromatic
CSS Modules
Datadog
Domain Driven Design
MSW
Playwright
Redis
Stape.io sGTM
Trunk Based Development
Vitest </aside>
<aside> <img src="/icons/arrow-southeast_red.svg" alt="/icons/arrow-southeast_red.svg" width="40px" /> Items que queremos dejar de usar y mantener. Cuando se haga un proyecto nuevo no incluir nada de lo que esté en esta lista.
Cypress
Formik
Jest
jQuery Validate
Lazysizes
Mailhog
Scss/Sass </aside>