UX UX
Extreme Programming e o Desenvolvimento Ágil de Softwares
Lista de conteúdos
UX 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!


Programas

Nosso maior orgulho é todo mês ter pessoas da comunidade contratadas em grandes empresas, em países como
Brasil, EUA, UK, Irlanda, Alemanha, Holanda, Espanha, Portugal, Áustria, Rep. Tcheca, Nova Zelândia e Canadá.

Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro
Parceiro Parceiro