Desenvolvimento Ágil de Software com Extreme Programming

Post on 04-Dec-2014

1.124 views 1 download

description

 

Transcript of Desenvolvimento Ágil de Software com Extreme Programming

Luiz Eduardo de O. Fonseca

Programador e Web DesignerOrangeweb / O Lojão Magazine

Extreme Programmi

ng (XP)Desenvolvimento Ágil de Software

O Modelo Tradicional....

• Analisar, Projetar, Construir, Rodar e Manter;

• Baseado nos Moldes Industriais;• O Analista Nostradamus;• Alto Custo nas Mudanças;• O Cliente espera muito tempo para usar o software;• O Programador Cowboy;

O Modelo Ágil....

• Curtas Iterações;• Pequenas Entregas; • Abraçar as Mudanças;• Uso de Patterns e Frameworks;• Evitar riscos no desenvolvimento;• O AGORA é o que importa;• Cliente Presente;

Manifesto Ágil

Indivíduos e Interações

.. Mais que ...

Processos e Ferramentas

Manifesto Ágil

Software em Funcionamento

... Mais que ...

Documentação Abrangente

Manifesto Ágil

Colaboração com o Cliente

... Mais que ...

Negociação de Contratos

Manifesto Ágil

Responder a mudanças

... Mais que ...

Seguir um Plano

Extreme Programming (XP)• Proposto por Kent Beck (1999/2000) • Bom para Equipes Médias e Pequenas;• Software com Requisitos Vagos e Mudanças Freqüentes;• Permitir que o cliente priorize as funcionalidades;• Baseado em 4 Valores;

Valores do XP

1. Comunicação2. Simplicidade3. Feedback4. Coragem

XP - Comunicação

• Maior comunicação entre a Equipe;• Maior comunicação com o Cliente;• Telefonemas mais que Emails;• E-mails mais que SMS;• Conversas cara-a-cara mais que

tudo;• Código Auto Explicativo e Simples

mais que Documentação escrita;

XP - Simplicidade

• Redução da Complexidade do Sistema;

• Uso de práticas comuns;• KISS – Keep It Stupid Simple• DRY – Don’t Repeat Yourself

XP - Feedback

• Feedback sobre a qualidade de Código;

• Feedback sobre o Desenvolvimento;• Feedback através de Testes;• Facilita tomada de decisões;• Requisitos e Prazos reavaliados;• O Cliente aprende sobre o Sistema;• A Equipe aprende sobre o Cliente;

XP - Coragem

• Refatorar Sempre que necessário;• Testar, testar, testar;• Abraçar as Mudanças de Escopo;• Alterar o sistema em estado

avançado;• Compartilhar o código;

XP – A Equipe

• Até 10 pessoas;• Não existe um chefe, existe um

Líder;• Programadores, Testadores,

Analistas, Gerente, Coach (Orientador) e Tracker (Métricas);

• Programação em Par;• Ambiente agradável;

XP – Jogo de Planejamento• Stand-up Meeting;• Definição dos Requisitos em

Cartões;• Definição de Estimativas e

Prioridades;• Releases (Pequenos);• Iterações;• Cliente presente e ativo;• Feedback em todo o processo;

XP – Testes

• Testes unitários;• Testes de aceitação;• Cada estória deve ser ‘testável’;• O Cliente deve aceitar o teste;• Feedback na hora;• São rodados em todas as iterações;

XP – Releases (Pequenos)

• Software funcional;• Cliente satisfeito;• Gera maior valor para o cliente;• Feedback;• Design Simples e Integração

Contínua;• Levam as Estórias Prioritárias;

XP – Refatoração

• Mude o que está errado;• Melhore o que está lento;• Simplifique o que é complicado;• É Realizado o tempo todo;• Melhorias na estrutura do código;• Evite ser o Cowboy da turma;

XP – Design Patterns

• Abrace um;• Nomes de métodos, classes,

variáveis...• Promove a Simplicidade;• Fácil entendimento;• Não reinvente a roda;

XP – Ritmo Sustentável

• Software de qualidade;• Bons cronogramas;• Prazos Reais e Possíveis;• O ‘fim’ da Hora Extra;• Melhor controle do Tempo;

XP – Como usar ?

• Enfatize o problema mais importante;• Aproxime-se do Cliente;• Faça sua equipe ser uma equipe;• Use Design Patterns;• Evite Nostradamus e Cowboys;• Teste, Teste e Teste.• Refatore com freqüência;• Comunicação entre a Equipe / Cliente;

XP – Quando não usar ?

• Equipe grande;• Equipe geograficamente espalhada;• Equipe de Cowboys, Nostradamus e

Garotos Prodígios;• Código Legado;• Os chefes dominam;• Pessoas isoladas;

XP – Perguntas? ...

?

Muito obrigado....

Luiz Eduardo de Oliveira Fonseca

Contato: luizeof@gmail.comBlog: www.webdevbrasil.com.br