Extreme Programming 2
Comunicação, comprometimento mútuo e
qualidade com agilidade
Hélio Medeiros
   Analista de Sistemas
     SINFO - UFRN
Hélio Medeiros
                      Analista de Sistemas
                        SINFO - UFRN




Blog: http://heliomedeiros.com
Email: helio.cabralmedeiros@gmail.com
COMO VOCÊ APLICA OS
    VALORES ?
Nossa Aula

• Parte 1 - Princípios
• Parte 2 - Práticas
• Parte 3 - Como isso pode dar certo ?
• Parte 4 - Dúvidas
1   Princípios
Princípios
Princípios




             http://www.flickr.com/photos/pepsi11295/3552804750/
Princípios


Feedback rápido
 maior aprendizagem
  dias não semanas
        semanas não meses
   qual a melhor forma !!!

                             http://www.flickr.com/photos/pepsi11295/3552804750/
Princípios
Princípios




http://www.flickr.com/photos/visbeek/3260504966
Princípios
                                                     Simplicidade presumida


                                                                    Nostradamus

                                                 economia... 98% é simples

                                                       tudo é simples... até que se prove...


                                                  resolver o problema de hoje
http://www.flickr.com/photos/visbeek/3260504966
Princípios
Princípios




             http://www.flickr.com/photos/piyo02mel/3980584830/
Princípios
                   Mudanças incrementais

Grandes alterações não funcionam


 Pequenas mudanças... SIM

           Projeto muda pouco
     Planejamento muda pouco
         XP é adota aos poucos
                                   http://www.flickr.com/photos/piyo02mel/3980584830/
Princípios
Princípios




http://www.flickr.com/photos/quizz/429241230/
Princípios
                                               Aceitação das mudanças




                                                 “Melhor estratégia preserva o maior
                                                 número de opções enquanto resolve o
                                                    seu problema mais urgente”

                                                              -Kent Beck




http://www.flickr.com/photos/quizz/429241230/
Princípios
Princípios




    http://www.flickr.com/photos/40012223@N04/3681047105
Princípios
                          Alta qualidade



Excelente...


                                                         ...insanamente excelente




         http://www.flickr.com/photos/40012223@N04/3681047105
Outros princípios
Outros princípios

•ensinar aprendendo

•investimento inicial pequeno

•jogar para ganhar

•experimentação concreta

•comunicação honesta e franca
Outros princípios

•trabalhar a favor dos instintos do pessoal

•aceitação de responsabilidades

•adaptação local

•viajar com pouca bagagem

•métricas genuínas
2   Práticas
Práticas


           #área de negócios
           DECIDIR!
                          escopo
                       prioridade
                  compõe versões
                 datas de entrega
Práticas


                                                      #área de negócios
                                                      DECIDIR!
                                                                     escopo
                                                                  prioridade
                                                             compõe versões
                                                            datas de entrega


http://www.flickr.com/photos/stephenpoff/2849400717/
Práticas
                                      Jogo do Planejamento



                                                      #área de negócios
                                                      DECIDIR!
                                                                     escopo
                                                                  prioridade
                                                             compõe versões
                                                            datas de entrega


http://www.flickr.com/photos/stephenpoff/2849400717/
Práticas


           #área de desenvolvimento
               DECIDIR!
                            estimativas
                          conseqüências
                               processo
                   cronograma detalhado
Práticas


                                                     #área de desenvolvimento
                                                         DECIDIR!
                                                                      estimativas
                                                                    conseqüências
                                                                         processo
                                                             cronograma detalhado


http://www.flickr.com/photos/tonyandrach/1893434966
Práticas
                                      Jogo do Planejamento



                                                     #área de desenvolvimento
                                                         DECIDIR!
                                                                      estimativas
                                                                    conseqüências
                                                                         processo
                                                             cronograma detalhado


http://www.flickr.com/photos/tonyandrach/1893434966
Práticas


Alta Prioridade
               User Story

               User Story   FAZ SENTIDO
               User Story

               User Story

               User Story

               User Story

               User Story

               User Story

               User Story

               User Story

               User Story

               User Story

Baixa Prioridade
Práticas


Alta Prioridade
               User Story

               User Story   FAZ SENTIDO
               User Story

               User Story

               User Story

               User Story

               User Story

               User Story

               User Story

               User Story

               User Story
                                          http://www.flickr.com/photos/seven13avenue/3118328162/
               User Story

Baixa Prioridade
Práticas
       Entregas Freqüentes

Alta Prioridade
               User Story

               User Story   FAZ SENTIDO
               User Story

               User Story

               User Story

               User Story

               User Story

               User Story

               User Story

               User Story

               User Story
                                          http://www.flickr.com/photos/seven13avenue/3118328162/
               User Story

Baixa Prioridade
Práticas
Práticas




           http://www.flickr.com/photos/bcnbits/363695635
Práticas

          Metáfora


  Elementos Básicos
             +
       metáforas
             =
Bom e fácil entendimento



                           http://www.flickr.com/photos/bcnbits/363695635
Práticas
Práticas




           http://www.flickr.com/photos/goosemanmunich/3741378073
Práticas

            Projeto Simples
Executa todos os testes
    Não tem lógica duplicada
Expressa todas as intenções importantes
Tem menor número de classes e métodos



                                          http://www.flickr.com/photos/goosemanmunich/3741378073
Práticas
Práticas




http://www.flickr.com/photos/kwc/133950877
Práticas
                                                Testes


                                                 sem teste é mito!!




                                                TESTES DOS CLIENTES
                                                          +
                                            TESTES DOS DESENVOLVEDORES
                                                          =
http://www.flickr.com/photos/kwc/133950877            CONFIANÇA
Práticas
Práticas




           http://www.flickr.com/photos/28192677@N06/3253400115/
Práticas

Refatoração

 como insiro de forma simples?
    como simplifico o existente ??




                                    http://www.flickr.com/photos/28192677@N06/3253400115/
Práticas
Práticas




           http://www.flickr.com/photos/mark6mauno/437989885
Práticas
        Programação em Pares



PILOTO + CO-PILOTO = QUALIDADE

           tudo vai funcionar ?
como fazer com que não funcione ?
            como simplificar ?



                                    http://www.flickr.com/photos/mark6mauno/437989885
Práticas
Práticas




           http://www.flickr.com/photos/endless_beauty/322191546
Práticas
       Propriedade Coletiva




todos acrescentam valor

    todos conhecem código




                            http://www.flickr.com/photos/endless_beauty/322191546
Práticas
Práticas




           http://www.thoughtworks-studios.com/cruise-release-management
Práticas
           Integração Contínua



uma máquina
      +
   uma dupla
        =
uma obrigação
  100% correto




                  http://www.thoughtworks-studios.com/cruise-release-management
Práticas
Práticas




           http://www.flickr.com/photos/viamoi/3408674630/
Práticas
       Semana de 40 horas


compromisso na medida certa


       dedicação diária
 disposto e animado de manhã!
  cansado e satisfeito a noite!



                                  http://www.flickr.com/photos/viamoi/3408674630/
Práticas
Práticas




http://www.flickr.com/photos/troyholden/4036087411
Práticas
                                                    Cliente Presente



                                                     cliente real com o time
                                                            dificuldades?
                                                             penalidades?




http://www.flickr.com/photos/troyholden/4036087411
Práticas
Práticas




 http://www.flickr.com/photos/yushimoto_02/3814198150
Práticas
                          Padrões de Codificação




                                                         muitos para entender
                                                       o padrão deve ser voluntário




 http://www.flickr.com/photos/yushimoto_02/3814198150
3   Como isso pode dar
    certo ?
Retorno das práticas
Retorno das práticas


 “As práticas apóiam umas as outras. O
 ponto fraco de uma é compensado pelos
         pontos fortes da outra”
cliente presente
                                              jogo do planejamento

Metáfora                 semana de 40 horas


                                projeto simples
           Refatoração
                                                         ciclos de
                                                      entrega curtos
                                         testes
            Programação em par


                            padrões de
                            codificação            integração contínua
propriedade coletiva
4   Dúvidas?

UnP Eng. Software - Aula 13

  • 1.
    Extreme Programming 2 Comunicação,comprometimento mútuo e qualidade com agilidade
  • 2.
    Hélio Medeiros Analista de Sistemas SINFO - UFRN
  • 3.
    Hélio Medeiros Analista de Sistemas SINFO - UFRN Blog: http://heliomedeiros.com Email: helio.cabralmedeiros@gmail.com
  • 4.
    COMO VOCÊ APLICAOS VALORES ?
  • 5.
    Nossa Aula • Parte1 - Princípios • Parte 2 - Práticas • Parte 3 - Como isso pode dar certo ? • Parte 4 - Dúvidas
  • 7.
    1 Princípios
  • 8.
  • 9.
    Princípios http://www.flickr.com/photos/pepsi11295/3552804750/
  • 10.
    Princípios Feedback rápido maioraprendizagem dias não semanas semanas não meses qual a melhor forma !!! http://www.flickr.com/photos/pepsi11295/3552804750/
  • 11.
  • 12.
  • 13.
    Princípios Simplicidade presumida Nostradamus economia... 98% é simples tudo é simples... até que se prove... resolver o problema de hoje http://www.flickr.com/photos/visbeek/3260504966
  • 14.
  • 15.
    Princípios http://www.flickr.com/photos/piyo02mel/3980584830/
  • 16.
    Princípios Mudanças incrementais Grandes alterações não funcionam Pequenas mudanças... SIM Projeto muda pouco Planejamento muda pouco XP é adota aos poucos http://www.flickr.com/photos/piyo02mel/3980584830/
  • 17.
  • 18.
  • 19.
    Princípios Aceitação das mudanças “Melhor estratégia preserva o maior número de opções enquanto resolve o seu problema mais urgente” -Kent Beck http://www.flickr.com/photos/quizz/429241230/
  • 20.
  • 21.
    Princípios http://www.flickr.com/photos/40012223@N04/3681047105
  • 22.
    Princípios Alta qualidade Excelente... ...insanamente excelente http://www.flickr.com/photos/40012223@N04/3681047105
  • 23.
  • 24.
    Outros princípios •ensinar aprendendo •investimentoinicial pequeno •jogar para ganhar •experimentação concreta •comunicação honesta e franca
  • 25.
    Outros princípios •trabalhar afavor dos instintos do pessoal •aceitação de responsabilidades •adaptação local •viajar com pouca bagagem •métricas genuínas
  • 27.
    2 Práticas
  • 28.
    Práticas #área de negócios DECIDIR! escopo prioridade compõe versões datas de entrega
  • 29.
    Práticas #área de negócios DECIDIR! escopo prioridade compõe versões datas de entrega http://www.flickr.com/photos/stephenpoff/2849400717/
  • 30.
    Práticas Jogo do Planejamento #área de negócios DECIDIR! escopo prioridade compõe versões datas de entrega http://www.flickr.com/photos/stephenpoff/2849400717/
  • 31.
    Práticas #área de desenvolvimento DECIDIR! estimativas conseqüências processo cronograma detalhado
  • 32.
    Práticas #área de desenvolvimento DECIDIR! estimativas conseqüências processo cronograma detalhado http://www.flickr.com/photos/tonyandrach/1893434966
  • 33.
    Práticas Jogo do Planejamento #área de desenvolvimento DECIDIR! estimativas conseqüências processo cronograma detalhado http://www.flickr.com/photos/tonyandrach/1893434966
  • 34.
    Práticas Alta Prioridade User Story User Story FAZ SENTIDO User Story User Story User Story User Story User Story User Story User Story User Story User Story User Story Baixa Prioridade
  • 35.
    Práticas Alta Prioridade User Story User Story FAZ SENTIDO User Story User Story User Story User Story User Story User Story User Story User Story User Story http://www.flickr.com/photos/seven13avenue/3118328162/ User Story Baixa Prioridade
  • 36.
    Práticas Entregas Freqüentes Alta Prioridade User Story User Story FAZ SENTIDO User Story User Story User Story User Story User Story User Story User Story User Story User Story http://www.flickr.com/photos/seven13avenue/3118328162/ User Story Baixa Prioridade
  • 37.
  • 38.
    Práticas http://www.flickr.com/photos/bcnbits/363695635
  • 39.
    Práticas Metáfora Elementos Básicos + metáforas = Bom e fácil entendimento http://www.flickr.com/photos/bcnbits/363695635
  • 40.
  • 41.
    Práticas http://www.flickr.com/photos/goosemanmunich/3741378073
  • 42.
    Práticas Projeto Simples Executa todos os testes Não tem lógica duplicada Expressa todas as intenções importantes Tem menor número de classes e métodos http://www.flickr.com/photos/goosemanmunich/3741378073
  • 43.
  • 44.
  • 45.
    Práticas Testes sem teste é mito!! TESTES DOS CLIENTES + TESTES DOS DESENVOLVEDORES = http://www.flickr.com/photos/kwc/133950877 CONFIANÇA
  • 46.
  • 47.
    Práticas http://www.flickr.com/photos/28192677@N06/3253400115/
  • 48.
    Práticas Refatoração como insirode forma simples? como simplifico o existente ?? http://www.flickr.com/photos/28192677@N06/3253400115/
  • 49.
  • 50.
    Práticas http://www.flickr.com/photos/mark6mauno/437989885
  • 51.
    Práticas Programação em Pares PILOTO + CO-PILOTO = QUALIDADE tudo vai funcionar ? como fazer com que não funcione ? como simplificar ? http://www.flickr.com/photos/mark6mauno/437989885
  • 52.
  • 53.
    Práticas http://www.flickr.com/photos/endless_beauty/322191546
  • 54.
    Práticas Propriedade Coletiva todos acrescentam valor todos conhecem código http://www.flickr.com/photos/endless_beauty/322191546
  • 55.
  • 56.
    Práticas http://www.thoughtworks-studios.com/cruise-release-management
  • 57.
    Práticas Integração Contínua uma máquina + uma dupla = uma obrigação 100% correto http://www.thoughtworks-studios.com/cruise-release-management
  • 58.
  • 59.
    Práticas http://www.flickr.com/photos/viamoi/3408674630/
  • 60.
    Práticas Semana de 40 horas compromisso na medida certa dedicação diária disposto e animado de manhã! cansado e satisfeito a noite! http://www.flickr.com/photos/viamoi/3408674630/
  • 61.
  • 62.
  • 63.
    Práticas Cliente Presente cliente real com o time dificuldades? penalidades? http://www.flickr.com/photos/troyholden/4036087411
  • 64.
  • 65.
  • 66.
    Práticas Padrões de Codificação muitos para entender o padrão deve ser voluntário http://www.flickr.com/photos/yushimoto_02/3814198150
  • 68.
    3 Como isso pode dar certo ?
  • 69.
  • 70.
    Retorno das práticas “As práticas apóiam umas as outras. O ponto fraco de uma é compensado pelos pontos fortes da outra”
  • 72.
    cliente presente jogo do planejamento Metáfora semana de 40 horas projeto simples Refatoração ciclos de entrega curtos testes Programação em par padrões de codificação integração contínua propriedade coletiva
  • 74.
    4 Dúvidas?