Extreme Programming (XP) é uma metodologia de desenvolvimento de software ágil, criada nos EUA no fim década de 90. A programação extrema, o desenvolvimento ágil do software ou as metodologias de desenvolvimento de software têm ganhado popularidade por ajudar a criar sistemas de qualidade elevada, produzidos em menos tempo e custos reduzidos. Tais objetivos são alcançados através de um pequeno conjunto de valores, princípios e práticas, que diferem substancialmente da forma tradicional de se desenvolver software.

A programação extrema conduz a uma entrega mais rápida do código útil e a uma redução substancial no risco do projeto.

Um dos intuitos da XP é responder a mudanças mais que seguir um plano.

Abaixo alguns tópicos sobre XP

  • Valores - os valores que devem ser utilizados por componentes XP;
  • Gerência - algumas palavras para a gerência do usuário;
  • O jogo do planejamento - como gravar exigências e arranjá-las em seqüência para permitir a entrega adiantada;
  • Metáforas - como comunicar o modelo da aplicação;
  • Projeto simples – Lutando contra a complexidade;
  • Testar - Você deve testar cada linha do código!
  • Refactoring – Otimização do código sem alterar seu comportamento externo;
  • Programação do par - trabalhando junto em pares de programadores;
  • A posse coletiva - qualquer um pode mudar todo o código, não há dono para o código;
  • Semana de 40 horas - os programadores entregam o código melhor se não forem abusados;
  • Cliente no local - o cliente é a determinante real da entrega do tempo ligado da qualidade;
  • Padrões do codificação - como começar o acordo em padrões.