Metodologias Ágeis



   Desenvolvimento de Software com


Extreme Programming (XP)

                     Fernando Kenji Kamei – @fkenjikamei
Objetivos

   Explicar o que é o XP

   Explicar os Valores do XP

   Explicar as 12 práticas do XP
eXtreme Programming


          O que é
eXtreme Programming (XP) ?
eXtreme Programming

Metodologia Ágil para equipes
     pequenas e médias
 desenvolvendo software com
   requisitos vagos ou com
    mudanças freqüentes

                         (BECK, 2000)
Objetivo...


Desenvolver com qualidade,
  e aumentar a satisfação
         do cliente
                   (TELES, 2004)
Quatro valores do XP

      Comunicação
       Feedback
      Simplicidade
        Coragem
Valores do XP...



   Comunicação...
1. Comunicação...


1.   Compreensão do negócio
     2. Satisfação do cliente

3.   Integração entre a equipe
Valores do XP...



      Feedback...
2. Feedback...


 1.   Retorno do Cliente
        2. Aprendizado

      3. Realimentação
Valores do XP...



    Simplicidade...
3. Simplicidade...



1.    Redução da complexidade
     2. Aumento a Velocidade
Valores do XP...



       Coragem...
4. Coragem...



      Melhoria contínua
     1.

2.   Abraço as mudanças
Práticas do XP...

   Cliente Presente
                           Padronização
Jogo do Planejamento
                          Design Simples
  Stand Up Meeting
                            Metáforas
 Programação em Par
                        Ritmo Sustentável
         TDD
                       Integração Contínua
     Refactoring
                         Releases Curtos
   Código Coletivo
1. Cliente Presente...


   Todos fazem parte da
           equipe,

inclusive o próprio cliente!
2. Jogo do Planejamento...


    Planejamento
          e
     Estimativas
3. Stand Up Meeting...




Reuniões em Pé...
4. Programação em Par...




 Pair Programming...
5. Testes...



               TDD
Teste primeiro! Depois codifique!
6. Refactoring...



Melhoria contínua
    do design
7. Código coletivo...



     Código
  compartilhado...
8. Padronização...



    Padronizar é
     importante...
9. Design Simples...



Simplicidade acima de
         tudo...
10. Metáforas...



     Facilita a
   comunicação...
11. Ritmo Sustentável...




Evita o cansaço...
12. Integração Contínua...


Sistema integrado

Testes de Unidade e Integração
13. Releases curtas...


 Entrega freqüente
         de
 Software Funcional
DÚVIDAS




  ?
Metodologias Ágeis



   Desenvolvimento de Software com


Extreme Programming (XP)

                     Fernando Kenji Kamei – @fkenjikamei

Desenvolvimento de Software com Extreme Programming (XP)