Extreme Programming
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 ESTÃO NOSSOS
  PROJETOS ?!?!
JÁ SABEMOS
LIDERAR...COLABORAR...
      ESTIMAR...
MAS AINDA NÃO ESTAMOS
 OBTENDO QUALIDADE...
Scrum Flácido !!
Scrum Flácido !!

                                                           descuido com a qualidade

                                                                          débito técnico

                                                               técnicas de gerência


                                                                   falta prática técnica


http://www.flickr.com/photos/adewale_oshineye/2933030620/
COMO MELHORAR ?!?!
Nossa Aula

• Parte 1 - Autores e obra o XP
• Parte 2 - Problema Básico
• Parte 3 - Programação quotidiana
• Parte 4 - Economia e desenvolvimento
• Parte 5 - Quatro Valores
1   Autores e obra o XP
80’s
                                               Tektronixs



        Kent Beck
Criador do Extreme Programming




                            Ward Cunningham
                         Criador do Extreme Programming e
                                  do primeiro Wiki
80’s
                                               Tektronixs

                                                                            feedback
                                                            quick changes
                                                                                       tests
        Kent Beck
Criador do Extreme Programming
                                       par programming                Smalltalk
                                                                               quick changes
                                                             refactoring




                            Ward Cunningham
                         Criador do Extreme Programming e
                                  do primeiro Wiki
1996




        Kent Beck
                                             C3
                                      Sistema de Compensação
Criador do Extreme Programming
                                         Abrangente Chrysler




                            Ward Cunningham
                         Criador do Extreme Programming e
                                  do primeiro Wiki
1996




        Kent Beck
                                             C3
                                      Sistema de Compensação
Criador do Extreme Programming
                                         Abrangente Chrysler




                            Ward Cunningham
                         Criador do Extreme Programming e
                                  do primeiro Wiki
2   Problema básico
Deslizes no cronograma
Deslizes no cronograma


prioridades    feedback
               XP     aguarde e confie
  release
              ciclos curtos



                                        http://www.flickr.com/photos/pinkuiro/173581499/
Projeto cancelado
Projeto cancelado


    menos erros
                        mais valor
                 XP
menor escopo
               cliente define



                                     http://www.flickr.com/photos/alexharries/2615962049/
“Azedou”
“Azedou”


Integração contínua
                XP sem redundância
automatização
                testes



                                 http://www.flickr.com/photos/amandaboucinhas/2367208579/
Taxa de erros
Taxa de erros


   foco do cliente nos testes
               XP
foco do desenvolvedor nos testes



                                   http://www.flickr.com/photos/ultra_violet/3667163079/
Negócio mal
compreendido
Negócio mal
   compreendido

              aprendizado aplicado
especificação refinada
                       XP

    cliente integrante do time



                                     http://www.flickr.com/photos/byspice/4083185848/
Modificações no negócio
Modificações no negócio


           a equipe não difere

o cliente aprende    XP

            encurta o ciclo


                                 http://www.flickr.com/photos/marcde/2606717947/
Falsa riqueza de funções
Falsa riqueza de funções



o cliente define    XP

           só priorizado


                           http://www.flickr.com/photos/68888883@N00/136864018/
Rotatividade da equipe
Rotatividade da equipe


               troca de experiências
      reduz o isolamento

retorno estimativa   XP

          equipe responsável


                                       http://www.flickr.com/photos/photomishdan/3528281481/
3   Programação
    quotidiana
Ciclo de Vida XP ?
Ciclo de Vida XP ?
EXPLORAÇÃO




Histórias
 Histórias
  Histórias
Ciclo de Vida XP ?
EXPLORAÇÃO    PLANEJAMENTO




               Histórias para a
               próxima Iteração

Histórias
 Histórias
  Histórias
Ciclo de Vida XP ?
EXPLORAÇÃO    PLANEJAMENTO           ITERAÇÕES ATÉ A ENTREGA           ENTREGA




                                     Programação em Par
               Histórias para a                     Planejar
               próxima Iteração   Analise Design               teste
                                                     teste
Histórias
 Histórias
  Histórias               FeedBack
                                              Integração                Release
                                  Teste        Continua


                                                                        Entrega
                                                                        Semanal
                                     Repositório
                                     de Código
Standing meeting

   Episódio XP
                                                 alguém falou na reunião ?




                                                                               http://www.flickr.com/photos/mytripsmypics/3735005877/




                                                pode me ajudar ? CLARO

http://www.flickr.com/photos/elsvo/3043903654/




                                                                             http://www.flickr.com/photos/jeffclow/307254654/
#1                                  #2

                classes                                testes ?
 O QUE FOI FEITO!                O QUE PRECISA SER FEITO!
                testes                                campos?


           #3                                #4
ALGO SEMELHANTE?
                      sim!                         deu certo ?
                                   NOVOS TESTES!
                    refatorar!                   implementar!
                     testar!                       novas idéias!
Episódio XP
           #1                                  #2

                classes                                testes ?
 O QUE FOI FEITO!                O QUE PRECISA SER FEITO!
                testes                                campos?


           #3                                #4
ALGO SEMELHANTE?
                      sim!                         deu certo ?
                                   NOVOS TESTES!
                    refatorar!                   implementar!
                     testar!                       novas idéias!
Episódio XP
                                                        integrando




                                                                                      http://nvie.com/wp-content/




                                                      TUDO CERTO

http://www.flickr.com/photos/robbyrussell/2674833047




                                                                     http://www.flickr.com/photos/pcalcado/4132421818/
4   Economia e
    desenvolvimento
Software mais valioso
Software mais valioso




              http://www.flickr.com/photos/wcampelo/115847668/
Software mais valioso


Entradas - Saídas = $$
   gastando menos
       ganhando mais
           ganhando mais tarde
      mantendo o projeto vivo

                                 http://www.flickr.com/photos/wcampelo/115847668/
Software mais valioso
Software mais valioso


         OPÇÕES
Ganhar mesmo abandonando
        Ganhar trocando
               Ganhar adiando
          Ganhar crescendo

                                http://www.flickr.com/photos/werdinsel/3970430829
INCERTEZAS!!
investimento inicial menor



oportunidade para mudar   XP!!        avançar mais rapidamente



              feedback do progresso
5   Quatro Valores
Valores
Valores

                    COMUNICAÇÃO

 muitas práticas




muita comunicação


  menos falhas

                          http://www.improveit.com.br/xp
Valores
• Simplicidade: O XP e suas equipes utilizam o conceito de
  simplicidade em inúmeros aspectos do projeto para assegurar a
  concentração na realização, primeiro, em apenas aquilo que é
  CLARAMENTE NECESSÁRIO, em detrimento do que PODERIA vir a ser
  NECESSÁRIO, mas ainda não se provou como tal.



                                                      45 %
                                     +            Jamais são usadas


                                          19 %
                                    Raramente são usadas



                                         64 %
                            Não precisavam ser implementadas
Valores
     • Simplicidade: O XP e suas equipes utilizam o conceito de
          simplicidade em inúmeros aspectos do projeto para assegurar a
          concentração na realização, primeiro, em apenas aquilo que é
          CLARAMENTE NECESSÁRIO, em detrimento do que PODERIA vir a ser
          NECESSÁRIO, mas ainda não se provou como tal.



                                                                            45 %
                                                           +            Jamais são usadas


                                                                19 %
                                                          Raramente são usadas



                                                               64 %
                                                  Não precisavam ser implementadas
http://www.flickr.com/photos/nopipno/1256874374/
Valores
Valores

                                                          FEEDBACK




http://www.flickr.com/photos/pcalcado/4132421818/




                                                   http://www.flickr.com/photos/pcalcado/4132421644/
Valores
Valores


               Usuários
         - Não obter oque pediram
            - Pedir a coisa errada
      - Pagar demais por muito pouco
      - Jamais ver um plano relevante
    - Não saber oque está acontecendo
- Não serem capazes de reagir as mudanças
Valores

                                                  CORAGEM
               Usuários
         - Não obter oque pediram
            - Pedir a coisa errada
      - Pagar demais por muito pouco
      - Jamais ver um plano relevante
    - Não saber oque está acontecendo
- Não serem capazes de reagir as mudanças
                                                 Desenvolvedores
                                          - Serem solicitados a mais do que sabem
                                       - Realizar solicitações que não façam sentido
                                              - Ficarem tecnicamente defasados
                                        - Não receber com clareza as necessidades
                                         - Sacrificar qualidade em função do tempo
                                           - Não ter tempo para fazer bom trabalho
Valores
Valores




RESPEITO




           http://www.flickr.com/photos/shoot-art/4285855885/

UnP Eng. Software - Aula 12

  • 1.
  • 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 ESTÃO NOSSOS PROJETOS ?!?!
  • 7.
  • 8.
    MAS AINDA NÃOESTAMOS OBTENDO QUALIDADE...
  • 9.
  • 10.
    Scrum Flácido !! descuido com a qualidade débito técnico técnicas de gerência falta prática técnica http://www.flickr.com/photos/adewale_oshineye/2933030620/
  • 11.
  • 12.
    Nossa Aula • Parte1 - Autores e obra o XP • Parte 2 - Problema Básico • Parte 3 - Programação quotidiana • Parte 4 - Economia e desenvolvimento • Parte 5 - Quatro Valores
  • 14.
    1 Autores e obra o XP
  • 16.
    80’s Tektronixs Kent Beck Criador do Extreme Programming Ward Cunningham Criador do Extreme Programming e do primeiro Wiki
  • 17.
    80’s Tektronixs feedback quick changes tests Kent Beck Criador do Extreme Programming par programming Smalltalk quick changes refactoring Ward Cunningham Criador do Extreme Programming e do primeiro Wiki
  • 19.
    1996 Kent Beck C3 Sistema de Compensação Criador do Extreme Programming Abrangente Chrysler Ward Cunningham Criador do Extreme Programming e do primeiro Wiki
  • 20.
    1996 Kent Beck C3 Sistema de Compensação Criador do Extreme Programming Abrangente Chrysler Ward Cunningham Criador do Extreme Programming e do primeiro Wiki
  • 22.
    2 Problema básico
  • 24.
  • 25.
    Deslizes no cronograma prioridades feedback XP aguarde e confie release ciclos curtos http://www.flickr.com/photos/pinkuiro/173581499/
  • 27.
  • 28.
    Projeto cancelado menos erros mais valor XP menor escopo cliente define http://www.flickr.com/photos/alexharries/2615962049/
  • 30.
  • 31.
    “Azedou” Integração contínua XP sem redundância automatização testes http://www.flickr.com/photos/amandaboucinhas/2367208579/
  • 33.
  • 34.
    Taxa de erros foco do cliente nos testes XP foco do desenvolvedor nos testes http://www.flickr.com/photos/ultra_violet/3667163079/
  • 36.
  • 37.
    Negócio mal compreendido aprendizado aplicado especificação refinada XP cliente integrante do time http://www.flickr.com/photos/byspice/4083185848/
  • 39.
  • 40.
    Modificações no negócio a equipe não difere o cliente aprende XP encurta o ciclo http://www.flickr.com/photos/marcde/2606717947/
  • 42.
  • 43.
    Falsa riqueza defunções o cliente define XP só priorizado http://www.flickr.com/photos/68888883@N00/136864018/
  • 45.
  • 46.
    Rotatividade da equipe troca de experiências reduz o isolamento retorno estimativa XP equipe responsável http://www.flickr.com/photos/photomishdan/3528281481/
  • 48.
    3 Programação quotidiana
  • 49.
  • 50.
    Ciclo de VidaXP ? EXPLORAÇÃO Histórias Histórias Histórias
  • 51.
    Ciclo de VidaXP ? EXPLORAÇÃO PLANEJAMENTO Histórias para a próxima Iteração Histórias Histórias Histórias
  • 52.
    Ciclo de VidaXP ? EXPLORAÇÃO PLANEJAMENTO ITERAÇÕES ATÉ A ENTREGA ENTREGA Programação em Par Histórias para a Planejar próxima Iteração Analise Design teste teste Histórias Histórias Histórias FeedBack Integração Release Teste Continua Entrega Semanal Repositório de Código
  • 54.
    Standing meeting Episódio XP alguém falou na reunião ? http://www.flickr.com/photos/mytripsmypics/3735005877/ pode me ajudar ? CLARO http://www.flickr.com/photos/elsvo/3043903654/ http://www.flickr.com/photos/jeffclow/307254654/
  • 55.
    #1 #2 classes testes ? O QUE FOI FEITO! O QUE PRECISA SER FEITO! testes campos? #3 #4 ALGO SEMELHANTE? sim! deu certo ? NOVOS TESTES! refatorar! implementar! testar! novas idéias!
  • 56.
    Episódio XP #1 #2 classes testes ? O QUE FOI FEITO! O QUE PRECISA SER FEITO! testes campos? #3 #4 ALGO SEMELHANTE? sim! deu certo ? NOVOS TESTES! refatorar! implementar! testar! novas idéias!
  • 58.
    Episódio XP integrando http://nvie.com/wp-content/ TUDO CERTO http://www.flickr.com/photos/robbyrussell/2674833047 http://www.flickr.com/photos/pcalcado/4132421818/
  • 60.
    4 Economia e desenvolvimento
  • 61.
  • 62.
    Software mais valioso http://www.flickr.com/photos/wcampelo/115847668/
  • 63.
    Software mais valioso Entradas- Saídas = $$ gastando menos ganhando mais ganhando mais tarde mantendo o projeto vivo http://www.flickr.com/photos/wcampelo/115847668/
  • 64.
  • 65.
    Software mais valioso OPÇÕES Ganhar mesmo abandonando Ganhar trocando Ganhar adiando Ganhar crescendo http://www.flickr.com/photos/werdinsel/3970430829
  • 67.
  • 69.
    investimento inicial menor oportunidadepara mudar XP!! avançar mais rapidamente feedback do progresso
  • 71.
    5 Quatro Valores
  • 72.
  • 73.
    Valores COMUNICAÇÃO muitas práticas muita comunicação menos falhas http://www.improveit.com.br/xp
  • 74.
    Valores • Simplicidade: OXP e suas equipes utilizam o conceito de simplicidade em inúmeros aspectos do projeto para assegurar a concentração na realização, primeiro, em apenas aquilo que é CLARAMENTE NECESSÁRIO, em detrimento do que PODERIA vir a ser NECESSÁRIO, mas ainda não se provou como tal. 45 % + Jamais são usadas 19 % Raramente são usadas 64 % Não precisavam ser implementadas
  • 75.
    Valores • Simplicidade: O XP e suas equipes utilizam o conceito de simplicidade em inúmeros aspectos do projeto para assegurar a concentração na realização, primeiro, em apenas aquilo que é CLARAMENTE NECESSÁRIO, em detrimento do que PODERIA vir a ser NECESSÁRIO, mas ainda não se provou como tal. 45 % + Jamais são usadas 19 % Raramente são usadas 64 % Não precisavam ser implementadas http://www.flickr.com/photos/nopipno/1256874374/
  • 76.
  • 77.
    Valores FEEDBACK http://www.flickr.com/photos/pcalcado/4132421818/ http://www.flickr.com/photos/pcalcado/4132421644/
  • 78.
  • 79.
    Valores Usuários - Não obter oque pediram - Pedir a coisa errada - Pagar demais por muito pouco - Jamais ver um plano relevante - Não saber oque está acontecendo - Não serem capazes de reagir as mudanças
  • 80.
    Valores CORAGEM Usuários - Não obter oque pediram - Pedir a coisa errada - Pagar demais por muito pouco - Jamais ver um plano relevante - Não saber oque está acontecendo - Não serem capazes de reagir as mudanças Desenvolvedores - Serem solicitados a mais do que sabem - Realizar solicitações que não façam sentido - Ficarem tecnicamente defasados - Não receber com clareza as necessidades - Sacrificar qualidade em função do tempo - Não ter tempo para fazer bom trabalho
  • 81.
  • 82.
    Valores RESPEITO http://www.flickr.com/photos/shoot-art/4285855885/