Quando a experiência do usuário (UX) e os desenvolvedores reinventam o produto digital, da essência à forma!

No mundo do desenvolvimento de produtos digitais, a colaboração entre UX e desenvolvimento é muitas vezes mais um ideal do que uma realidade. No entanto, é precisamente dessa sinergia que nascem os produtos de melhor desempenho — aqueles que não só atendem às necessidades do usuário, mas também dão significado ao trabalho de quem os cria. Este artigo é um estudo de caso sobre como uma colaboração mais forte entre UX e desenvolvedores pode transformar um produto com dificuldades e revitalizar uma equipe.

O ponto de partida: um produto em risco e uma equipe sob pressão.

Nossa história começa com uma ferramenta digital essencial para gerentes de loja e chefes de departamento da Decathlon. Projetada para otimizar o desempenho econômico e a eficiência do tempo, essa ferramenta é usada por aproximadamente 20.000 pessoas em 78 países.

Desde 2017, a equipe que trabalha neste produto opera de forma isolada, com uma cultura ágil superficial. Os desenvolvedores especializados (front-end, back-end, dados) trabalham em microtarefas sem uma visão geral, o que leva a atrasos intermináveis ​​nas entregas e ao acúmulo de dívida técnica. Como exemplo, e um dos motivos para o que se segue, uma funcionalidade que deveria levar três semanas para ser entregue levou quase um ano (e mesmo assim, estava instável!). 

Do ponto de vista do produto, os problemas eram igualmente evidentes: baixa adesão, uso forçado pelos usuários devido à falta de alternativas e à pressão da gerência e, sobretudo, disponibilidade instável. Os tempos de carregamento eram excessivamente longos e o aplicativo ficava frequentemente inacessível em momentos cruciais, causando considerável frustração aos usuários. Por fim, a complexidade da ferramenta dificultava o seu uso tanto por novos desenvolvedores quanto por novos usuários. A conclusão era clara: a ligação entre desenvolvedores, produto e usuários era frágil, senão inexistente.

A estratégia de transformação: Autonomia e conhecimento

Diante dessa situação crítica, a equipe Mayday, uma iniciativa interna da Decathlon conhecida por sua abordagem pragmática, interveio. 

A solução não poderia ser puramente técnica. Era necessário mudar o foco, adotar uma abordagem holística para restabelecer o equilíbrio. A equipe de suporte, composta por quatro desenvolvedores e um pesquisador de UX, entrou em ação. A estratégia girou em torno de dois eixos principais: Melhorar a autonomia da equipe et Aumentar o conhecimento do usuário e do produto.

1. Desenvolver a autonomia da equipe por meio de agilidade e excelência em desenvolvimento de software.

O objetivo era passar de uma cultura de "projetos" para uma cultura de "produtos", onde a equipe se sentisse totalmente responsável pelo valor que entrega.

  • Nova formação da equipe: A equipe precisa evoluir para uma cultura full-stack e full-task. A ideia é eliminar as interdependências, incentivando a versatilidade e a capacidade de liderar projetos desde a concepção até a produção. 
  • Fortalecimento da colaboração em equipe e promoção do desenvolvimento de habilidades: Sessões de programação em pares são organizadas para compartilhar conhecimento e boas práticas. Revisões de código colaborativas ajudam a padronizar convenções e aprimorar a qualidade do código.
  • Auto-organização de rituais de equipe: Os rituais ágeis estão sendo revistos para restaurar seu propósito original. A reunião diária está se tornando uma atualização sobre o progresso das entregas em produção, em vez de um simples relatório de tarefas. Retrospectivas regulares estão sendo realizadas para identificar e resolver problemas da equipe. Um workshop de refinamento do backlog é agendado semanalmente para especificar e avaliar a maturidade dos tópicos a serem desenvolvidos.
  • Integrando um Product Owner (PO) com uma visão de 360 ​​graus: Um novo Product Owner se juntou à equipe, trazendo uma visão holística que integra as necessidades do usuário, as restrições regulatórias e a estratégia corporativa. Seu papel tornou-se crucial para canalizar e arbitrar solicitações, aprendendo a dizer "não" quando necessário e priorizando o desenvolvimento com a equipe.
  • Facilitadores de fluxo: Práticas como limites de trabalho em andamento (limitar o trabalho em curso) e a abordagem "pare de começar, comece a terminar" permitem focar na conclusão das tarefas. Como mencionado anteriormente, a programação em pares promove o compartilhamento e a complementaridade de habilidades.
  • Entrega contínua: A simplificação dos branches de código (desenvolvimento baseado em trunk) e a automação dos testes (migração de testes manuais para testes quase totalmente automatizados) reduziram significativamente o tempo de lançamento no mercado, possibilitando múltiplos lançamentos diários, se necessário. Isso é "entrega sem eventos", onde as ferramentas permitem a implantação perfeita da estação de trabalho do desenvolvedor para o usuário.

2. Aumentar o conhecimento do usuário e do produto.

O papel do pesquisador de UX foi fundamental para imbuir a equipe com a realidade dos usuários e para entender o produto por dentro.

  • Imersão direta com os usuários: O primeiro passo foi organizar entrevistas com os usuários, para as quais os desenvolvedores foram convidados. Essa escuta direta ajudou a criar uma conexão e a dar sentido ao trabalho de todos.
  • Implementação de análises de uso: Antes da intervenção, não havia ferramentas de análise implementadas. Foram implantados mecanismos de rastreamento para compreender o comportamento real dos usuários no produto. Foi realizado um workshop sobre convenções de nomenclatura acessíveis para que todos, incluindo os desenvolvedores, pudessem revisar e interpretar esses dados.
  • Monitoramento do status da produção: Além da análise de uso, um painel de controle foi criado em colaboração para monitorar erros e taxas de disponibilidade de produção. Isso permitiu que a equipe entendesse a saúde do produto e tomasse decisões informadas, como identificar se os problemas se originaram dentro da equipe ou com parceiros externos.
  • Abordagem aprimorada do Design Thinking: A abordagem baseou-se num modelo de Design Thinking aprimorado, integrando toda a equipe em cada etapa:
    • Compreensão das necessidades: Entrevistas, análises.
    • Validação e definição do escopo: Formalizar as ideias e compartilhá-las com toda a equipe.
    • Idealização e construção: Workshops colaborativos com a equipe (piores ideias, Crazy Eight, brainstorming, valores das funcionalidades, …).
    • Modelagem e testes contínuos: Foram implementados testes A/B para comparar duas versões do produto e observar as estatísticas de uso. O recurso de ativação permitiu que uma versão específica do produto fosse oferecida a uma amostra de usuários para coletar feedback qualitativo. A colaboração entre as equipes de UX e desenvolvimento é essencial nesse processo, com os desenvolvedores realizando modificações na interface e os designers de UX orientando essas mudanças e gerenciando as interações do usuário.

O objetivo da UX não é se tornar indispensável, mas sim facilitar o feedback do campo e garantir que buscar respostas dos usuários se torne algo natural para todos os desenvolvedores. Trata-se de assegurar que o viabilidade (pelos stakeholders), o viabilidade (pelos desenvolvedores) e o desejabilidade (pela experiência do usuário) são levados em consideração desde o início do processo.

Resultados iniciais: um produto e uma equipe transformados.

As ações tomadas tiveram um impacto profundo na equipe e no produto.

De uma equipe que simplesmente executava tarefas, passamos para uma equipe que agrega valor e dá significado ao seu trabalho diário. Ela interage diretamente com seus usuários e está preparada para enfrentar as necessidades emergentes, em vez de ser apenas uma executora. O tempo de lançamento no mercado foi significativamente reduzido. A equipe não é mais apenas um grupo de indivíduos trabalhando lado a lado, mas sim pessoas que se comunicam e colaboram diariamente para tomar decisões embasadas. 

De um produto que não suportava a carga de muitos usuários, passamos para um produto disponível o tempo todo. Enquanto antes tentávamos agradar a um público amplo, entregando pouco valor a cada um, agora oferecemos valor concreto aos grupos-alvo prioritários identificados. O produto se tornou muito mais fácil de usar tanto para desenvolvedores quanto para usuários. 

Colaboração entre UX e desenvolvimento: uma alavanca para arbitragem e significado.

Em conclusão, a transformação da ferramenta e de sua equipe é resultado de um esforço conjunto. As ações do lado dos desenvolvedores fortaleceram sua autonomia (definição de rituais, melhoria do backlog, suporte ao usuário, entrega contínua, ativação/desativação de recursos). As ações do lado da experiência do usuário (UX) aumentaram o conhecimento (auditorias, observações, entrevistas, personas, jornadas do usuário). Mas é a colaboração estreita e contínua entre UX e desenvolvedores, por meio de workshops conjuntos, análise compartilhada de dados e testes (testes A/B, flags de recursos), o que possibilitou dar sentido a todas essas ações.

Essa colaboração é essencial para o arbitragensNão se trata de "fazer tudo", mas sim de escolha suas batalhas Com uma compreensão abrangente do projeto e do produto, seja para ajustar o nível de suporte, definir a qualidade do código ou priorizar a correção de bugs, essas decisões são tomadas com base em um entendimento mútuo dos desafios técnicos, do usuário e do negócio.

Não inventamos nada, mas implementamos as melhores práticas de Agile e Software Craftsmanship. O mais importante é que nos concentramos no fundo e não apenas no formasDar significado a cada decisão, cada linha de código, cada interação do usuário é o que transforma um projeto em um produto de alto desempenho e uma equipe em um motor de inovação. Ao tornar a busca por respostas em campo algo natural para todos os desenvolvedores e ao integrar a viabilidade técnica desde a fase de design, UX e desenvolvimento podem realmente colaborar para construir produtos que fazem a diferença.

Florine AUFFRAIT, designer de UX @UX-Republic

Florine Aufrait, Pesquisador de UX na UX-Republic