Modelos de Processo de Software
eXtreme Programming
MO409 – Engenharia de Software
Profa. Eliane Martins
André Drummond
Danilo Benzatti
RA 992640
RA 980942
Assuntos abordados
Introdução
Visão Geral
Regras e Práticas
–
–
–
–
Planejando
Projetando
Codificando
Testando
Qualidade
Configuração de Software
Dificuldades na Vida Real
Conclusões
Introdução
Desenvolvida nos anos 1990 e primeiramente
utilizada em março de 1996 por Kent Beck.
Diretrizes
–
–
–
–
Simplicidade
Comunicação
Coragem
Feedback
Visão Geral
Cenários de Teste
Clientes
Requisitos
Plano
de
Entregas
Requisitos
Novos Requisitos
Iteração
Plano
de
Iteração
Velocidade
Bugs
Desenvolvimento
Versão
Atual
Testes
de
Aceitação
Entrega
de
Versões
Planejando
Cenários de Teste
Clientes
Requisitos
Plano
de
Entregas
Histórias
Plano de Entregas
Pequenas Versões
Velocidade
Requisitos
Novos Requisitos
Iteração
Plano
de
Iteração
Velocidade
Bugs
Desenvolvimento
Versão
Atual
Testes
de
Aceitação
Entrega
de
Versões
Planejando (II)
Cenários de Teste
Clientes
Requisitos
Plano
de
Entregas
Requisitos
Novos Requisitos
Iteração
Plano
de
Iteração
Velocidade
Bugs
Desenvolvimento
Versão
Atual
Testes
de
Aceitação
Entrega
de
Versões
Iterações
Plano de Iteração
Mova as Pessoas
Reuniões Rápidas
Conserte o XP
Projetando
Cenários de Teste
Clientes
Requisitos
Plano
de
Entregas
Requisitos
Novos Requisitos
Iteração
Plano
de
Iteração
Velocidade
Bugs
Desenvolvimento
Versão
Atual
Testes
de
Aceitação
Entrega
de
Versões
Simplicidade
Metáfora do Sistema
Cartões CRC
Soluções Rápidas
Reestruturação
Codificando
Cenários de Teste
Clientes
Requisitos
Plano
de
Entregas
Requisitos
Novos Requisitos
Iteração
Plano
de
Iteração
Velocidade
Bugs
Desenvolvimento
Versão
Atual
Testes
de
Aceitação
Entrega
de
Versões
Disponibilidade do Cliente
Padrões de Codificação
Priorize o Teste Unitário
Programação em Pares
Integração de Código
Posse Coletiva do Código
Sem Horas Extras
Testando
Cenários de Teste
Clientes
Requisitos
Plano
de
Entregas
Teste Unitário
Bugs
Testes de Aceitação
Requisitos
Novos Requisitos
Iteração
Plano
de
Iteração
Velocidade
Bugs
Desenvolvimento
Versão
Atual
Testes
de
Aceitação
Entrega
de
Versões
Qualidade
Mova as Pessoas
Simplicidade
Cartões CRC
Reestruturação
Código Padronizado
Programação em Pares [Willians, 2001]
XP vs CMM [Paulk, 2001]
Configuração de Software [Asklund, 2004]
Aspectos Positivos:
–
–
–
–
Reuniões Rápidas
Plano de Entregas
Teste Unitário
Testes de Aceitação
Aspectos Negativos
– Posse Coletiva do Código
– Pequenas Entregas
Dificuldades na Vida Real
Equipes com mais de 20 programadores
[Crocker, 2001]
Comprometimento com código existente para
manter aplicações existentes;
Longos períodos requeridos para feedback;
Distribuição geográfica de programadores;
Sistemas de grande porte.
Conclusões
XP não tenta prever o futuro
Equipes Pequenas, Requerimentos Vagos,
Freqüente Mudanças de Escopo
Organiza o processo de desenvolvimento sem
criar burocracias rígidas
Não use Extreme Programming se...
– Você já utiliza um processo e os desenvolvedores
e clientes estão satisfeitos;
– Seus requisitos são realmente fixos;
Referências
http://www.extremeprogramming.org/
http://www.xispe.com.br/
[Willians, 2001] Laurie Williams , Richard L. Upchurch, In support
of student pair-programming, Proceedings of the thirty-second
SIGCSE
[Paulk, 2001] Mark C. Paulk, Extreme Programming from a CMM
Perspective, IEEE Software, November/December 2001
[Asklund, 2004] Ulf Asklund, Lars Bendix, Torbjörn Ekman,
Software Configuration Management Practices for eXtreme
Programming Teams, Lund Institute of Technology
[Crocker, 2001] Ron Crocker. The 5 reasons XP can't scale and
what to do about them, Motorola, Inc.
Backup
Backup (II)
Backup (III)
Backup (IV)
Backup (V)
Download

Engenharia de Software Profa. Eliane Martins