Metodologias Ágeis: Uma breve introdução

948 visualizações

Publicada em

0 comentários
4 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
948
No SlideShare
0
A partir de incorporações
0
Número de incorporações
30
Ações
Compartilhamentos
0
Downloads
19
Comentários
0
Gostaram
4
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Good afternoon! I am Gene Bounds, and I’m very pleased to be here representing PMI’s Board of Directors.
  • Metodologias Ágeis: Uma breve introdução

    1. 1. Metodologias Ágeis Uma breve introdução Achiles Camilo PMI-ACP, CAPM, CSM, MCTS Diretor Adjunto de Certificação
    2. 2. Como tudo começou?
    3. 3. Engenharia de Software • No final dos 50 surgiu o termo Engenharia de Software; • Dessa época até meados dos anos 80, foi a famosa Crise de Software: • Prazos não cumpridos; • Hardware caro; • Orçamentos estourados; • Não atendiam os requisitos; • Baixa qualidade; • E isso quando era entregue!!
    4. 4. There is “No Silver Bullet...” • Em 86, Brooks lançou a célebre frase, onde explica um pouco o “segredo” dos softwares;
    5. 5. E a coisa foi ficando séria... • Ferramentas CASE; • Modelos de Processo (CMM); • Início da criação de Métodos; – Disciplina; – Profissionalismo!
    6. 6. E chegou a tal da Internet! • Trocas de emails; • Fóruns de discussão; • Disseminação do conhecimento;
    7. 7. Já ouviram falar em cachoeira?
    8. 8. Como assim? • Sem mais documentação??? • Chega de diagramas??? • Agora é só código???
    9. 9. The Agile Alliance surge!! • De 11 a 13 de Fevereiro de 2001 um grupo se intitulado “The Agile Alliance” se reuniram e criaram algo simples; • O Agile Manifesto pode ser visto através do site: http://agilemanifesto.org
    10. 10. Agile Manifesto!!
    11. 11. E se popularizou o/ • Desde então vários evangelistas se espalharam pelo mundo; • Livros, artigos, fóruns, comunidades e uma infinidade de meios são utilizados para expor essa 8ª maravilha ao mundo; • Mas isso nos traz a um pequeno probleminha: – Cada empresa, cada equipe e cada pessoa entende Agile como acha conveniente – E temos empresas/equipes/pessoas ágeis que não são tão ágeis assim...
    12. 12. Como assim? • Como ser um verdadeiro “agilista” então? • Simples!! Basta utilizar as técnicas e métodos ágeis como eles são... • Eles são feitos para serem customizados e se adaptarem modificados; a suas necessidades, mas não
    13. 13. Métodos e Técnicas • Técnicas ágeis são atividades que buscam maneiras de colocar na prática o que os princípios ágeis propõe: – TDD, Programação em par, Reuniões diárias... • Um conjunto de técnicas agrupadas para facilitar o desenvolvimento de Software são os métodos: – Scrum, XP, Crystal, DSDM, Lean, Kanban...
    14. 14. Técnicas
    15. 15. Post Its!! (CardWall) • Quem usa Post It pra anotar as coisas? • Uma das técnicas mais clássicas e mais notadas; • Gera um efeito visual marcante; • Motiva a famosa “Gestão a Vista”!
    16. 16. Baklogs • Backlog nada mais é do que o escopo de trabalho; • Tudo que tem que ser feito, todos os “requisitos funcionais” do sistema estão presentes no Backlog; • Podem ser divididos entre: – Backlog do Produto; – Backlog de Sprints;
    17. 17. Iterações • No contexto ágil, todas as iterações são “timeboxes”, ou seja, todos são períodos de tempo pré-determinados; • Auxiliam na segmentação do trabalho; • Melhoram a gestão e o controle das entregas;
    18. 18. Entregas Constantes • No mundo ágil, todas as entregas são funcionais!! • E devem ser realizadas frequentemente para captar os feedbacks dos stakeholders sobre o produto; • Auxiliam para melhor entender as necessidades do cliente;
    19. 19. Integração Contínua • Todo desenvolvimento realizado entre os membros da equipe devem ser testados quanto a integração com todo o software; (Build Automático) • Para toda entrega gerada, sempre deve haver uma preocupação com a Integração com os demais componentes do Sistema;
    20. 20. TDD (Desenvolvimento Orientado a Teste) • Teste primeiro!! • Vai escrever um método? O teste unitário dele já está pronto? • Antes de qualquer linha de código, deve haver uma muitas linhas de testes;
    21. 21. Stand Up (Reuniões em pé) • Reuniões em pé contendo os membros da equipe; • Geralmente duram 15 minutos e devem ser discutidos os problemas que impedem o avanço da equipe; • A frequência é determinada pela equipe;
    22. 22. Pair Programming (Programação em par) • Por que em par??? • Auxilia nos testes (TDD, lembra?); • Evita cometer pequenos erros; • Evita o tédio/ócio, e aumenta a produtividade;
    23. 23. Estimativas • Medidas: – Pontos de História (Sequencia Fibonacci); – Velocidade do Time; • Técnicas: – Planning Poker; – Técnica Delphi; – Comparação;
    24. 24. Conceito de “Done” (Pronto) • Só pode ser considerado “Pronto” se for testado e aprovado! • Já testou? Não... Então não está pronto! • Cliente aceitou? Não... Então não está pronto!
    25. 25. Histórias de Usuário • 3 C’s • INVEST – Cartão – Independente – Conversa – Negociável – Confirmação – Estimável – Pequena – Testável
    26. 26. Histórias de Usuário
    27. 27. Refactoring (Refatoração) • Princípio básico de Melhoria Contínua aplicada ao código; • Após um método ser testado com êxito, ele está apto a ser refatorado, ou seja, ele deverá ser melhorado, porém, sem perder a funcionalidade; • Recomendação: Código Limpo, Robert Martin!
    28. 28. Equipes Auto Gerenciáveis • Com a equipe em comum acordo sobre o backlog a ser trabalhado, assume-se que todos sabem seus papéis; • Em uma equipe ágil madura, os “líderes” resolvem os impedimentos da equipe, pois a distribuição de atividades e relacionamento interno são resolvidos pelos próprios membros;
    29. 29. Métodos
    30. 30. Scrum • Metodologia ágil mais famosa; • Baseada em Sprints de 2 a 4 semanas; • Possui 2 papéis críticos, além da equipe do projeto: – Scrum Master; – Product Owner;
    31. 31. Scrum • Utiliza as técnicas: – Backlog • Produto; • Sprint; – Reunião em pé diária; • O que foi feito? • O que vou fazer? • Quais os problemas? – Gráficos de Burndown;
    32. 32. Scrum • Possui 3 reuniões chaves: – Sprint Planning (Planejamento do Sprint) • Planejamento do o backlog do Sprint; – Sprint Review (Revisão do Sprint) • Valida as entregas; • Avalia-se a continuidade do projeto; – Sprint Retrospective (Retrospecita do Sprint) • Coleta-se as lições aprendidas durante o Sprint;
    33. 33. XP (eXtreme Programming) • 5 Valores: • 4 Práticas: – Comunicação; – Codificar; – Coragem; – Testar; – Feedbacks; – Escutar; – Respeito; – “Modelar”; – Simplicidade;
    34. 34. XP (eXtreme Programming) • 12 Princípios: – Feedbacks rápidos; – Experimentos concretos; – Simplicidade assumida; – Comunicação honesta; – Mudanças incrementais; – Responsabilidade; – Abraçar mudanças; – Adaptação ao local de trabalho; – Qualidade de trabalho; – Investimentos iniciais baixos; – Poucas “viagens”; – Indicadores honestos;
    35. 35. XP (eXtreme Programming) • 12 Práticas: – Jogo do Planejamento; – Programação em par; – Pequenas entregas; – Posse coletiva; – Metáforas; – Integração contínua; – Modelagens simples; – 40 h/semana; – Testes; – Clientes presentes; – Refatorações; – Padrões de código;
    36. 36. Lean • Baseado totalmente no modelo Toyota de Produção, é uma adaptação do “Lean Manufacturing” para software; • Possui 22 técnicas recomendadas para uso; • Altamente escalável e pode ser “acoplada” a outras metodologias;
    37. 37. Lean • 7 Princípios: – Eliminar o desperdício; – Amplificar o aprendizado; – Decidir o mais tarde possível; – Entregar o mais cedo possível; – Fortalecer o time; – Construir integrações; – Ver sempre como um todo;
    38. 38. Kanban • Também originado de processos industrias, tem como foco Gerir a Demanda de trabalho;
    39. 39. Kanban • 4 Princípios: – Comece com o que você faz hoje; – Faça mudanças evolutivamente; – Respeite o processo, os papéis, as responsabilidades e os títulos; – Encoraje atos de liderança em todos os níveis;
    40. 40. Kanban • 6 Práticas: – Visualize; – Limite o WIP (Trabalho em Processo); – Gerencie o fluxo; – Tenha políticas explícitas; – Implemente ciclos de feedback; – Melhore colaborativamente, evolua experimentalmente;
    41. 41. Gestão de Projetos Ágeis
    42. 42. Gerenciamento de Projetos é mais fácil do que parece • Em processos ad hoc, temos a Execução; • Por necessidade, “descobriram” que era interessante termos um Monitoramento e Controle do projeto; • Com o passar do tempo, aprendemos a Planejar e a Iniciar o projeto consultando uma base histórica • E tudo isso se Encerra no final;
    43. 43. Integrando o PMBoK com o Agile Monitoramento & Controle Iniciação Planejamento Encerramento Execução
    44. 44. E o Gerente de Projeto... Como que fica? • Existe sim lugar para o Gerente de Projeto em um projeto ágil; • Existem vários papéis de lideranças (Coachs, Scrum Masters ou qualquer outro), e as ações desempenhadas para o sucesso do projeto são praticamente as mesmas; • Mas se partimos do princípio que a equipe deve escolher o seu “líder”, ainda assim esse papel pode coexistir com o GP;
    45. 45. Saibam... nós não estamos sozinhos ;) • O PMI possui a Agile Community of Practice • Há também a Agile Alliance • Comunidade Ágil do InfoQ • Comunidades específicas – Scrum Alliance / Lean Community / Scum.org...
    46. 46. Dúvidas? http://br.linkedin.com/in/achilescamilo achiles.camilo@pmigo.org.br Achiles Camilo PMI-ACP, CAPM, CSM, MCTS Diretor Adjunto de Certificação

    ×