SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
Programação eXtrema
     na Prática

                 Dairton Bassi
             dbassi@neurobox.com.br
Ruby
Java
  Python
PHP .Net
      www.neurobox.com.br
“XP é sobre mudança social.”




                          Kent Beck


                           www.neurobox.com.br
www.neurobox.com.br
Ciclo de desenvolvimento



   jogo do            Desenvolvimento           entrega
planejamento             (iteração)             (demo)




           Melhoria             Retrospectiva



                                                 www.neurobox.com.br
Ciclo de desenvolvimento



   jogo do            Desenvolvimento           entrega
planejamento             (iteração)             (demo)




           Melhoria             Retrospectiva



                                                 www.neurobox.com.br
Ciclo de desenvolvimento



   jogo do            Desenvolvimento           entrega
planejamento             (iteração)             (demo)




           Melhoria             Retrospectiva



                                                 www.neurobox.com.br
Ciclo de desenvolvimento



   jogo do            Desenvolvimento           entrega
planejamento             (iteração)             (demo)




           Melhoria             Retrospectiva



                                                 www.neurobox.com.br
www.neurobox.com.br
Jogo do planejamento




                       www.neurobox.com.br
Pair Programming




             www.neurobox.com.br
Propriedade coletiva


Se eu perceber uma oportunidade para
simplificar, consertar ou melhorar o código
escrito por outra pessoa, peço autorização
verbalmente ou por escrito?




                                      www.neurobox.com.br
Testes?




          www.neurobox.com.br
Testes?


                        ok
                        X




          www.neurobox.com.br
Testes?


                        ok
                        X




                        ok
                        X


          www.neurobox.com.br
Refatorações


Uma modificação no sistema que não altera o
seu comportamento funcional, mas melhora sua
estrutura interna.




                                    www.neurobox.com.br
Olhando a    Conhecendo     Código
 interface    o código    refatorado




                             www.neurobox.com.br
Olhando a    Conhecendo     Código
 interface    o código    refatorado




                             www.neurobox.com.br
Olhando a    Conhecendo     Código
 interface    o código    refatorado




                             www.neurobox.com.br
Olhando a    Conhecendo     Código
 interface    o código    refatorado




                             www.neurobox.com.br
Cliente


Responsável por escrever “histórias”

Trabalha no mesmo espaço físico do grupo

Avalia as novas funcionalidades entregues

Dá feedback rapidamente

Solicita ou aprova mudanças


                                       www.neurobox.com.br
Desenvolvedores

Desenvolvem o software.

Definem e refinam a arquitetura.

Testam o que foi desenvolvido.

Tiram dúvidas com o cliente.

Podem sugerir melhorias funcionais.

Colaboram para produzir software com valor
agregado.
                                      www.neurobox.com.br
Coach

Um desenvolvedor experiente

Identifica as habilidades da equipe

Lembra das regras do jogo (XP)

Eventualmente faz programação em pares

Não desenha arquitetura

Seu papel diminui com o tempo

                                     www.neurobox.com.br
Tracker

Coleta estatísticas e as exibe

Mantém histórico do progresso

Alguns exemplos:
  Número de histórias implementadas

  Número de testes

  Número de classes e linhas de código

                                         www.neurobox.com.br
Build no monitor




                   www.neurobox.com.br
Área de Trabalho Informativa




                         www.neurobox.com.br
Área de Lazer Informativa




                       www.neurobox.com.br
Banheiro Informativo...




                          www.neurobox.com.br
O Ambiente




             www.neurobox.com.br
Quadro de histórias




                      www.neurobox.com.br
Grande Órgão Público de SP


Apoio da gerência

Conhecimento técnico heterogêneo

Alguns estavam animados, alguns estavam
apreensivos ...outros descrentes

Projeto complicado e problemático

A diretoria queria resultados palpáveis


                                          www.neurobox.com.br
Um dia de um programador XP

Escolhe uma história do cliente

Procura um par livre

Escolhe um computador para programar

Discute as modificações recentes no sistema

Discute a história com o parceiro

                                    www.neurobox.com.br
Um dia de um programador XP


Pensa em novos testes

Faz a implementação e os testes

Faz todos os testes passarem

Integra o novo código no repositório


                                       www.neurobox.com.br
Várias vezes ao dia

Executa testes antigos

Busca oportunidades para simplificação

Modifica a implementação incrementalmente

Escreve novos testes

Faz todos os testes passarem

Integra novo código ao repositório

                                     www.neurobox.com.br
www.neurobox.com.br
Obrigado!




                   Dairton Bassi
            dbassi@gmail.com.br
                  twitter: dbassi

                       www.neurobox.com.br

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (7)

Agile User Experience
Agile User ExperienceAgile User Experience
Agile User Experience
 
Desenvolvimento de Software com Extreme Programming (XP)
Desenvolvimento de Software com Extreme Programming (XP)Desenvolvimento de Software com Extreme Programming (XP)
Desenvolvimento de Software com Extreme Programming (XP)
 
eXtreme Programming (xp)
eXtreme Programming (xp)eXtreme Programming (xp)
eXtreme Programming (xp)
 
Desenvolvimento de Software
Desenvolvimento de SoftwareDesenvolvimento de Software
Desenvolvimento de Software
 
Extreme programming (xp)
 Extreme programming   (xp) Extreme programming   (xp)
Extreme programming (xp)
 
Aula 4 - Plano de Continuidade de Negócios (PCN)
Aula 4 - Plano de Continuidade de Negócios (PCN)Aula 4 - Plano de Continuidade de Negócios (PCN)
Aula 4 - Plano de Continuidade de Negócios (PCN)
 
eXtreme Programming (XP)
eXtreme Programming (XP)eXtreme Programming (XP)
eXtreme Programming (XP)
 

Mehr von Dairton Bassi

Como se tornar um Agile Jedi
Como se tornar um Agile JediComo se tornar um Agile Jedi
Como se tornar um Agile JediDairton Bassi
 
Atingindo Objetivos com OKRs
Atingindo Objetivos com OKRsAtingindo Objetivos com OKRs
Atingindo Objetivos com OKRsDairton Bassi
 
Melhores práticas para reuniões altamente eficazes
Melhores práticas para reuniões altamente eficazesMelhores práticas para reuniões altamente eficazes
Melhores práticas para reuniões altamente eficazesDairton Bassi
 
Práticas do Extreme Agile
Práticas do Extreme AgilePráticas do Extreme Agile
Práticas do Extreme AgileDairton Bassi
 
Práticas do Extreme Agile
Práticas do Extreme AgilePráticas do Extreme Agile
Práticas do Extreme AgileDairton Bassi
 
Combinando MVPs e Continuous Delivery com Análise de Negócios
Combinando MVPs e Continuous Delivery com Análise de NegóciosCombinando MVPs e Continuous Delivery com Análise de Negócios
Combinando MVPs e Continuous Delivery com Análise de NegóciosDairton Bassi
 
Estatísticas do Agile Trends 2013
Estatísticas do Agile Trends 2013Estatísticas do Agile Trends 2013
Estatísticas do Agile Trends 2013Dairton Bassi
 
Entendendo Scrum, Kanban e Programação Extrema
Entendendo Scrum, Kanban e Programação ExtremaEntendendo Scrum, Kanban e Programação Extrema
Entendendo Scrum, Kanban e Programação ExtremaDairton Bassi
 
Abertura AgileBrazil 2012
Abertura AgileBrazil 2012Abertura AgileBrazil 2012
Abertura AgileBrazil 2012Dairton Bassi
 
Como manter sua equipe produtiva e motivada
Como manter sua equipe produtiva e motivadaComo manter sua equipe produtiva e motivada
Como manter sua equipe produtiva e motivadaDairton Bassi
 

Mehr von Dairton Bassi (12)

Como se tornar um Agile Jedi
Como se tornar um Agile JediComo se tornar um Agile Jedi
Como se tornar um Agile Jedi
 
Atingindo Objetivos com OKRs
Atingindo Objetivos com OKRsAtingindo Objetivos com OKRs
Atingindo Objetivos com OKRs
 
Melhores práticas para reuniões altamente eficazes
Melhores práticas para reuniões altamente eficazesMelhores práticas para reuniões altamente eficazes
Melhores práticas para reuniões altamente eficazes
 
Práticas do Extreme Agile
Práticas do Extreme AgilePráticas do Extreme Agile
Práticas do Extreme Agile
 
Práticas do Extreme Agile
Práticas do Extreme AgilePráticas do Extreme Agile
Práticas do Extreme Agile
 
Combinando MVPs e Continuous Delivery com Análise de Negócios
Combinando MVPs e Continuous Delivery com Análise de NegóciosCombinando MVPs e Continuous Delivery com Análise de Negócios
Combinando MVPs e Continuous Delivery com Análise de Negócios
 
Estatísticas do Agile Trends 2013
Estatísticas do Agile Trends 2013Estatísticas do Agile Trends 2013
Estatísticas do Agile Trends 2013
 
Entendendo Scrum, Kanban e Programação Extrema
Entendendo Scrum, Kanban e Programação ExtremaEntendendo Scrum, Kanban e Programação Extrema
Entendendo Scrum, Kanban e Programação Extrema
 
Abertura AgileBrazil 2012
Abertura AgileBrazil 2012Abertura AgileBrazil 2012
Abertura AgileBrazil 2012
 
Como manter sua equipe produtiva e motivada
Como manter sua equipe produtiva e motivadaComo manter sua equipe produtiva e motivada
Como manter sua equipe produtiva e motivada
 
O sistema Kanban
O sistema KanbanO sistema Kanban
O sistema Kanban
 
TDD para Java EE
TDD para Java EETDD para Java EE
TDD para Java EE
 

Programação eXtrema na Prática

  • 1. Programação eXtrema na Prática Dairton Bassi dbassi@neurobox.com.br
  • 2. Ruby Java Python PHP .Net www.neurobox.com.br
  • 3. “XP é sobre mudança social.” Kent Beck www.neurobox.com.br
  • 5. Ciclo de desenvolvimento jogo do Desenvolvimento entrega planejamento (iteração) (demo) Melhoria Retrospectiva www.neurobox.com.br
  • 6. Ciclo de desenvolvimento jogo do Desenvolvimento entrega planejamento (iteração) (demo) Melhoria Retrospectiva www.neurobox.com.br
  • 7. Ciclo de desenvolvimento jogo do Desenvolvimento entrega planejamento (iteração) (demo) Melhoria Retrospectiva www.neurobox.com.br
  • 8. Ciclo de desenvolvimento jogo do Desenvolvimento entrega planejamento (iteração) (demo) Melhoria Retrospectiva www.neurobox.com.br
  • 10. Jogo do planejamento www.neurobox.com.br
  • 11. Pair Programming www.neurobox.com.br
  • 12. Propriedade coletiva Se eu perceber uma oportunidade para simplificar, consertar ou melhorar o código escrito por outra pessoa, peço autorização verbalmente ou por escrito? www.neurobox.com.br
  • 13. Testes? www.neurobox.com.br
  • 14. Testes? ok X www.neurobox.com.br
  • 15. Testes? ok X ok X www.neurobox.com.br
  • 16. Refatorações Uma modificação no sistema que não altera o seu comportamento funcional, mas melhora sua estrutura interna. www.neurobox.com.br
  • 17. Olhando a Conhecendo Código interface o código refatorado www.neurobox.com.br
  • 18. Olhando a Conhecendo Código interface o código refatorado www.neurobox.com.br
  • 19. Olhando a Conhecendo Código interface o código refatorado www.neurobox.com.br
  • 20. Olhando a Conhecendo Código interface o código refatorado www.neurobox.com.br
  • 21. Cliente Responsável por escrever “histórias” Trabalha no mesmo espaço físico do grupo Avalia as novas funcionalidades entregues Dá feedback rapidamente Solicita ou aprova mudanças www.neurobox.com.br
  • 22. Desenvolvedores Desenvolvem o software. Definem e refinam a arquitetura. Testam o que foi desenvolvido. Tiram dúvidas com o cliente. Podem sugerir melhorias funcionais. Colaboram para produzir software com valor agregado. www.neurobox.com.br
  • 23. Coach Um desenvolvedor experiente Identifica as habilidades da equipe Lembra das regras do jogo (XP) Eventualmente faz programação em pares Não desenha arquitetura Seu papel diminui com o tempo www.neurobox.com.br
  • 24. Tracker Coleta estatísticas e as exibe Mantém histórico do progresso Alguns exemplos: Número de histórias implementadas Número de testes Número de classes e linhas de código www.neurobox.com.br
  • 25. Build no monitor www.neurobox.com.br
  • 26. Área de Trabalho Informativa www.neurobox.com.br
  • 27. Área de Lazer Informativa www.neurobox.com.br
  • 28. Banheiro Informativo... www.neurobox.com.br
  • 29. O Ambiente www.neurobox.com.br
  • 30. Quadro de histórias www.neurobox.com.br
  • 31. Grande Órgão Público de SP Apoio da gerência Conhecimento técnico heterogêneo Alguns estavam animados, alguns estavam apreensivos ...outros descrentes Projeto complicado e problemático A diretoria queria resultados palpáveis www.neurobox.com.br
  • 32. Um dia de um programador XP Escolhe uma história do cliente Procura um par livre Escolhe um computador para programar Discute as modificações recentes no sistema Discute a história com o parceiro www.neurobox.com.br
  • 33. Um dia de um programador XP Pensa em novos testes Faz a implementação e os testes Faz todos os testes passarem Integra o novo código no repositório www.neurobox.com.br
  • 34. Várias vezes ao dia Executa testes antigos Busca oportunidades para simplificação Modifica a implementação incrementalmente Escreve novos testes Faz todos os testes passarem Integra novo código ao repositório www.neurobox.com.br
  • 36. Obrigado! Dairton Bassi dbassi@gmail.com.br twitter: dbassi www.neurobox.com.br