[Cainã Nunes] Agile vs UX não. Agile UX sim.

Constantemente, vejo o tema Agile vs UX ser abordado por designers e por developers devido às dificuldades encontradas pelas empresas que estão implementando metodologias ágeis para desenvolvimento de softwares e a integração com os processos dos seus profissionais criativos.

Acontece que tem algo nesta conversa que ainda não me soa bem. Agile vs UX? Hmm… pra mim não faz sentido. Não se pode comparar um com o outro assim, como se fossem opostos. O que me incomoda é a maneira como os dois temas são vistos. Existe um pequeno detalhe nas definições que fazem toda diferença para organizar as idéias de ambas as partes.

Designers e Desenvolvedores

Antes de mais nada, é preciso entender que Interaction Design não é User Experience Design. Interaction Design é só uma parte do User Experience Design, assim como desenvolvimento também o é. Esta pequena confusão está prejudicando muito como um time encara o compromisso e a responsabilidade dos designers com UX. E pior ainda, como o time encara o compromisso e a responsabilidade dos desenvolvedores com UX.

Vou tentar deixar as coisas mais claras. Por exemplo: O compromisso dos Software Developers é a entrega de um software de qualidade. Para garantir que o software seja de qualidade, os developers fazem mocks, spikes, testes de carga, testes automatizados, testes unitários… Testes. Testes. Testes.

O compromisso dos Interaction Designers é a entrega de uma interação de qualidade. Para garantir que a interação seja de qualidade, os designers fazem skectch, storyboards, paper prototype, testes com usuários… Testes. Testes. Testes.

Bastante semelhante não?

Mas, então, quem é que se compromete com a entrega de uma UX de qualidade? O Interaction Designer? Aí é que está. NÃO! O time todo se compromete. User Experience Design, Projetar a Experiência do Usuário, deve ser um compromisso de todos, nunca só dos designers.

Exemplos

Quando os desenvolvedores estão discutindo qual será a melhor forma de desenvolver um sistema, a linguagem a ser adotada, as ferramentas, com o objetivo de melhorar a performance do sistema, a estabilidade, a escalabilidade, qual é a razão para isso tudo? No fim das contas, é para garantir que o usuário sempre cumpra as suas metas de maneira satisfatória. É para garantir que ele tenha uma experiência completa e agradável. Viu só? Neste exemplo super comum do nosso dia a dia são os desenvolvedores projetando uma melhor experiência para o usuário e nem de perto envolveu o desenho de interfaces.

Um outro caso curioso, comum, e que é um ótimo exemplo: Diversas vezes, na hora de escrever o objetivo de uma história, o time inteiro fica pensando: - Bom, isto é para… para… para melhorar a experiência do usuário! E alguém, óbvio, logo responde - Ah! Mas, pensando assim tudo é para melhorar a experiência do usuário. E por que isso volta e meia se repete? Por que é verdade! TUDO, no fim das contas é para melhorar a experiência do usuário.

Considerando tudo que foi dito até agora, pra mim estaria extremamente correto afirmar que desenvolvedores também são UX Designers, ou então UX Developers pra ficar mais específico ;-)

Agile e UX

As metodologias ágeis hoje são uma realidade para mim, meu time e minha empresa. Desenvolver softwares de maneira ágil é um grande passo dado. Nunca se colocou tanto software no ar. Todos os desenvolvedores que trabalham comigo já sabem agir e são evangelizadores ágeis. Os ganhos são bem claros, então isso nem se discute.

Tudo isso deixou claro pra mim, como designer, que entregar apenas interfaces por interfaces, que visam somente a elas mesmas (leia-se Big Design Up Front), não é o objetivo. Não é uma entrega válida pois não estou entregando valor pro usuário ainda. Não estou entregando experiência real alguma ainda.

O ponto que acrescento aqui é que a entrega também não pode ser apenas software por software, que visa somente a ele mesmo, somente porque as metodologias ágeis incentivam que a entrega seja de software em produção. O que quero dizer com isso é que entregar software em produção não garante que estou entregando uma UX de qualidade. E justamente isso, entregar UX de qualidade em produção, sim, deve ser o compromisso do time.

Agile UX

Convenhamos, para desenhar belas interfaces dentro de um sprint não se precisa muito esforço. Como o Guilherme Chapiewski já percebeu, qualquer um com conhecimento mínimo de Photoshop ou Fireworks vai produzir algo de alta qualidade, mas isso não garante que esteja fazendo o melhor pro usuário. Assim como no caso dos desenvolvedores que estarão entregando um software baseado nestas interfaces.

O que fica muito claro aqui é que adaptar ao pé da letra métodos ágeis da forma como eles funcionam no desenvolvimento de software para tentar entregar interfaces não é o problema, mas muito menos é a solução.

O desafio é: como entregar UX de qualidade de maneira ágil e incremental? Isso sim não se sabe fazer bem ainda; mas só chegaremos a alguma proposta quando houver um esforço de ambos os lados estando totalmente comprometidos com este objetivo, UX de qualidade. Este sim é o grande ponto da questão.

Participe das discussões

Nem sempre, eu como designer, consigo entender 100% do que está sendo discutido pelos desenvolvedores, mas sempre que tento acompanhar resulta em aprendizado, em compreender o valor de determinadas escolhas e a complexidade de implementá-las. E quase sempre surge um momento em que eu consigo colaborar também, e minha opinião realmente é aproveitada, pois sou mais um pensando no usuário. Posso garantir, isso acontece bastante.

E além de participar de discussões técnicas, sempre convide os desenvolvedores para participar das reuniões conceituais e de interfaces/interações. É realmente um ganho enorme quando todos entendem as variáveis a serem consideradas pelos designers e arquitetos de informação. Surgem opiniões com uma carga de experiência profissional totalmente diferente sobre os mesmos assuntos. Posso garantir denovo, já aconteceu bastante.

Como o Antônio Carlos mostrou, multidisciplinaridade diminui barreiras e aumenta a produtividade. Este interesse em participar das discussões e incluir os outros nas discussões serve tanto para designers como para desenvolvedores. Sempre que são tomadas decisões juntos fica uma visão clara do que está sendo feito, o time todo compra as idéias e se compromete com elas.

Faça uma experiência

Tente trabalhar um sprint inteiro desta maneira e depois proponha algo diferente pro Sprint Review. Na hora de apresentar a história para o Product Owner, peça para um designer explicar os problemas encontrados e as soluções adotadas para o desenvolvimento e para um desenvolvedor explicar os problemas encontrados e as soluções adotadas para as interfaces e interações. Isso mostra que todos sabem o que foi feito e por que foi feito assim. Isso mostra compromisso com a UX.

O que deixo aqui é uma visão clara que UX é um compromisso de TODOS, e só pensando desta forma é que um dia ela será realmente ágil e incremental.

Abraços.
;-)

Mais sobre Agile UX