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

Scrum

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