quarta-feira, 22 de novembro de 2017

Extreme Programming: conceitos e valores.

A Programação Extrema, ou simplesmente o XP, é uma metodologia ágil cujo foco está no desenvolvimento de software com requisitos vagos e em constante mudança. É adota a estratégia de constante acompanhamento e realização de vários ajustes durante o desenvolvimento de software. O XP foi criado em 1997 por Kent Beck e tornou-se notório após a OOPLSA 2000 (Conferência de Programação Orientada a Objetos, Sistemas, Liguagens e Aplicações).
O objetivo do XP é otimizar o uso das boas práticas na engenharia de software. Entre elas podemos citar o teste, visto que procurar defeitos é perda de tempo, nós temos que constantemente testar. Entre outras práticas, o XP diz que:
  • Já que testar é bom, que todos testem o tempo todo;
  • Já que revisão é bom, que se revise o tempo todo;
  • Se projetar é bom, então refatorar o tempo todo;
  • Se teste de integração é bom, então que se integre o tempo todo;
  • Se simplicidade é bom, desenvolva uma solução não apenas que funcione, mas que seja a mais simples possível;
  • Se iterações curtas é bom, então mantenha-as realmente curtas;
O XP já foi utilizado por grandes empresas como a Chrysler no seu sistema de folha de pagamento global que envolvia seus 90 mil empregados ao redor de todo o mundo. Esse projeto tem 2.000 classes e 30.000 métodos, e foi para produção sem nenhum atraso.
As práticas da Programação Extrema são fundamentadas nos seguintes valores:

1.      Comunicação: segundo Beck “Os problemas nos projetos invariavelmente recaem sobre alguém não falando com alguém sobre algo importante”. Assim, a comunicação enfatiza que devemos sempre estar se comunicando seja entre desenvolvedores ou com os clientes. O XP é organizado em práticas que não podem ocorrer se não houver comunicação. Para um projeto de sucesso é necessária muita interação entre os membros da equipe, programadores, cliente, treinador. O time precisa ter muita qualidade nos canais de comunicação, sendo conversas cara-a-cara uma das melhores formas, mas também são utilizados telefonemas ou e-mails.

2.      Feedback: quanto antes, melhor. Para sabermos se estamos fazendo a coisa correta, precisa ser concreto perguntando diretamente ao código e precisa ser constante através de iterações curtas, incrementos e releases. Aqui garantimos constantemente junto ao cliente se estamos fazendo certo e se o prazo está de acordo com o planejamento. As respostas às decisões tomadas devem ser rápidas e visíveis. Os envolvidos precisam estar cintes do que está acontecendo. E os clientes devem se manter próximos dos desenvolvedores, para sempre que necessário passar informações sobre qualquer dúvidas ao longo do projeto.

3.      Coragem: muitas vezes não fazemos as coisas porque não temos coragem de fazer as mudanças. XP diz que devemos ter coragem de sempre colocar o cliente a par do que está acontecendo. Porém, em equipes XP consideram que errar é algo natural, e que quebrar eventualmente o que já estava funcionando pode ocorrer, por isso, é necessário ter a devida coragem para lidar com esse tipo de risco, as práticas do XP são voltadas para proteger o software das mais variadas formas, e as equipes confiam nessas práticas, o que os tornam adeptos as mudanças quando necessário, em vez de impedir as ideias do cliente e evitar mudanças.

4.      Simplicidade: para atender rapidamente às necessidades do cliente, quase sempre um dos valores mais importantes é simplicidade. Normalmente o que o cliente quer é muito mais simples do que aquilo que os programadores constroem. O XP se empenha em assegurar que a equipe se concentre em desenvolver primeiramente o que é realmente necessário, em vez de rechear o projeto com várias funcionalidades que o cliente um dia possa a vir utilizar.
5.      Respeito: é o valor mais básico de todos, é o que dá sustentação aos demais. Todos têm sua importância dentro da equipe e devem ser respeitados e valorizados. Isso ajuda a garantir que o projeto seja bem-sucedido. A falta do respeito dentro de um projeto, pode ser o suficiente para que o mesmo enfrente muitos problemas, causando até a impossibilidade de sua continuação.
A ao contrário do que se acredita, o XP pode ser aplicada em projetos de vários portes, pois seu dinamismo é tão latente, que permite seu uso por equipes criativas em qualquer projeto.
A metodologia Extreme Programming é dinâmica e flexível, porém é necessária muita disciplina para usá-la em um projeto. Para demonstrar isso, será apresentado uma postagem com o conjunto sugerido de "boas práticas". 

Nenhum comentário:

Postar um comentário