programação extrema na prática
DESCRIPTION
TRANSCRIPT
Programação eXtrema na Prática
Dairton Bassi [email protected]
www.neurobox.com.br
Ruby
.NetPython
JavaPHP
www.neurobox.com.br
“XP é sobre mudança social.”
Kent Beck
www.neurobox.com.br
www.neurobox.com.br
Ciclo de desenvolvimento
jogo do planejamento
Desenvolvimento(iteração)
entrega (demo)
RetrospectivaMelhoria
www.neurobox.com.br
Ciclo de desenvolvimento
jogo do planejamento
Desenvolvimento(iteração)
entrega (demo)
RetrospectivaMelhoria
www.neurobox.com.br
Ciclo de desenvolvimento
jogo do planejamento
Desenvolvimento(iteração)
entrega (demo)
RetrospectivaMelhoria
www.neurobox.com.br
Ciclo de desenvolvimento
jogo do planejamento
Desenvolvimento(iteração)
entrega (demo)
RetrospectivaMelhoria
www.neurobox.com.br
Pair Programming
www.neurobox.com.br
Propriedade coletiva
Se eu perceber uma oportunidade para simplificar, consertar ou melhorar o código escrito por outra pessoa, peço autorização verbalmente ou por escrito?
www.neurobox.com.br
Refatorações
Uma modificação no sistema que não altera o seu comportamento funcional, mas melhora sua estrutura interna.
www.neurobox.com.br
Olhando a interface
Conhecendo o código
Código refatorado
www.neurobox.com.br
Olhando a interface
Conhecendo o código
Código refatorado
www.neurobox.com.br
Olhando a interface
Conhecendo o código
Código refatorado
www.neurobox.com.br
Olhando a interface
Conhecendo o código
Código refatorado
www.neurobox.com.br
Cliente
Responsável por escrever “histórias”
Trabalha no mesmo espaço físico do grupo
Avalia as novas funcionalidades entregues
Dá feedback rapidamente
Solicita ou aprova mudanças
www.neurobox.com.br
Desenvolvedores
Desenvolvem o software.
Definem e refinam a arquitetura.
Testam o que foi desenvolvido.
Tiram dúvidas com o cliente.
Podem sugerir melhorias funcionais.
Colaboram para produzir software com valor agregado.
www.neurobox.com.br
Coach
Um desenvolvedor experiente
Identifica as habilidades da equipe
Lembra das regras do jogo (XP)
Eventualmente faz programação em pares
Não desenha arquitetura
Seu papel diminui com o tempo
www.neurobox.com.br
Tracker
Coleta estatísticas e as exibe
Mantém histórico do progresso
Alguns exemplos:
Número de histórias implementadas
Número de testes
Número de classes e linhas de código
www.neurobox.com.br
Área de Trabalho Informativa
www.neurobox.com.br
Grande Órgão Público de SP
Apoio da gerência
Conhecimento técnico heterogêneo
Alguns estavam animados, alguns estavam apreensivos ...outros descrentes
Projeto complicado e problemático
A diretoria queria resultados palpáveis
www.neurobox.com.br
Um dia de um programador XP
Escolhe uma história do cliente
Procura um par livre
Escolhe um computador para programar
Discute as modificações recentes no sistema
Discute a história com o parceiro
www.neurobox.com.br
Um dia de um programador XP
Pensa em novos testes
Faz a implementação e os testes
Faz todos os testes passarem
Integra o novo código no repositório
www.neurobox.com.br
Várias vezes ao dia
Executa testes antigos
Busca oportunidades para simplificação
Modifica a implementação incrementalmente
Escreve novos testes
Faz todos os testes passarem
Integra novo código ao repositório
www.neurobox.com.br