Projeto e Métricas de Software
Metodologias Ágeis
–   Você usa controle de versão ?
–   Você consegue fazer build em um passo apenas ?
–   Você faz builds diários ?
–   Tem um catálogo de bugs ?
–   Você conserta os bugs antes de escrever código novo ?
–   Seu cronograma está atualizado ?
–   Você tem especificações ?
–   Os programadores tem um lugar tranquilo para trabalhar ?
–   Você usa as melhores ferramentas disponíveis no mercado ?
–   Você tem testadores ?
–   Os candidatos a empregos fazem código durante a entrevista ?
–   Você faz teste de usabilidade ?
–   Você tem testes automatizados ?
–   Você faz refactoring ?
                                                                   2
Extreme Programming - XP
• Planejamento
     – Escrever user stories
     – Criar o cronograma de releases
     – Faça releases frequentes e pequenas
     – Meça a velocidade do projeto
     – Divida o projeto em iterações
     – A cada iteração faça um planejamento da fase
     – Mova as pessoas pelo projeto
     – Faça uma stand-up meeting todos os dias
     – Concerte a XP quando precisar




                                                      3
Extreme Programming - XP
• Projeto
    – Simplicidade
    – Escolha uma metáfora para o sistema
    – Use cartões CRC (Classe – Responsabiliade - Colaboração) nas
       reuniões de projeto
    – Use spike solutions para reduzir o risco
    – Nenhum recurso é adicionado antecipadamente
    – Faça refactoring sempre que possível




                                                                     4
Extreme Programming - XP
• Codificação
    – O cliente está SEMPRE disponível
    – O código deve aderir a padrões
    – Codifique o caso de teste ANTES
    – Toda produção de código usa Pair Programming
    – Apenas uma dupla integra código cada vez
    – Integre com freqüência
    – O código tem propriedade coletiva
    – Deixe a otimização por último
    – SEM horas extras




                                                     5
Extreme Programming - XP
• Testes
    – Todo o código deve ter casos de testes
    – Todo código deve passar em todos os testes
    – Quando um bug é achado, crie um caso de testes
    – Os testes de aceitação são executados sempre e os resultados são
       publicados




                                                                         6
Extreme Programming - XP




                           7
Extreme Programming - XP




                           8
Extreme Programming - XP




                           9
Extreme Programming - XP




                           10
Extreme Programming - XP




                           11
Scrum
• É um esqueleto de processo que inclui práticas e papéis pré-definidos
• Utiliza-se sprints de 15 a 30 dias
• Documentos
     – Product backlog
     – Sprint backlog
     – Burn Down
• Papéis
     – Porcos
          • Product Owner
          • ScrumMaster
          • Team
     – Galinhas
          • Usuários
          • Stakeholders
          • Gerentes                                                      12
Scrum




        13
Scrum




        14

Metodologias Ágeis

  • 1.
  • 2.
    Metodologias Ágeis – Você usa controle de versão ? – Você consegue fazer build em um passo apenas ? – Você faz builds diários ? – Tem um catálogo de bugs ? – Você conserta os bugs antes de escrever código novo ? – Seu cronograma está atualizado ? – Você tem especificações ? – Os programadores tem um lugar tranquilo para trabalhar ? – Você usa as melhores ferramentas disponíveis no mercado ? – Você tem testadores ? – Os candidatos a empregos fazem código durante a entrevista ? – Você faz teste de usabilidade ? – Você tem testes automatizados ? – Você faz refactoring ? 2
  • 3.
    Extreme Programming -XP • Planejamento – Escrever user stories – Criar o cronograma de releases – Faça releases frequentes e pequenas – Meça a velocidade do projeto – Divida o projeto em iterações – A cada iteração faça um planejamento da fase – Mova as pessoas pelo projeto – Faça uma stand-up meeting todos os dias – Concerte a XP quando precisar 3
  • 4.
    Extreme Programming -XP • Projeto – Simplicidade – Escolha uma metáfora para o sistema – Use cartões CRC (Classe – Responsabiliade - Colaboração) nas reuniões de projeto – Use spike solutions para reduzir o risco – Nenhum recurso é adicionado antecipadamente – Faça refactoring sempre que possível 4
  • 5.
    Extreme Programming -XP • Codificação – O cliente está SEMPRE disponível – O código deve aderir a padrões – Codifique o caso de teste ANTES – Toda produção de código usa Pair Programming – Apenas uma dupla integra código cada vez – Integre com freqüência – O código tem propriedade coletiva – Deixe a otimização por último – SEM horas extras 5
  • 6.
    Extreme Programming -XP • Testes – Todo o código deve ter casos de testes – Todo código deve passar em todos os testes – Quando um bug é achado, crie um caso de testes – Os testes de aceitação são executados sempre e os resultados são publicados 6
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
    Scrum • É umesqueleto de processo que inclui práticas e papéis pré-definidos • Utiliza-se sprints de 15 a 30 dias • Documentos – Product backlog – Sprint backlog – Burn Down • Papéis – Porcos • Product Owner • ScrumMaster • Team – Galinhas • Usuários • Stakeholders • Gerentes 12
  • 13.
  • 14.