O marketing também
Chega agosto e o ritmo muda.Parte da equipa está de férias, as reuniões diminuem, alguns projetos…
Pesquisar
Chega agosto e o ritmo muda.Parte da equipa está de férias, as reuniões diminuem, alguns projetos…
Cada vez mais tomamos decisões acompanhados por uma recomendação automática.Uma plataforma escolhe…
Um sistema de design costuma começar com uma intenção clara: reduzir inconsistências, facilitar a…
Um sistema de design costuma começar com uma intenção clara: reduzir inconsistências, facilitar a reutilização e ajudar o design e o desenvolvimento a trabalhar com uma linguagem partilhada. Durante as primeiras fases, a biblioteca é fácil de gerir, os componentes são fáceis de identificar e as decisões ainda podem ser resolvidas por poucas pessoas.
O problema surge quando o produto, a equipa e as necessidades começam a crescer.
Surgem novas variantes para responder a casos concretos, alguns componentes são duplicados porque não se encontra a opção adequada e certas exceções, inicialmente temporárias, acabam por se tornar parte habitual da interface. Entretanto, a documentação deixa de refletir o que acontece em produção e o design e o desenvolvimento começam a trabalhar com versões diferentes do mesmo padrão.
Esta desorganização não costuma surgir de forma repentina. Acumula-se pouco a pouco, através de pequenas decisões que parecem razoáveis isoladamente: copiar um componente para avançar mais depressa, adicionar uma propriedade de que apenas uma equipa precisa ou adiar uma atualização porque há outras prioridades. Com o tempo, a biblioteca cresce, mas não melhora necessariamente.
Então, o sistema que deveria reduzir decisões começa a gerá-las. Os designers têm dúvidas sobre que componente utilizar, os programadores encontram diferenças entre os ficheiros de design e o código, e cada alteração exige verificar dependências que ninguém conhece por completo. A consistência deixa de ser garantida pelo sistema e volta a depender do esforço individual de cada pessoa.
Chegados a este ponto, o desafio já não consiste em conceber mais componentes. Consiste em criar uma forma sustentável de os manter, fazê-los evoluir e decidir o que deve permanecer, mudar ou desaparecer. É aqui que a Design Ops e a governação deixam de ser questões organizacionais secundárias e se tornam uma parte essencial do próprio sistema de design.
Um sistema de design não se mantém por si só. Pode ter uma biblioteca bem construída, componentes reutilizáveis, tokens coerentes e uma documentação inicial completa, mas tudo isso perde valor se não existir uma forma clara de gerir a sua evolução.
É aqui que entra a Design Ops.
A Design Ops não consiste apenas em organizar ficheiros, coordenar reuniões ou manter um calendário de entregas. A sua função é criar as condições para que o trabalho de design seja sustentável à medida que aumentam as equipas, os produtos e as necessidades. É, de certo modo, o sistema operativo que permite que o sistema de design continue a funcionar.
Enquanto o sistema de design define que componentes, padrões e princípios devem ser utilizados, a Design Ops estabelece como são criados, quem os mantém, de que forma são revistos e quando devem ser atualizados ou retirados. Também ajuda a decidir como podem contribuir outras equipas e que critérios devem ser cumpridos antes de integrar uma nova solução na biblioteca partilhada.
Sem estas regras, cada alteração depende de conversas improvisadas. Não é claro quem pode aprovar uma variante, o que fazer quando o design e o código não coincidem ou como agir quando um componente já não responde às necessidades do produto. O resultado costuma ser uma mistura de decisões locais, duplicações e soluções que avançam em paralelo.
Para o evitar, são necessários pelo menos três elementos: responsabilidades, processos e critérios partilhados.
As responsabilidades permitem saber quem mantém cada parte do sistema, quem valida as alterações e quem deve intervir quando surge um problema. Os processos oferecem um percurso compreensível para propor, rever, testar e publicar melhorias. Os critérios ajudam a distinguir quando uma necessidade justifica um novo componente, quando pode ser resolvida com uma variante e quando convém manter uma solução fora do sistema global.
Isto não significa transformar cada decisão num processo lento nem centralizar todo o controlo numa única equipa. Pelo contrário, uma boa estrutura de Design Ops deveria reduzir a dependência de conversas constantes e facilitar que as pessoas possam avançar com autonomia dentro de limites conhecidos.
O objetivo não é acrescentar mais gestão em torno do design, mas evitar que a falta de gestão acabe por criar mais trabalho. Quando as responsabilidades, os processos e os critérios são claros, o sistema de design pode crescer sem depender da memória, da disponibilidade ou do critério individual de poucas pessoas.
À medida que um sistema de design cresce, cresce também o número de pessoas que o utilizam, o alteram e identificam novas necessidades. Por isso, não basta permitir contribuições: também deve ficar claro quem pode tomar decisões sobre o sistema.
O ownership define quem mantém cada componente, quem revê as alterações, quem valida a sua implementação e quem decide quando uma solução deve ser atualizada ou retirada. Não implica que uma única pessoa controle tudo, mas sim que cada decisão tenha um responsável identificável.
Existem diferentes modelos de governação. Num modelo centralizado, uma equipa específica mantém o sistema e aprova as contribuições. Num modelo federado, diferentes equipas participam de forma mais autónoma, segundo regras comuns. O modelo híbrido combina ambas as abordagens: um núcleo central protege os fundamentos enquanto outras equipas contribuem em áreas concretas.
Não existe um modelo válido para todas as organizações. A escolha depende da dimensão da equipa, da variedade de produtos e do nível de maturidade do sistema. O importante é evitar dois extremos: que tudo dependa de poucas pessoas ou que qualquer pessoa possa introduzir alterações sem coordenação.
Uma governação eficaz não procura controlar cada detalhe, mas assegurar que as decisões tenham contexto, critérios partilhados e acompanhamento. Assim, o sistema pode evoluir sem perder coerência nem tornar-se um entrave para quem o utiliza.
O component sprawl surge quando a biblioteca cresce sem controlo suficiente e começa a encher-se de componentes duplicados, variantes quase idênticas e soluções criadas para resolver casos muito concretos.
Muitas vezes, não se deve a uma falta de critério. As equipas precisam de avançar e, se não encontram uma solução adequada ou se o processo para solicitar alterações é demasiado lento, acabam por criar uma alternativa local. O que parecia uma solução temporária pode acabar por se consolidar e coexistir com outras versões semelhantes.
Antes de criar um novo componente, convém verificar se responde a uma necessidade partilhada, se pode ser resolvido através de uma variante existente ou se afeta apenas um contexto específico. Também é importante avaliar se o seu comportamento, conteúdo e propósito são realmente diferentes, e não apenas a sua aparência.
Uma solução local não é necessariamente um problema. Pode servir para experimentar e validar uma necessidade antes de a integrar no sistema global. O risco surge quando estas exceções não são revistas e acabam por se multiplicar sem que ninguém saiba quais devem ser utilizadas.
Evitar o component sprawl não consiste em limitar o crescimento, mas em assegurar que cada nova peça tenha uma razão clara para existir e um lugar definido dentro do sistema.
Quando um componente muda, não basta publicar uma nova versão. As pessoas que o utilizam precisam de saber o que foi alterado, porquê, a quem afeta e se devem realizar alguma ação para se adaptarem.
Por isso, o versionamento deve comunicar o estado de cada componente: se está numa fase experimental, se é estável, se vai ficar obsoleto ou se será retirado. Quando uma alteração quebra comportamentos anteriores, deve também incluir instruções de migração e um prazo razoável para as aplicar.
A documentação faz parte deste processo. Não deveria limitar-se a descrever propriedades, dimensões ou variantes, mas explicar para que serve o componente, quando deve ser utilizado, que limitações tem e que decisões justificam o seu funcionamento.
Para se manter útil, a documentação deve ser atualizada ao mesmo tempo que o design e o código. Se for deixada para mais tarde, é fácil acabar por descrever uma versão que já não existe.
Uma documentação viva reduz dúvidas, evita interpretações diferentes e preserva o contexto por detrás de cada decisão. Assim, o sistema não depende apenas de quem o criou, podendo ser compreendido e mantido por toda a equipa.
A dívida de design surge quando decisões temporárias, exceções ou componentes antigos começam a dificultar a evolução do produto. Pode manifestar-se em padrões duplicados, valores aplicados manualmente, diferenças entre design e código ou soluções que ninguém se atreve a retirar por receio de quebrar algo.
Nem toda a dívida tem a mesma urgência. Convém priorizá-la de acordo com o seu impacto: quanto afeta a experiência, de quantas equipas depende, que riscos gera e quanto trabalho adicional provoca. Assim, evita-se dedicar tempo a corrigir detalhes menores enquanto permanecem problemas estruturais.
Para a gerir, não é necessário encher o calendário de reuniões. É mais útil estabelecer ritmos simples e previsíveis: revisões periódicas do backlog, pequenas auditorias aos componentes, janelas de publicação e planos claros para retirar versões obsoletas.
Também é importante registar a dívida quando é conscientemente aceite. Uma solução provisória pode ser válida se se conhecer o seu alcance, tiver uma pessoa responsável e existir um momento previsto para a rever.
A manutenção funciona melhor quando faz parte do trabalho habitual e não depende de uma grande limpeza ocasional. Um sistema cuidado com frequência acumula menos dívida e permite que as alterações futuras sejam mais rápidas, seguras e compreensíveis.
A governação de um sistema de design não deveria transformar-se numa cadeia de aprovações que torna mais lenta cada alteração. A sua função é oferecer um enquadramento claro para que as equipas possam avançar com autonomia sem perder consistência.
Quando as responsabilidades, os critérios e os processos são compreensíveis, torna-se mais fácil saber quando reutilizar um componente, quando propor uma melhoria e quando experimentar uma solução local. A governação deixa de ser uma camada de controlo e torna-se uma ferramenta para tomar decisões com menos fricção.
Também deve existir espaço para evoluir. Um sistema demasiado rígido pode obrigar as equipas a trabalhar à margem dele, enquanto um sistema sem limites acaba por se fragmentar. O equilíbrio consiste em proteger os princípios comuns e, ao mesmo tempo, permitir que surjam novas soluções quando o produto delas necessita.
Um sistema de design saudável não é aquele que nunca muda, mas sim aquele que o consegue fazer de forma compreensível e sustentável. Governar bem significa facilitar essa evolução, reduzir decisões repetidas e manter a coerência sem transformar o sistema num obstáculo.
Que parte do vosso sistema de design ainda depende de decisões informais ou do conhecimento de poucas pessoas?
Comentários