segunda-feira, 31 de outubro de 2016

Métodos Ágeis - XP

A Extreme Programming, ou simplesmente XP, é uma metodologia de software ágil, foi criada nos Estados Unidos por Kent Beck em 1997. Sua abordagem abusa do desenvolvimento iterativo e conta com uma aproximação do cliente com o projeto. Nele todos os requisitos são descritos em histórias, que são implementados como tarefas. O desenvolvimento das tarefas é realizadas em pares e antes da codificação das mesmas é criado testes.

O XP é formado fundamentalmente por princípios e valores, são características que moldam o desenvolvimento de software sobre o escopo dessa metodologia. São ao todo cinco valores e quatorze princípios. Vejamos cada um a seguir.

Valores do XP


  • Comunicação
O XP prima pela comunicação ativa entre os clientes e a equipe de desenvolvimento, com o intuito de reduzir requisitos equivocados e assim construir um software mais próximo do que o cliente espera. Além disso o XP prioriza uma comunicação presencial com o objetivo de garantir que todas as partes envolvidas em um projeto tenham a chance de se compreender da melhor maneira possível.
  • Coragem
No XP acredita-se que o erro vai acontecer, o diferencial seria como tratar a ocorrência do mesmo. Assim, impedir mudanças e frear a criatividade do cliente não são consideradas no XP. Nessa metodologia a equipe deve se adaptar as modificações e está confiantes nos mecanismos do XP.
  • Feedback
Os desenvolvedores procuram entregar as tarefas o mais rápido possível, para que assim o cliente possa usufruir das funcionalidades e prover informações a respeito delas.
  • Respeito
Saber ouvir, saber compreender e respeitar o ponto de vista do outro é essencial para que um projeto de software seja bem sucedido.
  • Simplicidade
Nesse aspecto a equipe XP se concentra, primeiramente, em desenvolver as tarefas essências para o funcionamento do sistema, evitando desenvolver funcionalidades que talvez nunca cheguem a ser utilizadas.

Princípios
  1. Auto-semelhança: Soluções que funcionem em diferentes contextos
  2. Benefício Mútuo: Estrutura que proporciona benefícios para as diferentes partes do projeto
  3. Diversidade: Equipes com profissionais de varias áreas, arquiteto, designer, programadores etc. 
  4. Economia: Priorizar módulos que gerem receita mais rápido e controle de gastos no desenvolvimento
  5. Falha: Testar soluções sem medo de falhas.
  6. Fluidez: O objetivo é fazer com que o sistema seja desenvolvido de forma evolutiva e vá crescendo em funcionalidades a cada nova iteração.
  7. Humanismo: Compreender a natureza humana para que possamos potencializar o que ela tem de melhor e suprimir o que tem de pior
  8. Melhoria: Aprimoramento continuo do software.
  9. Oportunidade: Enxergar problemas como oportunidades.
  10. Passos de Bebê: Realizar pequenas modificações por vez.
  11. Qualidade: Desenvolver visando a melhor qualidade possível
  12. Redundância: Os problemas críticos devem ser resolvidos com varias soluções
  13. Reflexão: A equipe analisa seu processo durante a construção do software, discutindo falhas e acertos.
  14. Responsabilidade Aceita: A responsabilidade não deve ser atribuída, ela deve ser aceita.

Referencia:

EXTREME PROGRAMMING Disponível em:<http://www.desenvolvimentoagil.com.br/xp/> Acessado em 30 de Outubro de 2016.

SOMMERVILLE, Ian. Engenharia de Software. 8ª Edição. São Paulo: Addison-Wesley, 2007.

Nenhum comentário:

Postar um comentário