Your SlideShare is downloading. ×
Metodologias Ágeis: Uma breve introdução
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Metodologias Ágeis: Uma breve introdução

491
views

Published on


0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
491
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
12
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Good afternoon! I am Gene Bounds, and I’m very pleased to be here representing PMI’s Board of Directors.
  • Transcript

    • 1. Metodologias Ágeis Uma breve introdução Achiles Camilo PMI-ACP, CAPM, CSM, MCTS Diretor Adjunto de Certificação
    • 2. Como tudo começou?
    • 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. There is “No Silver Bullet...” • Em 86, Brooks lançou a célebre frase, onde explica um pouco o “segredo” dos softwares;
    • 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. E chegou a tal da Internet! • Trocas de emails; • Fóruns de discussão; • Disseminação do conhecimento;
    • 7. Já ouviram falar em cachoeira?
    • 8. Como assim? • Sem mais documentação??? • Chega de diagramas??? • Agora é só código???
    • 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. Agile Manifesto!!
    • 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. 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. 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. Técnicas
    • 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. 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. 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. 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. 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. 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. 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. 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. Estimativas • Medidas: – Pontos de História (Sequencia Fibonacci); – Velocidade do Time; • Técnicas: – Planning Poker; – Técnica Delphi; – Comparação;
    • 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. Histórias de Usuário • 3 C’s • INVEST – Cartão – Independente – Conversa – Negociável – Confirmação – Estimável – Pequena – Testável
    • 26. Histórias de Usuário
    • 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. 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. Métodos
    • 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. 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. 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. XP (eXtreme Programming) • 5 Valores: • 4 Práticas: – Comunicação; – Codificar; – Coragem; – Testar; – Feedbacks; – Escutar; – Respeito; – “Modelar”; – Simplicidade;
    • 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. 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. 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. 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. Kanban • Também originado de processos industrias, tem como foco Gerir a Demanda de trabalho;
    • 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. 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. Gestão de Projetos Ágeis
    • 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. Integrando o PMBoK com o Agile Monitoramento & Controle Iniciação Planejamento Encerramento Execução
    • 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. 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. 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