Lo que tienes que saber antes de implementar un Design System
Por: Sebastián Narváez & Jose Estrella
“Equivocarse es de sabios” dice la cultura popular, refiriéndose a que los seres humanos aprendemos cada vez que nos equivocamos. Existen estudios científicos que comprueban que nuestro cerebro aprende más de los errores que de los aciertos; esta mentalidad de aprendizaje continuo es fundamental para nuestra transformación personal y profesional. A partir de esta idea, queremos compartir los aprendizajes que tuvimos al trabajar con el design system de uno de nuestros clientes, en este pudimos identificar algunas fallas, que para nosotras significaron oportunidades de mejora. Según el viejo dicho de Heráclito: “nadie puede bañarse dos veces en el mismo río”, por lo que, a lo largo de este artículo compartiremos nuestras experiencias con ustedes, para que así después de leerlo tengan la sabiduría necesaria para que en futuros proyectos eviten bañarse en el mismo río que nosotros.

Antes de hablar sobre nuestras experiencias, empecemos con un par de cuestionamientos, ¿Qué es un design system? y ¿Qué objetivo cumple? Como todos los conceptos alrededor de la tecnología y el diseño, existen varias definiciones, sin embargo, desde nuestra experiencia, nos gusta mucho la manera en la que Alla Kholmatova en su libro Design Systems lo describe como: “Una colección de patrones interconectados y prácticas compartidas coherentemente organizadas para servir al propósito de un producto digital”. Esta definición es fundamental y para comprenderla la dividiremos en 3 partes:
- Una colección de patrones interconectados: Por patrones interconectados nos referimos a todos los elementos unitarios que combinados, nos ayudan a construir un producto, por ejemplo: colores, tipografías, botones, textos entre otros.
- Prácticas compartidas: Se refiere al lenguaje y a la manera en que decidimos usar dichos patrones de una manera colaborativa y transparente con nuestros equipos.
- Organizadas para servir al propósito de un producto digital: Si hablamos de un producto/servicio enfocado en resolver un problema específico de los usuarios, un design system debe ayudar a cumplir el propósito de dicho producto y de cómo se construye, se mantiene, se organiza y se documenta. Tengamos en cuenta que el agilizar la salida a producción o la reducción de costos también puede ayudar a cumplir el propósito de un producto.
En resumen, un design system va más allá de ser una mera guía visual, sino que tanto los patrones, como las buenas prácticas, como una comunicación transparente con el equipo aportan a conseguir esta visión holística centrada en el propósito de un producto y de una organización.
Ahora que ya sabemos qué es y cuál es el objetivo de un design system, hablemos sobre esta experiencia que tuvimos. Durante 8 meses fuimos asignados a un proyecto que tenía muchos retos a nivel de consultoría y sabíamos que el cliente tenía un nivel alto de madurez en temas de producto y principios de experiencia de usuario. Entramos al proyecto con muchas expectativas y también con mucha incertidumbre de lo que encontraríamos. En general, el engagement fue muy bueno, generamos mucho impacto en el cliente a nivel técnico y también a nivel cultural, a pesar de ello, no sucedió lo mismo en cuanto a las prácticas que se utilizaban para mantener su design system. Para el tiempo en el que nos integramos al proyecto, este tenía problemas críticos, los cuales vamos a resumir a continuación junto con nuestras recomendaciones de cómo evitarlos en sus futuros proyectos:
- La organización de su equipo no era la más óptima: Existen varios modelos de equipos detrás de un design system, que ya han sido probados por varias organizaciones (leer más). Consideramos que el problema de nuestro cliente radicaba en usar un modelo solitario centralizado para una organización cuya magnitud y equipo disponible permitía una mejor administración. Este modelo creó una dependencia a los demás equipos de desarrollo, así cuando estos querían alimentar o consumir el mismo el proceso se volvía bastante engorroso. Lo recomendable sería organizar el equipo de tal modo que optimice la administración y consumo del producto fomentando una cultura más colaborativa y alineada a las necesidades del negocio.
- No lo hagamos por moda: Desde hace algunos años, los Design Systems se han vuelto muy populares en la industria de la tecnología. Sin embargo, antes de diseñar y construir uno, deberíamos estar seguros de que en realidad lo necesitamos y que tenemos la capacidad necesaria, ya que un design system puede resultar una inversión considerable. Recordemos que un design system es un producto vivo y en continuo crecimiento.
- ¿Design System o Guía de Estilo?: Esta es una pregunta clave que deberíamos hacernos antes de construir un design system. Si nuestro objetivo principal es mantener la consistencia en el UI, si tenemos un deadline muy apretado, si no tenemos la capacidad de dedicar un equipo al design system o si estamos desarrollando un MVP, a lo mejor necesitamos únicamente una guía de estilo. En etapas tempranas una guía puede ser suficiente si fomentamos una comunicación clara entre los integrantes de nuestro equipo y si nos ayuda a cumplir el proposito de la organización y del producto que se está desarrollando.
- Un Design System no es una librería, es un producto: Finalmente, nuestro descubrimiento más importante fue que, regresando al concepto de Alla Kholmatova, un design system en realidad es un producto en constante crecimiento. Por lo tanto este debería responder a un problema claro, a una organización y objetivos claros, contar con un plan a corto, mediano y largo plazo y sobretodo debe permitir la experimentación y la exploración de nuevas ideas que aporten al propósito al que sirve.
En definitiva, es importante determinar si un design system es apropiado para el proyecto en el que estamos trabajando. Antes de decidir implementarlo, es crucial tener en cuenta los puntos mencionados anteriormente y si se decide desarrollarlo es muy importante tratarlo como un producto vivo, que necesita una planificación adecuada, una documentación constante y un equipo dedicado a mantenerlo al día y de acuerdo a las necesidades que se presenten.
Disclaimer: las declaraciones y opiniones expresadas en este artículo son las de l@s autor@s y no reflejan necesariamente las posturas de Thoughtworks.
¿Quieres formar parte de Thoughtworks Ecuador? Aplica a nuestras vacantes en nuestra página web https://thght.works/3F3T4JA