programação extrema na prática

Post on 18-Dec-2014

2.133 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

Programação eXtrema na Prática

Dairton Bassi dbassi@neurobox.com.br

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

Jogo do planejamento

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

Testes?

www.neurobox.com.br

Testes?

okX

www.neurobox.com.br

Testes?

okX

okX

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

Build no monitor

www.neurobox.com.br

Área de Trabalho Informativa

www.neurobox.com.br

Área de Lazer Informativa

www.neurobox.com.br

Banheiro Informativo...

www.neurobox.com.br

O Ambiente

www.neurobox.com.br

Quadro de histórias

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

www.neurobox.com.br

Dairton Bassidbassi@gmail.com.br

twitter: dbassi

Obrigado!

top related