O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Scrum

4.356 visualizações

Publicada em

Palestra sobre Scrum ministrada por Samuel Crescêncio da OnCast (www.oncast.com.br) na PHPSC Conf 2009

Publicada em: Tecnologia, Negócios
  • Seja o primeiro a comentar

Scrum

  1. 1. Scrum Samuel Crescêncio Agile Evangelist <ul><li>www.oncast.com.br </li></ul>
  2. 2. Agenda Scrum Visão Geral Ferramentas <ul><li>Reuniões </li></ul><ul><li>Scrum e Eng. </li></ul><ul><li>de Software </li></ul><ul><ul><li>- O que é Scrum? </li></ul></ul><ul><ul><li>- Benefícios do Scrum </li></ul></ul><ul><ul><li>- Gestão da Complexidade </li></ul></ul><ul><ul><li>- Esqueleto </li></ul></ul><ul><ul><li>- Papéis </li></ul></ul><ul><ul><ul><li>- Product Owner </li></ul></ul></ul><ul><ul><ul><li>- Time </li></ul></ul></ul><ul><ul><ul><li>- Scrum Master </li></ul></ul></ul><ul><ul><li>Estórias </li></ul></ul><ul><ul><li>Story Points </li></ul></ul><ul><ul><li>- Dashboard </li></ul></ul><ul><ul><li>- Burndown Chart </li></ul></ul><ul><ul><li>- Estimation Meeting </li></ul></ul><ul><ul><li>- Sprint Planning 1 </li></ul></ul><ul><ul><li>- Sprint Planning 2 </li></ul></ul><ul><ul><li>- Daily Scrum Meeting </li></ul></ul><ul><ul><li>- Sprint Review Meeting </li></ul></ul><ul><ul><li>- Retrospective Meeting </li></ul></ul><ul><ul><li>Projetos & Software </li></ul></ul>
  3. 3. O que é Scrum? <ul><li>U m processo iterativo e incremental para o desenvolvimento e controle de projetos! </li></ul><ul><li>Características: </li></ul><ul><li>- Adaptativo e evolucionário </li></ul><ul><li>Wrapper para práticas de engenharia existentes </li></ul><ul><li>Baseado em equipes multidisciplinares </li></ul><ul><li>Controla conflitos de interesse e necessidades </li></ul><ul><li>Permite a detecção e remoção de riscos e impedimentos </li></ul><ul><li>Permite o desenvolvimento de diferentes tipos de projeto </li></ul><ul><li>- É um processo escalável para o gerenciamento de organizações inteiras </li></ul>
  4. 4. Vantagem competitiva Maior gerenciabilidade Benefícios do Scrum <ul><ul><li>- Maximização do ROI </li></ul></ul><ul><ul><li>- Respostas mais rápidas às mudanças </li></ul></ul><ul><ul><li>- Geração de valor antecipada </li></ul></ul><ul><ul><li>- Maior qualidade </li></ul></ul><ul><ul><li>- Aumento significativo da produtividade </li></ul></ul><ul><ul><li>- Maior assertividade </li></ul></ul><ul><ul><li>- Maior visibilidade  evolução e impedimentos visíveis </li></ul></ul><ul><ul><li>- Motivação, auto-estima, c omunicação, cooperação, autonomia </li></ul></ul><ul><ul><li>- Gerenciamento da complexidade </li></ul></ul>
  5. 5. Pilares da complexidade em desenvolvimento de software Gestão da Complexidade <ul><ul><li>“ Scrum ataca a complexidade através de seu processo empírico </li></ul></ul><ul><ul><li>e suas práticas e regras simples” </li></ul></ul><ul><ul><li>- Requisitos </li></ul></ul><ul><ul><li>- Tecnologia </li></ul></ul><ul><ul><li>- Pessoas </li></ul></ul>
  6. 6. Scrum Visão Geral
  7. 7. Visão Geral - Esqueleto O Esqueleto e o Coração de Scrum
  8. 8. Product Owner - Representa os stakeholders - Foco no négocio - Planeja os releases - Elabora e prioriza funcionalidades - Feedback & aprovações - Maximiza o ROI Scrum Master - Inspeção e adaptação - Age como facilitador - Define limites - Proteje o time Time - Entrega - É auto-organizado - É multi-disciplinar - Estima as estórias - Reporta progressos - Reporta impedimentos Compromisso Equipe Scrum completa Visão Geral - Papéis    SM PO Time
  9. 9. Scrum Ferramentas do Scrum
  10. 10. Geradas pelo Time ou pelo Product Owner Contém Normalmente não são dependentes de outras estórias Não são designadas à uma pessoa Armazenadas em story cards e fixadas na parede Ferramentas - Estórias <ul><ul><li>- Funcionalidades descritas de forma </li></ul></ul><ul><ul><li>extremamente simples </li></ul></ul><ul><ul><ul><li>- Não são especificações </li></ul></ul></ul><ul><ul><li>- Condições de aceite que possam ser </li></ul></ul><ul><ul><li>testadas na revisão </li></ul></ul><ul><ul><li>- Todo o time é responsável pela estória </li></ul></ul>
  11. 11. Indica o tamanho de uma estória em termos de esforços Seguem a escala Fibonacci Ferramentas - Story Points <ul><ul><li>- São base para medir a velocidade </li></ul></ul><ul><ul><li>- São base para priorizar estórias </li></ul></ul><ul><ul><li>- 1, 2, 3, 5, 8, 13, 21, 34... </li></ul></ul><ul><ul><li>- A unidade mínima (1 sp.) é definida pelo time </li></ul></ul>Estimativas são acordadas pelo time
  12. 12. <ul><li>Controle da visão do produto </li></ul><ul><ul><li>- Product Backlog </li></ul></ul><ul><ul><li>- Selected Product Backlog </li></ul></ul><ul><li>Controle do Sprint </li></ul><ul><ul><li>- Sprint Backlog </li></ul></ul><ul><ul><li>- To do </li></ul></ul><ul><ul><li>- Under working </li></ul></ul><ul><ul><li>- Done </li></ul></ul><ul><ul><li>- Impediments Backlog </li></ul></ul><ul><li>Benefícios </li></ul><ul><ul><li>- Gerenciamento das estórias </li></ul></ul><ul><ul><li>- Visibilidade </li></ul></ul><ul><ul><li>- Noção visual de progresso e impedimentos </li></ul></ul><ul><ul><li>- Participação colaborativa </li></ul></ul>Ferramentas - Dashboard
  13. 13. Benefícios Ferramentas - Burndown Chart <ul><ul><li>- Visibilidade </li></ul></ul><ul><ul><li>- Noção de velocidade </li></ul></ul><ul><ul><li>- Evita surpresas </li></ul></ul>
  14. 14. Scrum Reuniões do Scrum
  15. 15. Reuniões - Ciclo de Reuniões Oficiais Estimation Planning 2 Planning 1 Daily Meetings Sprint Review Retrospective DIA 1 DIA 30
  16. 16. Reuniões - Fluxo do Scrum Vision Product Backlog
  17. 17. Participantes PO SM Time Objetivo - Product Owner - Scrum Master - Time <ul><ul><li>Estimar o tamanho das próximas estórias relevantes </li></ul></ul><ul><ul><li>Ter estimativas como base para o release planning </li></ul></ul><ul><ul><li>Estórias previamente priorizadas por valor </li></ul></ul><ul><ul><li>Compartilha a visão de negócio </li></ul></ul><ul><ul><li>Time-boxed: 4 horas </li></ul></ul><ul><ul><li>Estima em story points </li></ul></ul>Estimation Meeting
  18. 18. Reuniões - Fluxo do Scrum Product Backlog priorizado Vision Product Backlog Estimation
  19. 19. Objetivo - Product Owner - Scrum Master - Time Reuniões - Sprint Planning 1 <ul><ul><li>Definir o objetivo da iteração </li></ul></ul><ul><ul><li>Selecionar as estórias para a iteração </li></ul></ul><ul><ul><li>Compartilha a visão de negócio </li></ul></ul><ul><ul><li>Define objetivo da iteração </li></ul></ul><ul><ul><li>Time-boxed: 4 horas </li></ul></ul><ul><ul><li>Disponibiliza resultados da iteração anterior </li></ul></ul><ul><ul><li>Agenda todos os meetings e tamanho da iteração </li></ul></ul><ul><ul><li>Ajuda a definir objetivo da iteração </li></ul></ul><ul><ul><li>Coleta informações sobre as estórias </li></ul></ul>Participantes PO SM Time
  20. 20. Reuniões - Fluxo Scrum Selected Backlog Product Backlog priorizado Vision Product Backlog Estimation Planning 1
  21. 21. <ul><ul><li>Dividir estórias em tarefas </li></ul></ul><ul><ul><li>Firmar compromisso com o objetivo da iteração </li></ul></ul>Reuniões - Sprint Planning 2 Objetivo - Product Owner - Scrum Master - Time <ul><ul><li>Participação opcional </li></ul></ul><ul><ul><li>Deve estar acessível para responder questões </li></ul></ul><ul><ul><li>Aprova eventuais mudanças no selected backlog </li></ul></ul><ul><ul><li>Time-boxed: 4 horas </li></ul></ul><ul><ul><li>Desmembra estórias em tarefas </li></ul></ul><ul><ul><li>- Tarefas menores que 1 dia </li></ul></ul><ul><ul><li>- Multi-disciplinares (code, review, doc, tests, learn, draw...) </li></ul></ul>Participantes PO SM Time acessível
  22. 22. Reuniões - Fluxo Scrum Planning 2 Selected Backlog Product Backlog priorizado Sprint Backlog Vision Product Backlog Estimation Planning 1
  23. 23. O time responde às questões Sincronização e visibilidade 15 minutos todos os dias mesmo horário mesmo local Sem telefones, teclados ou interrupções Reuniões - Daily Meeting <ul><ul><li>Que tarefas foram realizadas? </li></ul></ul><ul><ul><li>Que tarefas pretende realizar? </li></ul></ul><ul><ul><li>O que está no seu caminho? </li></ul></ul><ul><ul><li>Caso haja uma discussão: agenda-se um meeting específico </li></ul></ul><ul><ul><li>Tarefas </li></ul></ul><ul><ul><li>- Adicionar, remover e ordenar no sprint backlog </li></ul></ul><ul><ul><li>- Mover tarefas do “In Progress” </li></ul></ul><ul><ul><li>para o “Done” </li></ul></ul><ul><ul><li>Impedimentos </li></ul></ul><ul><ul><li>Andamento  Burndown Chart </li></ul></ul>Participantes SM Time
  24. 24. Reuniões - Fluxo Scrum Estimation Planning 2 Planning 1 Daily Meetings Selected Backlog Product Backlog priorizado Sprint Backlog Vision Product Backlog
  25. 25. Reuniões - Review Meeting Objetivo - Product Owner - Scrum Master - Time <ul><ul><li>Time-boxed: 2 horas </li></ul></ul><ul><ul><li>Validar o objetivo da iteração </li></ul></ul><ul><ul><li>Validar finalização das estórias </li></ul></ul><ul><ul><li>Valida os resultados </li></ul></ul><ul><ul><li>Reavalia situação do produto </li></ul></ul><ul><ul><li>Prepara ambiente para demonstração </li></ul></ul><ul><ul><li>Demonstra cada estória selecionada </li></ul></ul>Participantes PO SM Time
  26. 26. Reuniões - Fluxo Scrum Planning 2 Daily Meetings Sprint Review Selected Backlog Product Backlog priorizado Sprint Backlog Vision Product Backlog Estimation Planning 1
  27. 27. Reuniões - Retrospective Meeting <ul><ul><li>Time-boxed: 2 horas </li></ul></ul><ul><ul><li>Atitude positiva </li></ul></ul><ul><ul><li>- Procurar soluções, não culpados </li></ul></ul>Objetivo - Product Owner - Scrum Master - Time <ul><ul><li>Avaliar e aprender com a experiência da iteração visando aumentar a produtividade </li></ul></ul><ul><ul><li>Participação Opcional </li></ul></ul><ul><ul><li>Avaliar pontos positivos e negativos </li></ul></ul><ul><ul><li>- Análise SWOT </li></ul></ul><ul><ul><li>- Quem está no controle dos pontos negativos? </li></ul></ul>Participantes SM Time
  28. 28. Reuniões - Fluxo Scrum Planning 2 Daily Meetings Sprint Review Retrospective Selected Backlog Product Backlog priorizado Sprint Backlog Vision Product Backlog Estimation Planning 1
  29. 29. Scrum Engenharia de Software
  30. 30. Engenharia - Projetos & Software Nova Curva de Valor
  31. 31. Samuel Crescêncio CEO – Chief Executive Officer OnCast Technologies [email_address] Muito Obrigado!
  32. 32. Simplicidade <ul><ul><li>- Adiciona velocidade ao desenvolvimento </li></ul></ul><ul><ul><li>Conseqüentemente, diminui o custo de desenvolvimento e manutenção </li></ul></ul><ul><ul><li>- Coisas simples são mais fáceis de manter do que as complexas </li></ul></ul>Simplicidade - Benefícios - Máxima <ul><ul><li>- O mais simples e mais barato caminho para atingir um objetivo, com integridade </li></ul></ul><ul><ul><li>- Utilizada no design e na codificação de uma solução </li></ul></ul><ul><ul><li>- Objetividade, Foco, Limitar-se ao escopo </li></ul></ul><ul><ul><li>- Keep it as simple as possible </li></ul></ul>
  33. 33. Testes Automatizados <ul><ul><li>Melhoria no design </li></ul></ul><ul><ul><li>- O código deve ser testável </li></ul></ul><ul><ul><li>- Redução drástica do tempo gasto com debug </li></ul></ul><ul><ul><li>- Isolar bugs demora mais do que corrigir bugs </li></ul></ul><ul><ul><li>- Documenta melhor o código </li></ul></ul><ul><ul><li>- Feedback instantâneo </li></ul></ul><ul><ul><li>- Confiança e auto-estima; Entrega com segurança; e Permite refactorings </li></ul></ul>Teste Automatizado - Benefícios - Tipos de testes <ul><ul><li>- Uma porção de código (código de teste) que exercita outra (código de produção) </li></ul></ul><ul><ul><li>- De unidade, integração, aceitação, stress/carga e funcional </li></ul></ul>
  34. 34. Refactoring <ul><ul><li>- Habilita a evolução contínua da qualidade do software </li></ul></ul><ul><ul><li>- Torna a manutenção futura do software mais segura </li></ul></ul><ul><ul><li>- Garante sustentabilidade e produtividade </li></ul></ul>Refactoring - Benefícios <ul><li>Melhoria da estrutura do código sem alterar sua funcionalidade </li></ul><ul><li>- Realizado em código coberto por testes </li></ul><ul><li>- Normalmente realizado em pequenos pedaços de código de cada vez </li></ul><ul><li>- Organiza um eventual crescimento desordenado da aplicação </li></ul>
  35. 35. Integração Contínua <ul><ul><li>- Integração mais freqüente e mais fácil </li></ul></ul><ul><ul><li>- Feedback instantâneo </li></ul></ul><ul><ul><li>- Proporciona integridade </li></ul></ul><ul><ul><li>- Proporciona aumento da velocidade de desenvolvimento </li></ul></ul><ul><ul><li>- Proporciona maior segurança para todos os envolvidos </li></ul></ul><ul><li>Como funciona: </li></ul><ul><li>- Execução automática dos testes a cada alteração no código </li></ul><ul><li>- Problemas notificados imediatamente </li></ul>Integração Contínua - Benefícios
  36. 36. Ciclo de Vida das Estórias
  37. 37. SMs Time SM Sprints 1 2 3 4 PO SM PO POs SM PO Meeting dos Product Owners Meeting dos Scrum Masters Integrantes iniciais Integrantes após crescimento - O projeto inicial com uma equipe pequena - Como ocorre o crescimento Escalabilidade <ul><ul><li>Time inicial torna-se time de Product Owners </li></ul></ul><ul><ul><li>Divisão por funcionalidade não por camada </li></ul></ul><ul><ul><li>Possibilidade de se criar um time de integração </li></ul></ul><ul><ul><li>Gerenciamento global e local </li></ul></ul><ul><ul><ul><li>Burndown chart global </li></ul></ul></ul><ul><ul><ul><li>Cada equipe tem seu burndown e dashboard </li></ul></ul></ul>
  38. 38. Adoção Scrum Programas integrados Scrum atuando na VISÃO da empresa Tipo C Projetos escalados e programas Tipo B Projetos isolados Tipo A

×