críticas sobre extreme programming

13
Críticas sobre Críticas sobre Extreme Extreme Programming Programming Francisco Hillesheim Francisco Hillesheim

Upload: jaquelyn-porter

Post on 03-Jan-2016

64 views

Category:

Documents


0 download

DESCRIPTION

Críticas sobre Extreme Programming. Francisco Hillesheim. Roteiro. Extreme Programming Principais Críticas Estudo de Caso: Empresa Canadas Conclusão. Extreme Programming. Valores: Simplicidade Comunicação Coragem Feedback. Extreme Programming. Características - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Críticas sobre Extreme Programming

Críticas sobre Críticas sobre Extreme Extreme

ProgrammingProgramming

Francisco HillesheimFrancisco Hillesheim

Page 2: Críticas sobre Extreme Programming

RoteiroRoteiro

►Extreme ProgrammingExtreme Programming►Principais CríticasPrincipais Críticas

Estudo de Caso: Empresa CanadasEstudo de Caso: Empresa Canadas

►ConclusãoConclusão

Page 3: Críticas sobre Extreme Programming

Extreme ProgrammingExtreme Programming

►Valores:Valores: SimplicidadeSimplicidade ComunicaçãoComunicação CoragemCoragem FeedbackFeedback

Page 4: Críticas sobre Extreme Programming

Extreme ProgrammingExtreme Programming

►CaracterísticasCaracterísticas Desenvolvimento incremental (Small releases)Desenvolvimento incremental (Small releases) Programação em paresProgramação em pares RefactoringRefactoring Design simplesDesign simples Interação com o usuário final (Onsite Interação com o usuário final (Onsite

Costumer)Costumer) Código coletivoCódigo coletivo Escrever testes antes de implementarEscrever testes antes de implementar

Page 5: Críticas sobre Extreme Programming

Principais Críticas Principais Críticas

►Várias críticas são remetidas a XPVárias críticas são remetidas a XP InovadorInovador Abordagem diferente com relação as Abordagem diferente com relação as

metodologias tradicionaismetodologias tradicionais►PrincipaisPrincipais

Falta de documentaçãoFalta de documentação Representante do cliente acoplado ao Representante do cliente acoplado ao

projetoprojeto Programação em paresProgramação em pares TDDTDD

Page 6: Críticas sobre Extreme Programming

Principais CríticasPrincipais Críticas

►Falta de documentaçãoFalta de documentação Dificulta o uso e a manutenção do códigoDificulta o uso e a manutenção do código Muito centrado no códigoMuito centrado no código

►Dificuldade de leituraDificuldade de leitura►Maior manutenção de códigoMaior manutenção de código

AlternativaAlternativa►Automatizar o processo de documentaçãoAutomatizar o processo de documentação

Utilizando XML, por exemploUtilizando XML, por exemplo

Estudo de casoEstudo de caso►Código é documentadoCódigo é documentado►Alguns requisitosAlguns requisitos

Page 7: Críticas sobre Extreme Programming

Principais CríticasPrincipais Críticas

►Representante do cliente acoplado ao Representante do cliente acoplado ao projetoprojeto Dedicação 100% ao projetoDedicação 100% ao projeto Membros experientes dificilmente Membros experientes dificilmente

aceitariam tal tarefaaceitariam tal tarefa Grande dificuldade de encontrar um Grande dificuldade de encontrar um

representanterepresentante Exemplo: Saída do representante no Exemplo: Saída do representante no

projeto C3 (Chrysler)projeto C3 (Chrysler)

Page 8: Críticas sobre Extreme Programming

Principais CríticasPrincipais Críticas

►Representante do cliente acoplado ao Representante do cliente acoplado ao projetoprojeto AlternativaAlternativa

►Definir uma especificação de requisitos Definir uma especificação de requisitos concisaconcisa

►Não precisa ser completaNão precisa ser completa

Estudo de casoEstudo de caso►Representante do cliente é um membro da Representante do cliente é um membro da

empresaempresa

Page 9: Críticas sobre Extreme Programming

Principais CríticasPrincipais Críticas

►Programação em paresProgramação em pares 100% do tempo é exagero100% do tempo é exagero Programar sozinho favorece a criatividadeProgramar sozinho favorece a criatividade Pode gerar aborrecimentosPode gerar aborrecimentos

►Programadores de níveis diferentesProgramadores de níveis diferentes

Com relação a inspeção e revisão de Com relação a inspeção e revisão de códigocódigo►Existem estudos mostrando que não há Existem estudos mostrando que não há

evidências sobre a eficácia da programação em evidências sobre a eficácia da programação em parespares

Page 10: Críticas sobre Extreme Programming

Principais CríticasPrincipais Críticas

►Programação em paresProgramação em pares AlternativaAlternativa

►Utilizar programação mútuaUtilizar programação mútua►Um programador garante a qualidade do Um programador garante a qualidade do

software do outro e vice-versasoftware do outro e vice-versa

Estudo de casoEstudo de caso►Programação em pares é utilizada na maioria Programação em pares é utilizada na maioria

das vezesdas vezes►Útil na questão de treinamento (e também Útil na questão de treinamento (e também

feedback)feedback)

Page 11: Críticas sobre Extreme Programming

Principais CríticasPrincipais Críticas

►TDDTDD Testes podem conter bugsTestes podem conter bugs Testes de unidade e aceitaçãoTestes de unidade e aceitação

►Baixo nível -> unidadeBaixo nível -> unidade►Alto nível -> aceitaçãoAlto nível -> aceitação►Lacuna entre os doisLacuna entre os dois

Automatização 100% dos testes é Automatização 100% dos testes é impraticávelimpraticável►Testes manuais ainda são necessáriosTestes manuais ainda são necessários►Maior esforço para criação de “small releases”Maior esforço para criação de “small releases”

Page 12: Críticas sobre Extreme Programming

Principais CríticasPrincipais Críticas

►TDDTDD AlternativaAlternativa

►Utilizar não somente testes, mas também Utilizar não somente testes, mas também revisões e inspeções do código modificadorevisões e inspeções do código modificado

Estudo de casoEstudo de caso►Principal desafioPrincipal desafio►Testes são feitos manualmente e via JUnit Testes são feitos manualmente e via JUnit

Page 13: Críticas sobre Extreme Programming

ConclusãoConclusão

►XP é um processo simbióticoXP é um processo simbiótico Todas as práticas ou nada feitoTodas as práticas ou nada feito Requer disciplinaRequer disciplina Problemas:Problemas:

►Quando alguma prática não é bem realizadaQuando alguma prática não é bem realizada►Efeito cascataEfeito cascata