32
Metodologias Ágeis Extreme Programming

qualidade de software

Embed Size (px)

DESCRIPTION

otima apostila para qualidade de software

Citation preview

eXtreme Programming

Metodologias geisExtreme ProgrammingXP1A extreme programming visa um rpido desenvolvimento, com a inteno de atender as reais necessidades do cliente e, ainda, permite modificaes a cada nova necessidade.

Extreme Programming

Extreme Programming

Extreme Programming

Extreme Programming

No assim que se faz software

Extreme Programming - Funcionalidade

s vezes 16%Frequentemente 13%Sempre 7%Nunca 45%Raramente 19%

Extreme ProgrammingUso de Funcionalidade

64% dedesperdcio

Extreme Programming64% de desperdcio

Extreme ProgrammingUso de Funcionalidade

Extreme ProgrammingUso de Funcionalidade20% das funcionalidades geram80% do valor do produto

Extreme ProgrammingFalhas na comunicao

Extreme ProgrammingComparao do desenvolvimentotradicional de software

Extreme ProgrammingO resultado por ser uma surpresa

Extreme ProgrammingO resultado por ser uma surpresa

Extreme ProgrammingPor que tem sido assim?

Extreme ProgrammingDualidade

Mundo DigitalMundo Fsico

Extreme ProgrammingDualidade: Mundo Fsico

Companheiro, poderia colocaressa ponte um metro para cima?

Extreme ProgrammingNo !!!

Extreme ProgrammingDualidade: Mundo Digital

Extreme ProgrammingDualidade: Mundo Digital FluidezMaleabilidadeInvisibilidadeComplexidade (elementos distintos)Baixo custo de manufaturaRpida evoluoFoi criada em 1996, por Kent Bench;Possui equipes mdias ou pequenas; Comunicao intensa com o cliente;Cdigo escrito em dupla;Cdigo limpo para validao com os programadores e o cliente;

Extreme ProgrammingValoresComunicao;Simplicidade;Feedback;Coragem;Respeito.

Extreme Programming

Princpios BsicosFeedback rpido;Simplicidade;Mudanas incrementais;Abraar mudanas;Trabalho de qualidade;

Extreme ProgrammingPrticasJogos de Planejamento (Planning Games):O desenvolvimento feito em iteraes;So definidas prioridades para a estimao dos desenvolvedores;Escopo negocivel.Pequenas Verses (Small Release):Aceitao do cliente;O cliente pode testar.Metfora (Metaphor):Facilitar a comunicao com o Cliente;Traduo.

Extreme ProgrammingProjeto Simples (Simple Design):Exatido do cdigo;Simples no fcil.

Time Coeso (Whole Team):Desenvolvimento = cliente + desenvolvedores.

Teste de Aceitao (Costumer Tests):Construdos pelo cliente, analistas e testadores.

Extreme ProgrammingPrticasRitmo Sustentvel (Sustainable Pace): Qualidade no Trabalho.40 horas/semana, 8 horas/dia.

Reunies em P (Stand-up Meeting):Abordagem rpida de tarefas (feitas e pendentes).

Posse Coletiva (Collective Ownership): Conhecimento do Sistema;Cdigo sem dono.

Extreme ProgrammingPrticasProgramao em Pares (Pair Programming): Programao em dupla;Novato e Instrutor;Menos bugs.

Extreme ProgrammingPrticas

Extreme ProgrammingProgramao em par: Velocidade

Extreme ProgrammingMantenha o ambiente em ordem

Programao em Pares (Pair Programming): Programao em dupla;Novato e Instrutor;Menos bugs.

Padres de Codificao (Coding Standards):Regas de padronizao.

Desenvolvimento Orientado a Teste (Test Driven Development):Unit Tests -> Criao do Cdigo.

Extreme ProgrammingPrticasRefatorao (Refactoring):Melhoria da Programao;Clareza.Integrao Contnua (Continuou Integration):Aplicao rpida das mudanas.

Extreme ProgrammingPrticas