Uma breve introdução aos Design Systems
Vamos voltar aos anos 60 quando a evolução tecnológica possibilitou que computadores fossem mais acessíveis e performáticos. Esse “boom 💥” tecnológico, trouxe grandes impactos mercadológicos, mas também revelou um problema substancial das empresas de desenvolvimento: elas não conseguiam acompanhar esse avanço acelerado o que tornava os softwares difíveis de manter e extremamente propensos a erros.
Em busca de uma solução para isso, em 1968, durante a NATO Conference on Software Engineer, Douglas Mcllroy apresentou o desenvolvimento baseado em
, que consistia na reutilização de blocos de códigos que, por fim, gerariam escalabilidade e aumentariam consideravelmente o potencial de programação. Esta metodologia é utilizada até hoje e permite entregas rápidas e de qualidade. No entanto, quando se trata da “conversa” entre design e programação, o cenário muda.
O grande desafio enfrentado atualmente é fazer com o que o design também seja escalável, consistente e consiga acompanhar a velocidade de desenvolvimento. Você pode até aumentar o número de designers trabalhando no projeto, mas não garantirá ganhos em performance e ainda amplificará problemas de inconsistência e manutenção. Por conta disso, o Design System ganhou destaque na indústria de softwares.
Quando implementado da forma correta, gera ganhos exponenciais em velocidade de desenvolvimento, consistência de UI (User Interface) e experiência do usuário, além de reduzir custos e
, entre designers e engenheiros.Mas nem tudo são flores. Como o próprio nome diz, é um sistema que alimenta outros produtos. Isso significa um investimento considerável, acompanhamento, muito aprendizado e manutenções contínuas. Tenho o costume de chama-lo de “mostrinho de sete cabeças” já que, apesar das propostas de resultados maravilhosos, é adjacente a uma complexidade que, por muitas vezes, torna-se desgastante. Por isso, se sua empresa ainda não implementou um Design System, recomendo uma boa avaliação prévia.
Design System não é só sobre design
A estrutura de um DS, apesar de paracer ter um grande foco em bibliotecas de componentes, consiste em decisões que podem ser traduzidas em princípios, diretrizes, processos, padrões,
e o famoso . Mas, nem por um instante, você deve considerá-lo como um projeto exclusivo de designers.
Exemplo estrutural de um Design System
De forma prática, ao analisar o exemplo acima de uma estrutura de Design System, você consegue imaginar um designer implementando
, componentes, padrões e templates sem a participação ativa de desenvolvedores front-ends, back-ends e DevOps? Consegue imaginar como seriam as decisões tomadas sem respaldo do núcleo de negócio? E os processos criados completamente apartados de diretrizes do Service Design? A eficácia deste sistema, portanto, tem extrema dependência da cocriação.É extremamente colaborativo
Principalmente em um modelo de negócio Customer Centric, a entrega de uma experiência homogênea é fundamental em todos os pontos de contato com o cliente. Em outras palavras, todos os departamentos devem estar alinhados a uma identidade de experiência. O Design System não fica de fora.
Tratando-se de um sistema respaldado em decisões de design (e negócio! 🧐 Não podemos esquecer!!!), podemos ter vários outros setores consumindo e realizando contribuições como, por exemplo, o departamento de marketing que, além de fazer uso de princípios e diretrizes para desenvolver suas campanhas, também pode ter sua própria biblioteca de assets,
, processos e .Isso significa que podemos centralizar o Design System para atender a todos e também permitir que todos sejam proprietários dele. O sistema ainda vai distribuir soluções mais assertivas, já que reunirá as necessidades do cliente na perspectiva colaborativa de cada setor. Além disso, o ganho em consistência e facilidade para a escalar o design – uma vez que os departamentos estão inseridos “na mesma página” – é descomunal.
Significa também que, como qualquer produto, está destinado à melhorias contínuas, inclusive provenientes de usuários finais por meio de um time mediador. Por exemplo: o usuário de um produto pode fornecer um feedback para a squad responsável, que pode impactar no Design System.
Claro que para qualquer melhoria, modificação e nova implementação no Design System, existe um processo de governança que vai garantir que não haja impacto no que já foi implementado em todo ecossistema da empresa.
Não é simples e nem fácil construir um Design System. Exige infraestrutura, estratégias bem elaboradas, investimento e claro: a concordância de todos os
. É preciso entender que seus resultados são a longo prazo e que ele nunca vai cobrir 100% dos seus produtos. Por isso a empresa precisa pensar bem antes de tomar a frente de um. Benefícios? Existem milhares. Desafios? Milhões!Bote na balança! ⚖️