Introducao XP

Preview:

DESCRIPTION

Apresentação de Introdução do Extreme Programming

Citation preview

Extreme Programming

E existe outra maneira de desenvolver?

Fábio Ferrari

O que é XP?

Princípio do Extreme Programming

Custo de Mudanças em Waterfall:

Custo de Mudança em Waterfall:

Princípio do Extreme Programming

Custo de Mudanças com XP:

Doze Práticas

Feedback rápido:• Pair Programming• Planning Game• Continuous Testing

(TDD)• On-Site Customer

Processo contínuo:• Continuous Integration• Small Releases• Refactoring

Entendimento comum:• Coding Standards• Collective Code

Ownership• Simple Design• System Metaphor

Trabalho saudável:• 40-Hour Work Week

Pair Programming

Pair Programming

Pair Programming

Pair Programming

Planning Game

Planning Game

Continuous Testing (TDD)

Código de Teste (xUnit)

Código de Produção

On-Site Customer

Cliente:• se compromete• resolve questões/disputas• prioriza• aprende a confiar

Continuous Integration

Necessário:• repositório único• build automático• código auto-

testável

Small Releases

Refactoring

Coding Standards

Facilita:• reuso• refactoring• entendimento por outros

Collective Code Ownership

"It's MY code...My PRECIOUS code..."

(Gollum)

Simple Design

"Do the Simplest Thing that Could Possibly Work"

"You Aren't Going to Need It"

Simples:• roda todos os testes• revela sua intenção• sem duplicação de código• menor número de classes e métodos

System Metaphor

• visão do sistema como um todo• uso de metáforas para descrição• leva conceitos de um domínio popular para um domínio

abstrato

Exemplo:O sistema operará como uma linha de montagem, recebendo os pacotes de voz como chassis de carros aonde o sistema fará a montagem do RTP/UDP como aros e pneus para o posterior envio pela rede ethernet como cegonhas.

40-Hour Work Week

• regra do XP: se houver hora-extra numa semana, na próxima semana não será permitido

Obrigado