XP
eXtreme Programming
Roberto Brito
Raphael Bertassin
<O que é ?>
• XP ou eXtreme Programming (Programação
extrema), é uma metodologia ágil para equipes
pequenas e médias e que irão desenvolver
software com requisitos vagos e em constante
mudança.
<Criadores>
• Ron Jeffries, Kent Beck e Ward
Cunningham
Em 1990:
• Fatores internos
• Programação OOP (Object-
Oriented Programming)
• Fatores Externos
• Boom das pontocom
• Vida dos produtos
<Manifesto Ágil>
Indivíduos e interação entre eles
mais que processos e ferramentas
Software em funcionamento
mais que documentação abrangente
Colaboração com o cliente
mais que negociação de contratos
Responder a mudanças
mais que seguir um plano
Ou seja, mesmo havendo valor nos itens em
preto, valorizamos mais os itens em vermelhos.
(adaptado)
<Para que serve?>
• Adaptar as necessidades:
• Mercado
• Tecnologia
• Trabalhar de um jeito diferente (interativa)
• Focada em resultados, no escopo do projeto
Onde aplicamos?
• Desenvolvimento de software
• Web based applications
• Windows based applications
• Mobile based applications
• Cloud Solutions
• ...
• n based applications
<Como é estruturado?>
Valores
Comunicação
Simplicidade
Feedback
Coragem
Respeito
Princípios básicos
Feedback rápido
Presumir simplicidade
Mudanças incrementais
Abraçar mudanças
Trabalho de alta qualidade.
<12 Práticas do XP>
• O Jogo do Planejamento (The Plannig Game)
• Pequenos lançamentos (Small Releases)
• Metáfora (Metaphor)
• Projeto Simples (Simple Design)
• Refatoramento (Refactoring)
• Teste (Testing)
• Programação em Pares (Pair Programming)
• Propriedade Coletiva (Collective Ownership)
• Integração Contínua (Continuous Integration)
• Semana de 40 horas (40-hour Week)
• Cliente no Local (On-Site Customer)
• Padrões de Codificação (Coding Standards)
<Tradicionais versus Ágeis>
<Vantagens>
• Iterações curtas;
• Diminuição dos custos de comunicação;
• Levar em consideração que as coisas vão mudar ao
longo do caminho;
• Testes automatizados;
• Integração contínua;
<Desvantagens>
Rigidez nas empresas para a implementação
<Veja quem já trabalhou>
<Nesse contexto>
...
<Em Resumo>
<!>
Dúvidas? Não, então!
Obrigado!

Xp - extreme programing