Introducao XP

933 visualizações

Publicada em

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

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Introducao XP

  1. 1. Extreme Programming E existe outra maneira de desenvolver? Fábio Ferrari
  2. 2. O que é XP?
  3. 3. Princípio do Extreme Programming <ul><li>Custo de Mudanças em Waterfall: </li></ul>
  4. 4. Custo de Mudança em Waterfall:
  5. 5. Princípio do Extreme Programming <ul><li>Custo de Mudanças com XP: </li></ul>
  6. 7. Doze Práticas <ul><li>Feedback rápido: </li></ul><ul><ul><li>Pair Programming </li></ul></ul><ul><ul><li>Planning Game </li></ul></ul><ul><ul><li>Continuous Testing (TDD) </li></ul></ul><ul><ul><li>On-Site Customer </li></ul></ul><ul><li>Processo contínuo: </li></ul><ul><ul><li>Continuous Integration </li></ul></ul><ul><ul><li>Small Releases </li></ul></ul><ul><ul><li>Refactoring </li></ul></ul><ul><li>Entendimento comum: </li></ul><ul><ul><li>Coding Standards </li></ul></ul><ul><ul><li>Collective Code Ownership </li></ul></ul><ul><ul><li>Simple Design </li></ul></ul><ul><ul><li>System Metaphor </li></ul></ul><ul><li>Trabalho saudável: </li></ul><ul><ul><li>40-Hour Work Week </li></ul></ul>
  7. 8. Pair Programming <ul><li>  </li></ul>
  8. 9. Pair Programming <ul><li>  </li></ul>
  9. 10. Pair Programming <ul><li>  </li></ul>Pair Programming
  10. 11. Planning Game
  11. 12. Planning Game
  12. 13. Continuous Testing (TDD) <ul><li>Código de Teste (xUnit) </li></ul>Código de Produção
  13. 14. On-Site Customer <ul><li>Cliente: </li></ul><ul><ul><li>se compromete </li></ul></ul><ul><ul><li>resolve questões/disputas </li></ul></ul><ul><ul><li>prioriza </li></ul></ul><ul><ul><li>aprende a confiar </li></ul></ul>
  14. 15. Continuous Integration <ul><li>Necessário: </li></ul><ul><ul><li>repositório único </li></ul></ul><ul><ul><li>build automático </li></ul></ul><ul><ul><li>código auto-testável </li></ul></ul>
  15. 16. Small Releases
  16. 17. Refactoring
  17. 18. Coding Standards <ul><li>Facilita: </li></ul><ul><ul><li>reuso </li></ul></ul><ul><ul><li>refactoring </li></ul></ul><ul><ul><li>entendimento por outros </li></ul></ul>
  18. 19. Collective Code Ownership &quot;It's MY code... My PRECIOUS code...&quot; (Gollum)
  19. 20. Simple Design <ul><li>&quot;Do the Simplest Thing that Could Possibly Work&quot; &quot;You Aren't Going to Need It&quot; </li></ul><ul><li>Simples: </li></ul><ul><ul><li>roda todos os testes </li></ul></ul><ul><ul><li>revela sua intenção </li></ul></ul><ul><ul><li>sem duplicação de código </li></ul></ul><ul><ul><li>menor número de classes e métodos </li></ul></ul>
  20. 21. System Metaphor <ul><ul><li>visão do sistema como um todo </li></ul></ul><ul><ul><li>uso de metáforas para descrição </li></ul></ul><ul><ul><li>leva conceitos de um domínio popular para um domínio abstrato </li></ul></ul><ul><li>Exemplo: </li></ul><ul><li>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. </li></ul>
  21. 22. 40-Hour Work Week <ul><ul><li>regra do XP: se houver hora-extra numa semana, na próxima semana não será permitido </li></ul></ul>
  22. 23. Obrigado  

×