O Melhor do XP

Em um post anterior comentei o que acho que existe de melhor no Scrum. Agora vim falar de XP. Tenho pontos de discordai em relação ao XP, principalmente em relação a requisitos, requisitos não são conversações em andamento como muitos do XP pensam, logo quando falamos de Casos de Uso não estamos falando meramente só de mais níveis de detalhamento. Você pode usar as estórias do usuário sem problemas, mas em certos contextos não será a melhor solução.

Mas neste post não vim falar das diferenças sobre casos de uso e estórias do usuário, isso posso fazer em outro post, como disse antes aqui vi falar das coisas que acho muito saudáveis no XP, tais práticas em valores são concebíveis para vários projetos em vários contextos.

Quatro Valores

Acho muito válido uma metodologia de desenvolvimento de software como o XP focar em valores, é comum vermos papéis, práticas, guias, fluxo de trabalho, mas princípios? não é muito comum, mas acho muito válido, por que em certas situações somente a utilização desses princípios que fará com que a mudança ocorra.

Os Quatro valores do XP são: Comunicação, Simplicidade, Feedback e Coragem. São valores simples que deve ser usados até mesmo como valores na sua vida pessoal, mas por que utilizar esses valores no desenvolvimento de software?



Por que muitas vezes para mudar uma situação você precisa coragem. Essa coragem pode significar ser sincero e honesto com você mesmo para começar e depois com a empresa para qual você trabalha, muitas vezes a tartaruga foi colocada em cima do poste por que não existia outro lugar para ela, então você tem que sempre estar questionando o que, como e por que você está fazendo algo.

A comunicação é fundamental, mas não é por que existem pessoas em uma sala que existe comunicação. Em muitos casos a comunicação só acontece por que existe dependência de tarefas, fazer com que as pessoas em um projeto conversem sobre o que fazem e o que querem fazer é a forma para aumentar o envolvimento das pessoas no projeto e bem como começar a formar uma equipe ao invés de um grupo.

A Simplicidade é algo que deve ser meta para todos, por incrível que pareça é difícil fazer algo simples, como disse Leonardo Da Vince: "A simplicidade é a ultima sofisticação". Ou como prega a filosofia KISS: Keep it Simple Stupid. A Simplicidade tem que existir des da forma de trabalho da equipe, a arquitetura, até o código.

Simples é Diferente de Simplório

Aqui temos que tomar cuidado. Simples não significa simplista, a questão não é subestimar as coisas ao ponto de subestimar a complexidade das cosias. Mas o detalhe é eliminar a complexidade, isso não é possível sempre, logo você tem que procurar diminuir a complexidade através de abstrações e o objetivo é diminuir a complexidade e não aumenta-la. Para que as coisas fiquem mais fácil você deve ter um arquitetura simples, uma metáfora simples, isso não significa fácil.

Simplório é algo que chega a ser idiota, de novo esse não é o foco. Ser simples é fundamental, isso facilita o trabalho de outras pessoas na equipe, não estou falando só de simplicidade na arquitetura, mas no processo e na gestão também.

O Medo do Feedback

Muitas pessoas tem medo do Feedback, assim como tem medo de mudanças. Mudanças de paradigmas são complicadas para a maioria das pessoas, como já disse o Grande Tom De Marco a primeira resposta para a mudança é sempre emocional. Então não se apegue a primeira resposta das pessoas, você tem que achar formas de contornar a situação, tudo que falamos para as pessoas fica no subconsciente delas e mais hora ou menos hora isso começa a agir sobre elas e quando elas menos olham já estão modificadas por conta disso.

Voltando a Coragem

Você não deve se contentar com o ritmo das coisas em sua empresa, os limites e os padrões existem para serem quebrados, o mais importante é fazer as coisas acontecerem nem que para tirar as pessoas da inércia você precise dar alguns empurrões. Nem todo mundo tem perfil para fazer qualquer atividade em uma equipe, você precisa ajudar a equipe a se descobrir, saber o quem é bom no que e focar nesses pontos positivos das pessoas.

Voltando a Comunicação

Ainda excite uma forte cultura no Brasil de que certas pessoas não deveriam saber de certas coisas, até certo ponto concordo com isso, mas em uma escala maior discordo dessa visão. Quando as pessoas estão em um projeto desenvolvimento de software elas estão em um barco e todos querem saber para onde o barco vai e por que ele vai passar tão perto daquelas pedras pontudas.


Qual o Rumo do barco

As pessoas podem não falar para vocês, mas todos se sentem muito melhor e começam a se envolver mais no projeto quando sabem o rumo do mesmo. Saber o rumo do projeto significa saber o que as pessoas estão fazendo e porque estão fazendo e como estão fazendo. Isso não significa passar todos os detalhes mas nada que não possa ser atingido com a prática da reunião de pé todos os dias.

Todas as práticas do XP são concebidas alinhadas com esses 4 valores, as práticas se ajudam umas as outras, além disso as práticas do XP como refactoring, Integração Continua, Programação em pares e outras são focadas para o desenvolvimento e ajudam a melhorar a comunicação para equipe, esse é um dos grandes diferencias do XP para outras metodologias.

XP é bagunça?

Não XP não é bagunça, XP tem ótimas práticas como a prática dos grandes gráficos visíveis a todos na sala do projeto e bem como a prática do Tracker. Para fazer XP você precisa de muita disciplina e ao contrário do que as pessoas pensam se você sem formalismos ou com um método mais livre isso não significa que você está usando XP.

O XP foca nos valores, além de fixar práticas mais próximas ao desenvolvimento de software e testes, isso ajuda a melhorar a qualidade do código e bem como a comunicação da equipe.

Até a próxima, Abraços.

Popular posts from this blog

Kafka Streams with Java 15

Rust and Java Interoperability

HMAC in Java