UX
Extreme Programming e o Desenvolvimento Ágil de Softwares
Baixar em PDF
Lista de conteúdos
UX

Extreme Programming e o Desenvolvimento Ágil de Softwares

Capa de artigo: Extremme Programming

As metodologias ágeis estão sendo utilizadas cada vez mais pelas empresas e em projetos diversos. Nesse sentido, uma das metodologias talvez menos conhecidas é a Extreme Programming.

Apesar disso, ela foi criada no final dos anos 90 e tinha o objetivo de ajudar as equipes a desenvolverem softwares com mais qualidade.

Neste artigo explicaremos um pouco mais a fundo sobre o que é Extreme Programming e como ela pode ser utilizada em conjunto com o UX Design.

O que é Extreme Programming?

Extreme Programming (XP) é uma metodologia que busca otimizar os processos de desenvolvimento de software, criando programas de alta qualidade, com mais rapidez e levando em consideração a experiência do usuário.

Nesse sentido, o XP possui bastante ênfase em processos colaborativos e na criação conjunta com outras pessoas do time e com os próprios usuários, minimizando riscos e priorizando features e características importantes para eles.

Assim como a Filosofia Ágil, o Extreme Programming trabalha com valores e princípios que norteiam melhores práticas para serem implementadas. Na verdade, o precursor do XP foi Kent Beck, autor do livro Extreme Programming Explained: Embrace Change, lançado em 1999, e que, em 2001, participou também da criação do Agile Manifesto.

Portanto, não é incomum estabelecer essa conexão entre XP e o Agile. No entanto, é importante entender que há também uma forte relação entre o XP e os conceitos de Design Centrado no Usuário e que essa combinação fortalece ainda mais o desenvolvimento de software e a experiência dos usuários.

Valores e princípios do XP

O XP possui 5 valores e 5 princípios, os quais estão mais detalhados a seguir.

Valores do Extreme Programming

Valores do Extreme Programming

1) Comunicação

A comunicação é um valor muito importante porque previne erros e mantém a equipe na mesma página sobre as dificuldades, preocupações e realizações do time.

Muitos problemas são consequência de situações onde houve má comunicação:

  • Não foram feitas perguntas corretas para os usuários;
  • Uma dificuldade no processo não foi reportada;
  • Um pedido de mudança não foi compartilhado com o time;
  • Um líder/ gestor não repassou uma informação importante sobre o desenvolvimento.

Todas essas situações não levariam a problemas com o processo se a comunicação não falhasse em algum nível.

Dica de Leitura: 5 Soft Skills Para Você Fazer a Diferença Como Designer

2) Simplicidade

Simplicidade refere-se a fazer coisas simples e que funcionam, ao invés de coisas complicadas que não serão usadas.

Em XP, é melhor desenvolver algo simples e rápido para depois aperfeiçoá-lo, do que algo complexo, demorado e que no final não atende os usuários.

3) Feedback

O processo de feedback é importante para entender se o time está no caminho certo do desenvolvimento e do projeto.

A ideia do feedback em Extreme Programming é obter informações o mais rápido possível e de forma constante para ajustar qualquer erro de percurso, ou para validar se as coisas estão indo conforme planejado.

É importante entender que o feedback existe em diversos níveis como:

  • Nos comentários da pessoa que é sua colega em um pair-programming;
  • Nas opiniões dos membros do time, em reuniões ou até mesmo informalmente;
  • Nos resultados e comentários de testes com usuários;
  • Nas reuniões formais com líderes ou gerentes.

No entanto, tenha cautela. O alto número de feedbacks também pode ser prejudicial se a equipe não souber lidar com esse grande número de retorno.

Se existem muitos feedbacks, talvez exista algum problema no processo ou no próprio entendimento sobre o que é feedback ou sobre priorização das tarefas. Portanto, entenda que feedbacks são importantes, mas tome cuidado para não se afogar neles.

4) Coragem

Segundo Kent Beck, coragem é agir com eficiência perante o medo.

Nesse sentido, a coragem em Extreme Programming se manifesta quando for preciso:

  • Dizer a verdade sobre prazos, inconsistências e erros;
  • Dar e receber feedbacks;
  • Adaptar-se rapidamente às mudanças;
  • Desapegar-se do que já foi feito.

Em uma análise mais ampla, podemos dizer que a coragem está intimamente ligada às questões éticas e a responsabilidade com o trabalho. No final do dia, fazer a coisa certa requer bastante coragem.

5) Respeito

O respeito é um valor bastante importante em diversas situações e não somente quando falamos em Extreme Programming.

Respeitar as pessoas do time e suas respectivas opiniões e diferenças não apenas contribui para um ambiente saudável, mas também ajuda a estabelecer processos mais eficientes e produtivos.

Dica de Leitura: The Great Resignation – Por Que Profissionais Estão Se Demitindo?

Princípios do Extreme Programming

Princípios do Extreme Programming

1) Rapid Feedback

Rapid Feedback — feedback rápido em tradução livre — aborda a necessidade de trabalhar rapidamente em cima dos feedbacks recebidos.

De maneira geral, isso quer dizer que não devemos esperar semanas ou meses para tratar um problema relatado por um feedback. O XP deve trabalhar com respostas rápidas, desenvolvendo as soluções necessárias para os problemas apontados.

2) Simplicity

Simplicity (Simplicidade) é ter uma mentalidade para tentar resolver todos os problemas da forma mais simples possível.

Muitas vezes nos é pedido para pensar e nos preparar para problemas futuros. O Extreme Programming trabalha com os problemas que temos que resolver hoje ao invés de pensar em problemas que ainda não existem.

O foco deve ser a resolução simples das necessidades existentes hoje e confiar nas próprias habilidades de resolver as soluções que aparecerão no futuro.

É importante ressaltar que trabalhar com simplicidade ainda é trabalhar em soluções funcionais. O simples tem que funcionar, senão torna-se inútil e perda de tempo.

3) Incremental change

Ao invés de criar uma solução complexa que tente atender a todas as necessidades do usuário — e que infelizmente não vão — é melhor optar pela simplicidade e, conforme os feedbacks forem chegando, trabalhar em mudanças incrementais — incremental change.

A ideia do Extreme Programming é trabalhar com pequenos passos por vez, garantindo bons resultados e sempre olhando para o retorno dos clientes e usuários.

4) Embracing change

Todo projeto deve abraçar as mudanças e não temê-las. No desenvolvimento de softwares, UX Design ou Product Manager, é importante ter uma mentalidade voltada para o novo, ao invés de ficar preso ao que não funciona.

5) Quality work

As pessoas, de maneira geral, gostam de fazer um bom trabalho e ver que seus esforços deram resultado.

Quando falamos de Quality work — trabalho de qualidade — esperamos que as pessoas produzam e trabalhem prezando os melhores resultados.

É claro que é fundamental pensar no outro lado da moeda. As pessoas não realizam bons trabalhos em ambientes ruins. Portanto, é importante fornecer boas condições de trabalho, parceria, segurança psicológica e de saúde mental para todas as pessoas do time de projeto.

Dica de Leitura: Segurança Psicológica – Confiança e Inclusão para Inovação e Eficiência

Combinando o Extreme Programming com UX Design

Combinando o XP com UX Design

Como visto até agora, o XP tem valores e princípios muito interessantes para que times consigam ser mais produtivos, rápidos e com um olhar mais colaborativo.

Apesar de terem valores muito parecidos, o Extreme Programming, originalmente, não foi pensando do ponto de vista específico de UX Design.

Por isso, complementar a visão de XP com UX Design aprimora o processo de desenvolvimento de produtos como um todo.

Nesse sentido, as práticas de UX e Design Centrado no Usuário complementam e ajudam o XP com questões como:

A expertise que o UX Design tem em coletar, analisar e identificar necessidades dos usuários faz com que o XP se beneficie dessas práticas e consiga coletar feedbacks melhores e mais precisos para os seus ciclos de desenvolvimento.

Ah, tem também o Lean UX!

Outra metodologia que complementa as práticas de Extreme Programming é o Lean UX.

Assim como no UX Design, algumas práticas e valores do Lean UX são muito similares aos do XP e, por isso, a combinação dessas 3 visões se torna muito poderosa.

Vimos que o XP também valoriza os testes e aprendizados rápidos, tendo em mente pequenos passos por vez, em processos iterativos.

Se você já está familiarizado com Lean UX, pode perceber o quanto eles se assemelham nessas questões. Nesse sentido, combinar as duas metodologias vai ajudar a melhorar questões como:

  • Entendimento e criação de um Minimum Viable Product (MVP);
  • Validar novas mudanças rapidamente;
  • Ser data-driven e tomar decisões mais assertivas.

Dica de Leitura: Lean UX – O Que É e Por Que Usar Em Seus Projetos de UX?

Portanto, a combinação de XP, UX Design e Lean UX é uma abordagem bastante interessante para os projetos de desenvolvimento de produtos.

É claro que adotar todos esses conceitos requer diferentes tipos de profissionais e aqui ressaltamos a importância de construir um time balanceado, contemplando Product Managers, UX Designers, desenvolvedores e outros especialistas que ajudam a implementar todas as práticas da melhor maneira possível.

Benefícios da combinação entre XP, UX Design e Lean UX

A ideia de combinar diversos conceitos e métodos ao Extreme Programming não é algo inédito. Um estudo já foi realizado onde foram analisados os impactos dessa abordagem em times de projeto.

Nesse sentido, segundo o estudo, foram identificados alguns benefícios a partir dessa abordagem múltipla:

Mentalidade voltada para a solução de problemas: os times que utilizaram as 3 abordagens perceberam uma mudança interessante de mentalidade de algo mais reativo para algo mais voltado para o entendimento e solução de problemas.

Engajamento do Time: a partir dessa mudança de mentalidade, as pessoas do time começaram a ficar mais engajadas com o projeto.

Uma vez que todas as pessoas começam a entender quais são as necessidades e os problemas que os usuários querem solucionar, passam a entender qual o valor do próprio trabalho e, dessa forma, se sentem mais motivados e engajados.

Responsabilidades compartilhadas: como consequência do engajamento do time, temos que as responsabilidade começaram ser mais compartilhadas. Uma vez que existe mais contato de todas as pessoas com o usuário e até com os stakeholders, o entendimento do impacto e da responsabilidade fica mais aguçado.

Se antes somente os Product Designers e os Project Managers tinham noção desse nível de responsabilidade, com a abordagem de XP + UX Design + Lean UX essa noção se torna mais difundida.

Maior envolvimento do usuário: graças aos conceitos de Design Centrado do Usuário, utilizados amplamente em UX Design, os times do estudo sentiram grande diferença no nível de participação dos usuários no desenvolvimento do projeto.

O aumento do envolvimento dos usuários é benéfico para ambos os lados, deles e do negócio, por conseguir alinhar os objetivos da empresa com as necessidades mapeadas.

Utilização de ferramentas mais assertivas: principalmente graças ao Lean UX em que há métodos como o Build-Measure-Learn para estabelecer ciclos iterativos de forma mais eficiente, ajudando em todo o processo de desenvolvimento de produtos.

XP também melhorou a qualidade do trabalho: graças às práticas de Extreme Programming, os times sentiram que o trabalho de desenvolvimento de software ganhou mais agilidade e mais qualidade.

Considerações Finais

Apesar do Extreme Programming ser uma metodologia criada com o intuito de auxiliar e melhorar os processos de desenvolvimento de softwares, os seus valores e princípios estão bastante ligados com o UX Design.

Portanto, adotar o XP necessita também abrir os olhos para outros conceitos, como o Design Centrado no Usuário e o Lean UX.

É importante sempre ter em mente que diferentes métodos e conceitos não necessariamente são excludentes, muitas vezes são complementares e necessários para melhorar os processos e, ao final, a experiência do usuário.

Se você gostou desse conteúdo não se esqueça de clicar em curtir e compartilhar! Esse pequeno gesto ajuda bastante no nosso trabalho! Fique à vontade para continuar navegando aqui e, caso queira receber nossos conteúdos por email, inscreva-se na nossa newsletter!


Cursos

Nosso maior orgulho é todo mês ter alunos e alunas contratados em grandes empresas e em países como
Brasil, Estados Unidos, Irlanda, Alemanha, Espanha, Portugal, Áustria, Rep. Tcheca, Nova Zelândia e Canadá.