Scrum

4.321 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
0 comentários
11 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
4.321
No SlideShare
0
A partir de incorporações
0
Número de incorporações
42
Ações
Compartilhamentos
0
Downloads
209
Comentários
0
Gostaram
11
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

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

×