críticas sobre extreme programming
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 PresentationTRANSCRIPT
![Page 1: Críticas sobre Extreme Programming](https://reader036.vdocuments.co/reader036/viewer/2022082505/56813554550346895d9cb896/html5/thumbnails/1.jpg)
Críticas sobre Críticas sobre Extreme Extreme
ProgrammingProgramming
Francisco HillesheimFrancisco Hillesheim
![Page 2: Críticas sobre Extreme Programming](https://reader036.vdocuments.co/reader036/viewer/2022082505/56813554550346895d9cb896/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022082505/56813554550346895d9cb896/html5/thumbnails/3.jpg)
Extreme ProgrammingExtreme Programming
►Valores:Valores: SimplicidadeSimplicidade ComunicaçãoComunicação CoragemCoragem FeedbackFeedback
![Page 4: Críticas sobre Extreme Programming](https://reader036.vdocuments.co/reader036/viewer/2022082505/56813554550346895d9cb896/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022082505/56813554550346895d9cb896/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022082505/56813554550346895d9cb896/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022082505/56813554550346895d9cb896/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022082505/56813554550346895d9cb896/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022082505/56813554550346895d9cb896/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022082505/56813554550346895d9cb896/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022082505/56813554550346895d9cb896/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022082505/56813554550346895d9cb896/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.co/reader036/viewer/2022082505/56813554550346895d9cb896/html5/thumbnails/13.jpg)
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