Extreme Programming (XP)
João Carlos Ottobboni
O que é Extreme Programming ?
● Extreme Programming é a arte de maximizar a quantidade de software
que você não vai fazer....
Timeline do Extreme Programming
● Origem década de 80 Kent Beck e Ward Cunningham
● 1996: C3 projeto iniciado folha de pag...
Timeline do Extreme Programming
● Junho de 2000: Primeira conferência internacional de XP, em Cagliari Sardinia.
● Setembr...
Iteração
● O plano de iteração é a lista de histórias selecionadas para serem
implementadas dentro de uma iteração.
● Um “...
Valores do XP
● Comunicação: Focada em reduzir a quantidade de documentos formais, e aumentar a
comunicação direta entre t...
Papeis no XP
● Os papéis de um time no XP são formados por uma variedade de pessoas
com características e habilidades nece...
Papeis no XP
● Dono do ouro: É o cliente que paga pelo desenvolvimento do projeto;
● Usuário ou cliente: Define os requisi...
Papeis no XP
● Testadores: Ajudam os clientes com a definição dos testes. Realizam os
testes no sistema;
● Desenvolvedores...
Práticas de XP
O funcionamento do XP e baseado em um conjunto de valores e práticas que são
divididas em organizacionais(c...
Práticas de XP
● Jogo do Planejamento: São criadas historias que descrevem as funcionalidades a
serem implementadas e são ...
Práticas de XP
● Testes Constantes: Os teste em XP são feitos antes da programação. Existem
dois tipos de testes: teste de...
Práticas de XP
● Integração Continua: Novas funcionalidades implementadas devem ser integradas
varias vezes ao dia.
● Sema...
Quando usar o método?
● Equipes com no máximo 12 integrantes;
● Clientes que estejam dispostos a se dedicar semanalmente p...
Vantagens
● Um dos beneficios é tornar o processo ágil e mais flexível. As praticas do
XP foram criadas para funcionarem j...
Vantagens
● Entregas constantes de partes funcionais do software assim o cliente não
precisa esperar muito para ver o soft...
Desvantagens
● O cliente deve disponibilizar uma equipe para participar de todo o
processo de desenvolvimento do software....
Desvantagens
● Requer varias reuniões com os clientes.
● Requer muita mudança cultural.
● A análise de requisitos informal...
Desvantagens
● Uma cultura na qual você e requisitado a trabalhar horas e horas para
provar seu “comprometimento com a emp...
Ferramentas de Apoio
Para apoiar a adoção de princípios e práticas do XP existem uma serie de
ferramentas que podem ser ad...
Ambiente e Hard Tools
O ambiente é essencial para apoiar as práticas, para isso e necessário adequá-lo.
Podem ser utilizad...
Ambiente e Hard Tools
Um time ágil utiliza quadros para execução e acompanhamento do time. Neste quadro é
possível acompan...
Soft Tools
Existem também inúmeros softwares para apoiar as praticas XP. Abaixo uma lista de
ferramentas práticas que são ...
Conclusão
Com base nos dados apresentados é necessário avaliar se é
viável ou não a utilização do XP. Muitas vezes o proce...
Próximos SlideShares
Carregando em…5
×

Extreme programming (xp)

320 visualizações

Publicada em

Extreme programming (xp)

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
320
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
4
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Extreme programming (xp)

  1. 1. Extreme Programming (XP) João Carlos Ottobboni
  2. 2. O que é Extreme Programming ? ● Extreme Programming é a arte de maximizar a quantidade de software que você não vai fazer. ● São métodos e formas de priorizar quais as partes mais importantes do Projeto, e quem diz quais as partes importantes são os próprios clientes. ● De forma informal, podemos compará-lo como uma danç a de salão: ● Desenvolvedor é a dama; ● Cliente é o cavalheiro; ● Devem estar sempre juntos; ● Cliente conduz o desenvolvimento.
  3. 3. Timeline do Extreme Programming ● Origem década de 80 Kent Beck e Ward Cunningham ● 1996: C3 projeto iniciado folha de pagamento da Chrysler ● Outubro de 1998: Distributed Computing magazine article on the ChryslerComprehensiveCompensation (C3) project. ● Setembro de 1999: "Extreme Programming Explained" (Extreme Programming Explained Embrace Change) livro por KentBeck ● Dezembro de 1999: Primeira turma de "Xp Immersion", at Object Mentor, por KentBeck, BobMartin, e RonJeffries ● 31 Dezembro de 1999: Yahoo XP grupo de discussão.
  4. 4. Timeline do Extreme Programming ● Junho de 2000: Primeira conferência internacional de XP, em Cagliari Sardinia. ● Setembro de 2000: "Extreme Programming Installed" livro por Jeffries, Anderson, e Hendrickson ● Julho de 2001: Primeiro Universo XP, em Raleigh, Carolina do Norte ● Novembro 2004: "Extreme Programming Explained: Segunda Edição" (Extreme Programming Explained Embrace Change Segunda Edição) livro por Kent Beck, Cynthia Andres
  5. 5. Iteração ● O plano de iteração é a lista de histórias selecionadas para serem implementadas dentro de uma iteração. ● Um “laço” de iteração do XP geralmente é curto e tem uma duração de no máximo duas semanas. ● A definição de quais histórias entram num clico parte do cliente que define de acordo com suas prioridades. ● Histórias muito complexas são retiradas do ciclo e repensadas para voltar posteriormente.
  6. 6. Valores do XP ● Comunicação: Focada em reduzir a quantidade de documentos formais, e aumentar a comunicação direta entre todas as pessoas envolvidas no projeto. ● Simplicidade: A XP sugere que o código seja feito da forma mais simples possível e que as funcionalidades e requisitos sejam feitas apenas quando as mesmas se fizerem necessárias. ● Feedback: As respostas às decisões tomadas devem ser rápidas e visíveis. Todos devem ter, o tempo todo, consciência do que está acontecendo. ● Coragem: Alterar um código em produção, sem causar bugs, com agilidade, exige muita coragem e responsabilidade. ● Respeito: Todos têm sua importância dentro da equipe e devem ser respeitados e valorizados. Isso mantém o trabalho energizado.
  7. 7. Papeis no XP ● Os papéis de um time no XP são formados por uma variedade de pessoas com características e habilidades necessárias para o sucesso do projeto. ● Em geral os papeis não variam muito em relação aos outros processos ou metodologias. ● Existem variações e diferentes referências sobre os papeis no XP. Estes papeis até podem ser acumulados por mais de uma pessoa dentro do time, porém deve se tomar cuidado.
  8. 8. Papeis no XP ● Dono do ouro: É o cliente que paga pelo desenvolvimento do projeto; ● Usuário ou cliente: Define os requisitos, executam os testes de aceitação e usam o produto final. ● Gerente: Gerencia e acompanha o planejamento do projeto; ● Coach: É o técnico do time , orienta e mantem a disciplina das práticas padrões da equipe;
  9. 9. Papeis no XP ● Testadores: Ajudam os clientes com a definição dos testes. Realizam os testes no sistema; ● Desenvolvedores: Definem a arquitetura, realizam estimativas e implementam o código; ● Tracker: Responsável por coletar as métricas do projeto. O tracker e capaz de contar uma historia de iteração ao final da mesma, através dos apontamentos que realizou e das informações que foram coletadas; ● Analistas: Ajudam o cliente na definição dos requisitos;
  10. 10. Práticas de XP O funcionamento do XP e baseado em um conjunto de valores e práticas que são divididas em organizacionais(circulo vermelho), equipe(circulo verde) e individuais.
  11. 11. Práticas de XP ● Jogo do Planejamento: São criadas historias que descrevem as funcionalidades a serem implementadas e são definidas estimativas e prioridades. ● Releases Pequenos: Devem ser o menor possível, e conter os requisitos mais importantes para o negócio. ● Metáfora: Oferece uma visão geral do sistema de forma simples, e que pode ser compartilhada por desenvolvedores e clientes. ● Projeto Simples: Esta prática enfatiza que se deve concentrar em soluções simples e bem estruturadas.
  12. 12. Práticas de XP ● Testes Constantes: Os teste em XP são feitos antes da programação. Existem dois tipos de testes: teste de unidade e teste funcional. ● Refatoramento: São constantes melhorias no projeto do software visando melhorar sua capacidade de se adaptar a mudanças. ● Programação em Pares: Possibilita que todos os membros da equipe tenha conhecimento sobre diversas partes do sistema. ● Propriedade Coletiva do Código: Estimula toda a equipe a trabalhar juntos para a melhoria do código.
  13. 13. Práticas de XP ● Integração Continua: Novas funcionalidades implementadas devem ser integradas varias vezes ao dia. ● Semana de Quarenta Horas: Não é uma regra porem é aconselhável que a equipe não deve trabalhar por mais de quarenta horas semanais, para não prejudicar a qualidade do código. ● Cliente no Local: Deve ser integrar a equipe uma pessoa por parte do cliente, para orientar e esclarecer duvidas sobre funcionalidades do sistema. ● Padrões de Codificação: Deve se padronizar o código, para que qualquer um possa entender e modificar o código quando necessário.
  14. 14. Quando usar o método? ● Equipes com no máximo 12 integrantes; ● Clientes que estejam dispostos a se dedicar semanalmente pois requer varias reuniões com os clientes; ● Ter um espaço físico onde é possível todos os envolvidos ficarem próximos uns dos outros.
  15. 15. Vantagens ● Um dos beneficios é tornar o processo ágil e mais flexível. As praticas do XP foram criadas para funcionarem juntas. ● Fornecem mais valor do que cada uma poderia fornecer individualmente. ● Analise prévia dos acontecimentos dentro do projeto, o que oferece qualidade, confiança, datas de entrega e custos promissores. ● O XP é ideal para projetos em que o cliente não sabe exatamente o que quer, pois os feedbacks constantes tornam possível as mudanças para atender os requisitos de forma rápida.
  16. 16. Vantagens ● Entregas constantes de partes funcionais do software assim o cliente não precisa esperar muito para ver o software funcionando. ● O cliente esta sempre por perto, resultando em uma produto final muito próximo daquilo que ele deseja. ● Programação em dupla reduz o número de erros e aumenta a legibilidade do código o que facilita manutenções futuras. ● Erros são encontrados em um estágio inicial, pois são realizados diversos testes de diversas formas.
  17. 17. Desvantagens ● O cliente deve disponibilizar uma equipe para participar de todo o processo de desenvolvimento do software. ● Existe uma perda de produtividade adotando programação em pares. ● Todos os envolvidos no projeto devem conhecer as técnicas e regras. ● Exige muito código para testes e a razão entre linhas de código de teste para linhas de código de projeto deve ser, no minimo 2:1.
  18. 18. Desvantagens ● Requer varias reuniões com os clientes. ● Requer muita mudança cultural. ● A análise de requisitos informal pode não ser bem visto pelos clientes que podem se sentir inseguros. ● A falta de documentação pode ser um problema em certos projetos.
  19. 19. Desvantagens ● Uma cultura na qual você e requisitado a trabalhar horas e horas para provar seu “comprometimento com a empresa”, você não conseguira executar o XP se estiver cansado. ● O espaço físico deve permitir a organização da equipe XP de modo que todos fiquem próximos uns aos outros.
  20. 20. Ferramentas de Apoio Para apoiar a adoção de princípios e práticas do XP existem uma serie de ferramentas que podem ser adotas nos projetos de software: ● Temos Hard Tools que são ferramentas mais simples relacionadas com o ambiente. ● Temos Soft Tools que são ferramentas de software que apoiam as práticas.
  21. 21. Ambiente e Hard Tools O ambiente é essencial para apoiar as práticas, para isso e necessário adequá-lo. Podem ser utilizados uma série de gráficos de acompanhamento, murais e quadros tornando o ambiente informativo.
  22. 22. Ambiente e Hard Tools Um time ágil utiliza quadros para execução e acompanhamento do time. Neste quadro é possível acompanhar o trabalho que está planejado, o que está em andamento e os que já estão prontos. São conhecidos como quadros de Kanban. Existem variações de quadros de acordo com a necessidade do time.
  23. 23. Soft Tools Existem também inúmeros softwares para apoiar as praticas XP. Abaixo uma lista de ferramentas práticas que são apoiadas, licença e o endereço do fornecedor.
  24. 24. Conclusão Com base nos dados apresentados é necessário avaliar se é viável ou não a utilização do XP. Muitas vezes o processo de adoção é lento e complicado, mas com dedicação e disciplina pode-se atingir resultados satisfatórios.

×