Designers devem ser capazes de codificar? Este tópico nunca parece ter fim, com seus intermináveis posts de blogs, discussões no Twitter e palestras em eventos. Mas o envolvimento do desenvolvedor no processo de design parece ser muito pouco abordado. É algo curioso, já que desenvolvedores têm muito a contribuir em discussões sobre design.

A verdade infeliz é que muitos designers têm uma atitude um pouco “monopolista” em relação ao design. Eles acreditam que somente eles podem ter boas ideias e/ou contribuições gerais a fazer. E, como todos ao redor desse carinha sabem (menos ele próprio), isso simplesmente não é verdade.

Todos temos a capacidade de fazer boas sugestões sobre design, incluindo desenvolvedores. Evidentemente, um designer treinado provavelmente será mais eficaz em encontrar soluções de design, mas isso não significa que outros não possam contribuir. Seria conveniente que designers engolissem seu orgulho e aceitassem contribuições de mais “forasteiros” e é precisamente por essa razão que designers deveriam incluir desenvolvedores na conversa.

Os perigos de deixar o desenvolvedor de fora

Voltando ao auge do Digg, houve uma conversa entre Daniel Burka (designer principal) e Joe Stump (desenvolvedor principal) na qual contaram uma história de uma mudança de design para o botão “Digg” que Daniel queria introduzir. Do ponto de vista de Daniel, a mudança foi menor, mas, ao falar com Joe, ele descobriu que essa mudança de design teria um enorme impacto no desempenho do site, forçando o Digg a atualizar seu poder de processamento e a arquitetura do servidor.

Este é o problema quando os desenvolvedores não estamos envolvidos no projeto: pode ser desastroso. Isso pode levar a projetos que são impossíveis de construir, projetos que introduzem complicações técnicas desnecessárias, intermináveis idas e voltas entre o designer e o desenvolvedor, dias desperdiçados de revisão e iteração etc — tudo porque o desenvolvedor não foi previamente consultado.

Considere também a percepção do cliente sobre essa confusão: o cliente aprova o projeto para descobrir mais tarde que ele não pode ser desenvolvido… Isso reflete mal em todos. É por isso que todos precisamos do envolvimento do desenvolvedor em decisões de design. Decisões tomadas por designers têm ramificações muito maiores do que a maioria percebe inicialmente.

O desenvolvedor melhora o entendimento sobre o quê é possível

Designers e desenvolvedores devem trabalhar em conjunto.

Designers precisam que os desenvolvedores não apenas bloqueiem ideias inviáveis; eles também podem sugerir idéias que designers podem considerar impossíveis. Às vezes, designers filtram algumas ideias em função de seu não conhecimento de questões mais técnicas de desenvolvimento: eles imaginam que se não é possível pensar em como construir uma ideia, então pode não ser possível a colocar em prática, executá-la.

Claro que desenvolvedores, por vezes, resistimos às idéias de designers. Mas outras vezes construímos e desenvolvemos em cima de ideias e as levamos mais longe do que jamais se pensou que poderiam ir. Designers pelo mundo inteiro têm estado em discussões com desenvolvedores que propuseram coisas que eles nem sabiam que eram possível! Sem ter os desenvolvedores por perto, certamente estes designers teriam perdido esses insights.

Ao trabalhar em estreita colaboração com os desenvolvedores, a compreensão do desenvolvimento por parte dos designers aumenta. Eles continuam a ser especialistas em design, mas seu conhecimento sobre desenvolvimento aumenta, tornando-os mais “generalistas” — e, como o desenvolvimento web moderno tem mostrado, ser um generalista não é uma coisa ruim.

Desenvolvedores tomam decisões sobre design a todo momento

A maior razão, porém, para o envolvimento de desenvolvedores no processo de design, é que acabamos fazendo decisões de design de qualquer maneira. A verdade é que, conforme desenvolvedores nos aprofundamos no desenvolvimento de um projeto, temos que tomar decisões que o afetam e o refinam. Os designers raramente têm tempo para considerar todas as nuances de um site; o restante fica para desenvolvedores.

Ferramentas de prototipagem rápida diminuíram bastante esta “insuficiência” por parte dos designers, mas é algo que ainda está bem longe de acabar.

Ao envolver o desenvolvedor nas discussões iniciais de projeto, todos ficarão em melhor posição para preencher os “espaços em branco”. E quando compromissos no design tiverem que ser feitos, eles estarão em melhor posição para segurar a bronca.

O desenvolvedor geralmente tem um maior “senso de domínio”

Há uma última razão para incluir desenvolvedores no processo: nós nos sentiremos mais envolvidos com o projeto. Muitas vezes, desenvolvedores estamos no final de uma longa cadeia de tomada de decisões; nossa voz não é ouvida porque somos trazidos para o processo muito tarde. Ao trazer-nos mais cedo, sentiremo-nos mais ligados ao trabalho e que somos mais apreciados, também.

A questão, então, é: como incluir o desenvolvedor no processo?

Tá esperando o quê?

Envolver um desenvolvedor no processo de design, como dizem por aí, não é ciência de foguete: trata-se de simplesmente fazer um convite para qualquer sessões de design.

Envolva-nos nos exercícios de design que são feitos com os clientes; incentive-nos a nos sentarmos em pelo menos algumas das sessões de testes de usabilidade e a nos envolver desde o início do projeto. Quanto mais cedo designers fizerem isso, mais todos os envolvidos no projeto se beneficiarão. Em particular, mostre-nos os trabalhos de design no início, antes mesmo de o cliente ver.

Como citado, não raramente o cliente faz determinadas aprovações para, somente depois, descobrir que não pode ser construído por ser tecnicamente inviável! Isso coloca a todos numa posição embaraçosa… Naturalmente, quanto mais reuniões desenvolvedores atendemos, menos codificação são realizadas. É preciso encontrar um equilíbrio. O macete é: algumas reuniões valem a pena se os atrasos forem evitados.

Designers e desenvolvedores: cérebro colaborativo.

Há outra dica para designers não se equivocarem quanto ao tempo de codificação dos desenvolvedores: colocar as mesas do designer e do desenvolvedor lado a lado. Principalmente em agências, produtoras e “labs” maiores, geralmente estas duas classes de profissionais se juntam em bandos incomunicáveis, mas há os que adotam a “técnica” de designers e desenvolvedores sentarem-se lado-a-lado para sempre estarem comentando o trabalho um do outro.

Excluir o desenvolvedor do processo de design não fará nada além de impedir que o projeto atinja seu potencial. Na verdade, excluir qualquer um — seja copywriter ou especialista em SEO — acabará por comprometer o trabalho como um todo.

No final, trata-se de romper as barreiras entre papéis e incentivar um trabalho mais colaborativo, não apenas entre designers e desenvolvedores, mas entre profissionais de todas as disciplinas. Quanto mais entendermos o que nossos colegas fazem e quanto menos preciosos/egocêntricos somos em relação à nossa própria área de atuação, melhor será o resultado e a entrega final.

E é para prover uma excelente entrega final que pessoas/equipes multidisciplinares trabalham em conjunto, não é verdade?