Design Systems
por Caio Calderari
Uma visão geral do assunto
que vai dar o que falar em 2018.
HELLO!
My name is Caio Calderari
Designer
UPX Technologies
Meetup
Organizador
desde 2005.
Formado em Publicidade e Propaganda
Metrocamp Campinas
Youtube
U&I Design
2017
2018
UX Design
Design Systems
O que é um
DESIGN SYSTEM?
O que é um
DESIGN SYSTEM?
Sistema
de design
Dãhr!
É obvio!
O que não é um
DESIGN SYSTEM?
Style guide
UI design patterns
brand guide
etc...
DESIGN SYSTEM
É uma galeria de estilos visuais , componentes, e outras informações documentadas por um indivíduo, time ou comunidade em forma de código ou arquivos de ferramentas de design.
Existe para servir o desenvolvimento de produtos possibilitando seu desenvolvimento de forma mais ágil, escalável e consistente.
DESIGN SYSTEM
Style guide
pattern library
brand guide
Paleta de Cores, Tipografia, Grids, Ícones
Templates, Módulos, Componentes, Elementos (Atomic Design)
Manual e regras, comportamento, informações e documentos.
https://material.io/guidelines/
https://polaris.shopify.com/
https://polaris.shopify.com/
DESIGN SYSTEM
extras
tom de voz
do produto
cultura de design
princípios de design
processos de design
valores do time
valores da marca
e o que mais for importante.
Porque você precisa ter um Design System?
Motivos
para criar seu Design System em 2018
A importância de um bom DESIGN aumentou
1.
Motivos
para criar seu Design System em 2018
competição crescente entre empresas
2.
Motivos
para criar seu Design System em 2018
diferenciação pelo design e experiência
3.
Motivos
para criar seu Design System em 2018
soluções precisam de mais agilidade
4.
Motivos
para criar seu Design System em 2018
bom design precisa também ter velocidade
5.
Motivos
para criar seu Design System em 2018
aumento crescente de pessoas na equipe
6.
Motivos
para criar seu Design System em 2018
geração de novas ideias e inconsitência
7.
Motivos
para criar seu Design System em 2018
o design precisa ser consistente e escalável
8.
e como resolver tudo isso?
DESIGN SYSTEM
consistência
Escalabilidade
velocidade
+
+
SINGLE
SOURCE
OF
truth
como começar meu
DESIGN SYSTEM
ONDE EU TRABALHO?
Seu design system não será construído de uma só vez.
processo contínuo
e incremental
Visa melhorias futuras e manter consistência.
se tornará escalável
ao longo do seu desenvolvimento.
Let's DO IT!
OK, mas Como?
CHECKLIST
design system
Após estes primeiros passos, organize retrospectivas para melhorias futuras.
1 - Crie uma base para seu processo de design.
2 - Documente todas as inconsistências em sua interface.
3 - Consiga apoio de toda a equipe para aceitar a ideia do design system.
4 - Organize um pequeno time responsável pelo design system.
5 - Crie sprints para desenvolvimento do design system.
6 - Execute as primeiras 10 sprints do design system.
Ou faça tudo do seu próprio jeito,
MAS FAÇA.
Vamos lá!
Mão no mouse...
Você já tem um produto?
Crie um inventário
Faça um inventário dos seus elementos, contextos, cores, tipografias, patterns e etc.
1.
Brad Frost
“...uma coleção compreensiva de pedaços e peças que compõem sua interface.”
AUTOR DO CONCEITO ATOMIC DESIGN
inventário
Dica: Isso pode ser feito no seu programa de design, em um documento, apresentação, etc. O importante é reunir e catalogar estas informações.
crie um catálogo de todos os seus elementos
Tire screenshots de elementos e cenários comuns,
encontre as inconsistências e documente-as.
inventário
Dica: Entenda se o código é modular o suficiente de forma que você possa usar seus componentes para criar uma biblioteca de elementos categorizada.
Fale com os front's!
Entenda a arquitetura da sua aplicação. Tente encontrar compatibilidade na maneira que os módulos são montados
em relação aos seus arquivos de design.
inventário
Dica: Sincronizar os nomes das cores com variáveis CSS, assim seu time saberá qual cor utilizar e facilitará o desenvolvimento.
revise as cores utilizadas
Você poderá notar tons semelhantes sendo utilizados na aplicação, tente reduzir este número e categorizar as cores e suas variáveis.
Anote tudo, reorganize e categorize as cores e grupos.
inventário
Dica: Anote se existem processadores de CSS atuando sobre estilos de fontes, é importante anotar essas variações também.
revise a tipografia
Identifique todos os tamanhos e variáveis de fontes existentes no seu projeto. Identifique H1, H2, H3, H4, parágrafos e etc.
inventário
Dica: Envolva seus amigos front-ends e verifique como está sendo feita a implementação destes ícones, se é feita por meio de imagens, svg’s, fontes, etc.
revise os ícones
Analisando se existem mais de 1 biblioteca ou estilos de ícones sendo utilizados na mesma aplicação.
Será que é realmente necessário manter mais de um estilo?
Será que é possível reduzir o uso de ícones diferentes?
inventário
Dica: Especifique os tamanhos escolhidos para locais específicos e também os grids da aplicação e como funcionam em um documento.
revise seus grids
Analise o uso de grids e espaçamentos nos seus layouts, tente listar inconsistências e padrões que são adotados a fim de ajustá-los ou manter como padrão para o futuro.
inventário
OMG!
Análise realizada e
inventário pronto, e agora?
suporte o projeto
Busque suporte de sua equipe e gestores da sua empresa. Agora é hora de começar o desenvolvimento do design system.
2.
marque uma reunião
É hora de vender essa ideia. Marque uma reunião com seu time para apresentar a proposta de criação de um design system na sua empresa e apresente os materiais coletados por você durante o processo de criação do inventário.
suporte ao projeto
reunião do time
apresente o inventário
Apresente e explique o processo realizado para construir o inventário.
reunião do time
Apresente as inconsistências encontradas no projeto
• Mostre porque elas podem prejudicar a experiência do usuário durante a utilização.
• Mostre como elas impactam negativamente o processo de desenvolvimento.
reunião do time
Apresente a construção de um design system como solução para estes problemas.
reunião do time
Explique sobre construção de um design system
Será um processo em constante evolução e que montar um time para este projeto pode ser uma ideia interessante.
reunião do time
Designers e desenvolvedores precisarão trabalhar de maneira integrada e conjunta contribuindo com a construção do design system.
reunião do time
Consiga uma aprovação clara de toda a equipe
Para seguir adiante e realizar o projeto de construção do design system.
tudo certo?
Repita estes passos com seus gestores e stakeholders para que todos estejam sabendo
e de acordo com este projeto.
reunião dos big bosses
traduza para o business
Nesta reunião você pode adicionar alguns pontos que mostram a importância deste passo para os negócios, velocidade de desenvolvimento, design e ux, entre outros fatores que deixam mais claro a importância para pessoas que tem uma visão mais voltada para negócios e gestão de empresas.
Aprovadíssimo?
É agora que a coisa vai rolar!
110%
monte seu time
Defina as skills que você precisa ter em seu time e
encontre pessoas que as tenham para montar e manter o design system.
3.
Crie uma alocação muito bem definida
Determine o tempo para ser utilizado
trabalhando no desenvolvimento do design system.
seu time
Defina papéis e funções claras no time
Isso facilita tomadas de decisões durante o processo. Defina quem será o líder do time e quem estará fazendo a maioria das decisões.
seu time
defina tempo de sprints
e reuniões
Você pode se basear em técnicas de agile e scrum, e após cada grupo de sprints para realizar uma retrospectiva e definir os próximos passos e evoluções do projeto.
seu time
tome decisões
Antes de começar, defina com sua equipe alguns critérios importantes como:
4.
princípios de design
Defina princípios de design bem claros, melhorar interações, melhorar aparência, ser mais simples, ser mais rápido, etc.
decisões e critérios
design do zero?
Montaremos este design system do zero ou partiremos dos elementos que já existem hoje?
decisões e critérios
utilizaremos recursos de terceiros ou existentes?
decisões e critérios
novas tecnologias?
Utilizaremos uma tecnologia que já possuímos conhecimento ou começaremos a utilizar uma nova tecnologia neste projeto?
decisões e critérios
como utilizaremos?
Como o design system será utilizado?
Apenas em um produto ou em vários produtos?
decisões e critérios
quebraremos em etapas?
Começaremos por uma parte em específico ou múltiplas partes divididas em pequenas equipes?
Defina metas e milestones para acompanhamento.
decisões e critérios
comunicação do projeto
Comunique e mantenha registros das decisões importantes para toda a equipe e até mesmo para toda a empresa se necessário. Deixe todos na mesma página.
decisões e critérios
...agora sim, partiu construção:
paleta de cores
Defina suas cores primárias, cores de base, cores secundárias, tons de cinza, etc.
5.
defina e organize
Defina e agrupe e organize, deixe as informações visíveis e fáceis de serem visualizadas ou acessadas.
Ex: Formato em RGB, Hexadecimal, CMYK, etc.
paleta de cores
padronize nomes
Implemente sua paleta de cores em variáveis CSS. Se desejado você pode utilizar variáveis de CSS para obter padrões de tons mais claros e escuros a partir da sua cor original.
paleta de cores
Fale com seu front!
Teste extensivamente as mudanças.
Anote as melhorias e comunique as pessoas de produto.
Crie uma boa documentação.
Finalize sua paleta de cores.
paleta de cores
lembre-se:
tipografia
Defina a tipografia e suas escalas de tamanhos utilizadas no seu design system.
6.
defina e organize
Escolha fontes aprovadas, bem utilizadas e consolidadas, isso ajudará na compatibilidade.
Defina tamanhos consistentes organizadas em uma escala lógica que pode se adaptar em diversos locais da aplicação, restrinja o número de variações dentro do possível.
tipografia
nomenclatura
Você pode utilizar variáveis CSS para controlar os tamanhos de fontes.
Defina uma boa nomenclatura para os tamanhos adotados, tente sincronizar código e arquivos de design com o mesmo padrão de nome, isso vai facilitar em vários aspectos.
tipografia
Teste extensivamente as mudanças.
Anote as melhorias e comunique as pessoas de produto.
Crie uma boa documentação.
Finalize sua escala de estilos tipográficos.
tipografia
lembre-se:
Ícones
Defina qual será a biblioteca de ícones ou quais grupos de ícones serão utilizados.
7.
defina e organize
Defina qual será a forma de implementação dos ícones. SVG, Font, etc. Tente manter uma consistência e única forma, se possível. Pense tanto na utilização dentro da ferramenta de design como na aplicação no front-end.
Ícones
Se mudar de tecnologia, faça testes primeiro em ambientes separados para garantir o funcionamento.
Teste extensivamente as mudanças.
Anote as melhorias e comunique as pessoas de produto.
Crie uma boa documentação.
Finalize sua biblioteca de ícones.
Ícones
lembre-se:
padrões
Tente definir o básico de padrões de estilos e espaçamentos, para facilmente identificar e manter padrões de elementos e grids.
8.
defina e organize
Coloque exemplos claros de como eles funcionam. Liste elementos reutilizáveis, módulos, componentes, estados, variações, design patterns, grids, espaçamentos, etc.
padrões
crie processos
Siga alguns processos rigidamente: Ao terminar um elemento, ele deve ser colocado na galeria final e documentado tanto em softwares de design como na versão em código.
padrões
teste
Sempre que um novo elemento for criado ou modificado ele deve ser testado antes de ser adicionado ao design system final e ao ambiente de produção.
padrões
componentize
Com uma série de elementos e regras já existes você poderá montar componentes maiores dentro do seu design system.
padrões
Crie blocos de páginas ou elementos compostos que podem ser reutilizados em vários locais da aplicação. Isso trará agilidade e escalabilidade ao desenvolvimento. Vale documentar tudo isso para facilitar o uso no dia a dia.
Teste extensivamente as mudanças.
Anote as melhorias e comunique as pessoas de produto.
Crie uma boa documentação.
Finalize sua biblioteca de padrões e componentes.
Padrões
lembre-se:
E por fim
retrospectiva
É hora de conversar com a equipe.
10.
Após a realização de diversas sprints é importante conversar com seu time.
retrospectiva
• Entender pontos de melhoria.
• Problemas ocorridos.
• Levantar soluções para o futuro.
• Avaliar como foi todo o processo até o momento.
retrospectiva
levante questões
O que fizemos bem?
O que aprendemos?
O que poderíamos fazer diferente da próxima vez?
O que poderia nos ajudar a ter sucesso como time?
retrospectiva
individualmente responda
Como foi esta sprint pra você?
Qual foi seu maior impedimento?
Se você pudesse ter feito algo diferente ou mudar algo, o que seria?
O que neste projeto te fez ficar acordado durante a noite?
retrospectiva
Sucesso!
Agora você já pode começar a criar seu design system!
pronto para encarar este desafio?
referências
e mais sobre o design systems:
Vários exemplos de design systems:
https://adele.uxpin.com/
Evento online:
https://www.uxpin.com/design-systems-virtual-summit-2018
Referências e sites:
https://www.designbetter.co/design-systems-handbook
https://www.invisionapp.com/blog/guide-to-design-systems/
https://blog.prototypr.io/design-system-ac88c6740f53
https://medium.com/@marcintreder/design-systems-sprint-1-the-interface-inventory-1f78d376e49a
https://brasil.uxdesign.cc/design-systems-na-pr%C3%A1tica-preparando-o-terreno-cfd5c29d2ae
https://www.uxpin.com/studio/blog/design-systems-vs-pattern-libraries-vs-style-guides-whats-difference/
https://uxcellence.com/2017/design-systems-style-guides-pattern-libraries
gifts
http://janlosert.com/store/symbols-styleguides
gifts
https://github.com/Shopify/polaris/releases/download/v1.10.2/Sketch.UI.Kit.zip
Google "Shopify Polaris Sketch Download"
SOCIAL NETWORKS
facebook.com/calderaricaio
twitter.com/calderaricaio
linkedin.com/in/calderaricaio
medium.com/calderaricaio
github.com/calderaricaio
behance.net/calderaricaio
dribbble.com/calderaricaio
instagram.com/calderaricaio
pinterest.com/calderaricaio
Youtube - U&I Design
https://www.youtube.com/channel/UCCgt06ayhSZyucp6k4hStRw
Obrigado.
e até a próxima.
Design Systems
By Caio Calderari
Design Systems
Design Systems
- 896