Você está na página 1de 3

DCC / ICEx / UFMG

Programao Extrema (XP) Programao Extrema (XP)


Proposta a partir de boas prticas de desenvolvimento iterativo Prope o envolvimento do cliente ao extremo
O cliente (ou seu representante) deve estar disponvel durante todo o desenvolvimento

Eduardo Figueiredo
http://www.dcc.ufmg.br/~figueiredo

Programadores trabalham em pares

Dos Requisitos aos Testes


Os requisitos so escritos como cenrios (estrias do usurio)
Estas estrias so implementadas diretamente por um conjunto de tarefas

Modelo de Processo XP
O espao de tempo entre releases curto
Selecionar histrias do usurio Dividir histrias em tarefas Planejar a verso e os testes

Para cada tarefa, desenvolvido um conjunto de testes


Testes so feitos antes da implementao

Avaliar o sistema

Liberar software

Desenvolver, integrar e testar

Prticas de XP
Planejamento incremental Pequenas releases Projeto simples Desenvolvimento dirigido por testes Refatorao
Reestruturao constante de cdigo

Prticas de XP
Programao por pares Propriedade coletiva do cdigo
Qualquer um pode modificar qualquer coisa (no h ilha de conhecimento)

Integrao contnua Ritmo sustentvel Cliente sempre disponvel

Pequenas Releases
Novas verses do sistema podem ser compiladas vrias vezes por dia
Testes unitrios automatizados devem ser executados aps cada compilao

Refatoraes
XP prega que modelar o sistema para mudanas futuras um esforo intil Refatoraes so constantemente aplicadas para permitir adaptaes

Incrementos so entregues ao cliente a cada duas semanas

Testes em XP
XP enfatiza mais as atividades de teste que outros mtodos geis Prticas
Desenvolver primeiro os testes Codificao incremental a partir dos testes Envolvimento do usurio na escrita e validao dos testes Uso de ferramentas para testes automatizados

Desvantagens de Testar Primeiro


Programadores preferem programar do que testar
Teste podem ser mal feitos ou incompletos

Alguns testes so difceis de escrever


Pode ser to difcil quando implementar

Testes de aceitao tambm so incrementais

difcil avaliar a abrangncia dos testes

Programao por Pares (PP)


Dois programadores sentam juntos na frente de um mesmo computador Os pares nem sempre so os mesmos
A alocao dinmica dos pares sugerido, pois favorece a propriedade coletiva do cdigo

Vantagens de PP
Responsabilidade comum
As acertos e falhas so de responsabilidade de toda a equipe

Processo informal de reviso


Enquanto um programa, o parceiro revisa informalmente o cdigo

Favorece a melhoria da qualidade


Os parceiros discutem oportunidades para refatoraes

Bibliografia Principal
Ian Sommerville. Engenharia de Software, 9 Edio. Pearson Education, 2011.
Cap. 3 (Seo 3.3)

Bibliografia Adicional (XP)


Kent Beck and Cynthia Andres. Extreme Programming Explained: Embrace Change, 2nd Edition. Addison-Wesley Professional, 2004.