23
Extreme Programming E existe outra maneira de desenvolver? Fábio Ferrari

Introducao XP

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Introducao XP

Extreme Programming

E existe outra maneira de desenvolver?

Fábio Ferrari

Page 2: Introducao XP

O que é XP?

Page 3: Introducao XP

Princípio do Extreme Programming

Custo de Mudanças em Waterfall:

Page 4: Introducao XP

Custo de Mudança em Waterfall:

Page 5: Introducao XP

Princípio do Extreme Programming

Custo de Mudanças com XP:

Page 6: Introducao XP
Page 7: Introducao 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

Page 8: Introducao XP

Pair Programming

Page 9: Introducao XP

Pair Programming

Page 10: Introducao XP

Pair Programming

Pair Programming

Page 11: Introducao XP

Planning Game

Page 12: Introducao XP

Planning Game

Page 13: Introducao XP

Continuous Testing (TDD)

Código de Teste (xUnit)

Código de Produção

Page 14: Introducao XP

On-Site Customer

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

Page 15: Introducao XP

Continuous Integration

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

testável

Page 16: Introducao XP

Small Releases

Page 17: Introducao XP

Refactoring

Page 18: Introducao XP

Coding Standards

Facilita:• reuso• refactoring• entendimento por outros

Page 19: Introducao XP

Collective Code Ownership

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

(Gollum)

Page 20: Introducao XP

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

Page 21: Introducao XP

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.

Page 22: Introducao XP

40-Hour Work Week

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

Page 23: Introducao XP

Obrigado