Extreme Programming Ricardo L. A. Bánffy Hiperlógica
Motivações Requerimentos mutáveis Não é mais possível projetar um sistema ao longo de 6 meses, implementá-lo ao longo de um ano, colocá-lo em produção e esperar que ele ainda resolva algum problema real Limitação da complexidade Custo de manutenção de um sistema aumenta com o tempo se a complexidade não for limitada Agilidade Releases frequentes garantem que problemas mais críticos são resolvidos mais cedo
Internet-time e vantagens de first-to-market
12 práticas
12 práticas Processo de Planejamento (“Planning Game”)
Releases Frequentes
Metáfora do Sistema
O Mais Simples que Possa Funcionar
Testar Antes
Refactoring Pair-Programming
Propriedade Coletiva do Código
Integração Contínua
Semanas de 40 Horas
Cliente Sempre Presente
Padrões de Codificação
Planning Game Equipe de negócios (Cliente) escreve estórias (curtas) sobre funcionalidades do sistema, usualmente em cartões
Equipe técnica (Programadores) estima o custo das estórias
Cliente decide qual  a duração do próximo ciclo
Cliente escolhe, com base nas estimativas dos programadores, quais estórias serão atendidas nesse ciclo e quais ficarão nos próximos ciclos
Garante que o cliente tenha o maior retorno em cada ciclo de desenvolvimento
Releases Frequentes Minimizam a quantidade de recursos investida em cada release
Ciclos curtos, na ordem de dias ou semanas, permitem retorno rápido sobre o investimento – funcionalidades importantes entrarão em funcionamento mais cedo

Extreme Programming