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.