Além do handoff: a importância da comunicação entre design e desenvolvimento
Estamos realmente promovendo o melhor ambiente para designers e devs trabalharem juntos?
O intuito deste material é instigar uma reflexão sobre a interação designer-developer e muitos dos argumentos serão embasados em experiências pessoais que pude vivenciar recentemente, por isso, fique à vontade para trazer a sua opinião, suas experiências ou mesmo contrapontos.
Você, designer ou dev, provavelmente já se deparou com algum meme como o da imagem a seguir, certo?
Esse meme é razoavelmente popular entre designers e, se formos levá-lo a sério, devs projetando interfaces é a receita do desastre. Concordam?
Spoiler: talvez muito menos do que o meme sugere.
Brincadeiras à parte, esse meme apareceu na minha timeline do LinkedIn e me fez refletir: será que ainda vemos pessoas desenvolvedoras apenas como executoras?
Desenvolvedores são apenas executores?
No livro 'Inspirado', Marty Cagan destaca que devs são uma das maiores fontes de inovação em produtos digitais. Se os enxergamos apenas como executores de código, estamos desperdiçando um enorme potencial criativo.
Falando um pouco da minha experiência, muitas das melhores soluções de design nasceram de conversas com pessoas desenvolvedoras. No time de Design System da Unicred, as decisões são tomadas em conjunto com o time técnico. Como resultado, a nossa taxa de “interfaces problemáticas” (ou, no nosso caso, “componentes problemáticos”) era extremamente baixa, pois as entregas estavam alinhadas com a expectativa de design e com a excelência de código.
Ainda assim, o estereótipo de que “devs travam a criatividade” persiste. Embora profissionais desse tipo realmente existam, o mesmo pode ser dito de qualquer outra profissão, inclusive designers. Digo isso porque é importante lembrar que, por trás dessa relação profissional, existem pessoas com diferentes perfis, motivações e experiências. Além da complexidade inerente às relações humanas, há também uma série de fatores que tornam a colaboração entre design e desenvolvimento ainda mais desafiadora.
Design e desenvolvimento: desafios que extrapolam as equipes
Problemas em produtos digitais raramente são culpa de uma única equipe. Muitas vezes, elas refletem:
- Decisões de negócio desalinhadas;
- Prioridades conflitantes;
- Débitos técnicos (problemas arquiteturais, limitação de tecnologia e linguagem de programação, etc);
- Falta de colaboração e comunicação entre as equipes;
- E o pior: uma combinação de todos os cenários anteriores.
Apenas com estes exemplos já temos algumas situações que vão contra o que o meme que citei no início sugere.
Dependendo da maturidade da empresa, decisões top-down, falta de tempo (o famoso “go horse”) ou exigências jurídicas também impactam a relação design-desenvolvimento. Assim, quando uma pessoa desenvolvedora projeta e entrega uma interface que não é a ideal, pode ser que ela também esteja lidando com restrições fora do seu controle.
O mito da limitação criativa
Certa vez, ouvi de uma pessoa designer que design systems e devs “limitavam a criatividade do time de design”, impedindo a entrega de um “design encantador”. Nessa ocasião, um colega disse algo que me marcou:
O produto é encantador quando ele facilita a minha vida. Eu fico encantado quando o sistema funciona, quando o fluxo é intuitivo e o produto do meu banco rende acima dos padrões de mercado. A estética da interface é complemento.
Esse relato mostra como, muitas vezes, falta aos designers uma compreensão técnica mais ampla do produto e suas limitações. Quando essa compreensão é superficial, a responsabilidade por interfaces problemáticas acaba sendo jogada sobre o time de desenvolvimento (que também lida com restrições semelhantes).
A falta de compreensão é frequentemente um reflexo de comunicação ineficaz ou inexistente entre as áreas.
O erro do isolamento entre equipes
Ainda é comum vermos times de design trabalhando isoladamente, interagindo com os times de desenvolvimento apenas em refinamentos ou no handoff das interfaces. Esse modelo costuma resultar em retrabalho, atrasos e baixa qualidade nas entregas.
É essencial que designers se aproximem do time de desenvolvimento para entender a lógica por trás do código. Isso não significa que precisam saber programar, mas sim entender de tecnologia para dialogar de maneira eficiente com as pessoas desenvolvedoras. Esse diálogo é crucial para compreender os limites e as possibilidades do produto, explorando-os para solucionar problemas e entregar soluções relevantes.
Quando estávamos estruturando e entregando o Design System da Unicred, partimos de um princípio básico: o trabalho precisava ser colaborativo. Erramos bastante no início e enfrentamos algumas das interferências que mencionei anteriormente. No entanto, com persistência e um baita trabalho em equipe, conseguimos evoluir e chegar a um fluxo ideal. Algumas das ações que adotamos foram:
- Definição de padrões conjuntos: Criamos, em equipe, os critérios e acordos necessários para garantir a fluidez no fluxo de trabalho, incluindo critérios de aceitação, formato de handoff e documentação de componentes.
- Participação ativa do time de desenvolvimento: A equipe de desenvolvimento esteve presente em todas as etapas do fluxo de design — estudo, concepção, testes, validação e handoff — trazendo a visão técnica para enriquecer o processo criativo e explorar soluções inovadoras.
- Tradução da lógica técnica: Durante as validações técnicas, os desenvolvedores explicavam os conceitos tecnológicos de maneira acessível, garantindo que designers entendessem claramente o funcionamento, mesmo sem conhecimento de programação.
Como resultado, nossas entregas se tornaram mais ágeis e, principalmente, mais consistentes em termos de qualidade. A maturidade da equipe deu um salto, e a cocriação se tornou um processo natural entre os membros do time.
Essa experiência colaborativa me trouxe um aprendizado essencial:
Pessoas desenvolvedoras se importam tanto com a qualidade do produto quanto designers.
Para product designers, estar envolvido em discussões técnicas é fundamental. Trazer dúvidas e a visão de design para esses debates ajuda a aprofundar o entendimento sobre tecnologia e fortalece a colaboração entre equipes. Além disso, integrar outras frentes no processo de design é uma ótima maneira de construir uma cultura colaborativa.
Designers podem — e devem — atuar como uma ponte entre os times, facilitando o compartilhamento de conhecimento e a criação de um ambiente colaborativo. Embora esse processo demande esforço, os ganhos em maturidade, inovação e qualidade justificam completamente o investimento.
Pensando nisso, será que estamos realmente promovendo o melhor ambiente para designers e devs trabalharem juntos?
Hoje, vejo o trabalho colaborativo entre essas áreas como uma premissa básica, mas em contextos onde ele falha, precisamos nos perguntar:
Estamos instigando uns aos outros a entender melhor o que fazemos?
Recomendação de leituras
- “Envolva as pessoas desenvolvedoras na hora de fazer design”: no artigo de Carlos Henrique Filho, você encontra dicas valiosas para aprimorar a comunicação e a colaboração entre designers e desenvolvedores.
- “Negociando com negócio: Como falar com stakeholders”: muitos desafios enfrentados por designers e devs vêm diretamente do negócio. Neste artigo, Bruno Pires explica como dialogar e negociar com stakeholders de forma mais estratégica.
Referências
Marty Cagan — Inspirado: como criar produtos de tecnologia que os clientes amam, Alta Books, 2021
Virginie Caplet — Building bridges between Design and Development
Carlos Henrique Filho — Envolva as pessoas desenvolvedoras na hora de fazer design