Desenvolvimento Ágil de Software com Extreme Programming
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: [email protected]: www.webdevbrasil.com.br