Uma introdução ao
     SCRUM
       Evandro João Agnes
   evandroagnes@yahoo.com.br
Agenda
●   Projetos de Software
●   O que é Scrum
●   Scrum framework
●   Estrutura do Scrum
●   Sprints
●   Ferramentas
Projetos de software
●   Chaos Report – Standish Group
Projetos de software
Projetos de software
●   "A experiência de décadas seguindo pesadas práticas
    prescritivas tornou evidente que:
    ●    Os detalhes são complexos para as pessoas.
    ●    Os clientes ou usuários não tem certeza do que eles querem.
    ●    Eles tem dificuldade de expressar tudo o que querem e pensam.
    ●    Muitos detalhes do que eles querem só serão revelados durante o
         desenvolvimento.
    ●    Na medida em que elas vêem o produto sendo construído, elas
         mudam de idéia.
    ●    Forças externas (como um produto ou serviço da concorrência)
         trazem mudanças ou melhorias nos requisitos."*

        * Fonte: Agile and Iterative Development: A Manager's Guide - Craig Larman
Uso de funcionalidades




Standish Group, 2002
Origem do Scrum



Jeff Sutherland, PhD




                       Desenvolvimento iterativo
                            e incremental

  Ken Schwaber




                                                   SCRUM
O que é Scrum?
●   Processo iterativo e incremental para
    desenvolvimento de qualquer produto e
    gerenciamento de qualquer trabalho
●   Provê agilidade necessária para responder
    rapidamente às mudanças de requisitos
●   Processo ágil com foco na entrega do maior
    valor para o negócio no menor tempo
●   Não são prescritas práticas de engenharia
●   É mais um framework que uma metodologia
Framework?




Scrum
Framework?




Scrum
Cultura organizacional
Manifesto ágil

Indivíduos e suas     sobre
                                     Processos e
    interações                       ferramentas

    Software          sobre
                                   Documentação
  funcionando                       abrangente

Colaboração do        sobre
                                   Negociação de
    cliente                          contrato

 Responder às         sobre       Seguir um plano
  mudanças
           Fonte: www.agilemanifesto.org
Características
Processos: Reunião de
planejamento, Retrospectiva,
Reunião diária, Planejamento
de Release e Sprints, ...
Ferramentas: Quadro
Kanban, Ferramentas, Post-it,
User Stories, Burndown...
Pessoas: ScrumMaster,
Product Owner, Time, ...

Cultura: Time multi-disciplinar,
Auto-gerenciamento, Valores,
Envolvimento do cliente,
Entrega frequente, Liderança-
colaboração, Respeito, ...
Scrum framework
Papéis
•Product owner
•ScrumMaster
•Team
                 Reuniões
                 •Sprint planning
                 •Sprint review
                 •Sprint retrospective
                 •Daily scrum meeting
                             Artefatos
                             •Product backlog
                             •Sprint backlog
                             •Burndown charts
Papéis
Product Owner
●   Definir os requisitos do produto
●   Gerenciar o retorno do investimento (ROI)
●   Apresentar ao time os requisitos
●   Priorizar os requisitos de acordo com o valor
    para o negócio
●   Planejar as entregas (releases)
●   Garantir que os especialistas de domínio
    estejam disponíveis para o time
Product Owner dentro do táxi!
ScrumMaster
●   Responsável pelo gerenciamento do projeto
●   Garantir o uso do Scrum
●   Remover os impedimentos do time
●   Habilitar a cooperação entre todos os papéis e
    funções
●   Funciona como um escudo para o time das
    interferências externas
Team
●   Geralmente entre 5-9 pessoas
●   Multidisciplinares
●   Auto-organizados
●   Deveriam estar no projeto full time
●   Mudanças no time somente entre as sprints
Estrutura do Scrum




Fonte: www.mountaingoatsoftware.com/scrum
Sprints
●   O progresso do projeto se dá em uma série de
    “sprints”
●   Duração de 2 a 4 semanas
●   Duração constante: as funcionalidades é que
    podem variar!
●   Uma parte do produto é produzida (projetada,
    codificada, testada, …)
●   Parte do produto a ser produzida é priorizada
    pelo negócio (ROI)
Cascata x Iterativo e Incremental

Requisitos                 Projeto               Codifição    Teste



    Em vez de fazer tudo de
    cada disciplina por vez...
                                           ...times Scrum fazem um
                                           pouco de tudo todo tempo.




Fonte: “The New New Product Development Game” by Takeuchi
and Nonaka. Harvard Business Review, January 1986.
Cascata x Iterativo e Incremental

                   Desenvolvimento em Cascata
Riscos




                     Redução dos Riscos




                          Desenvolvimento Iterativo



                        Tempo
Riscos

“Não se preocupe, eu vou pensar em algo...”

                                 Indiana Jones
Meta da Sprint
●   Frase curta que deve indicar qual o foco do
    trabalho durante a sprint
●   SMART - Specific, Measurable, Achievable,
    Realistic, Timed
    ●   Específico, Mensurável, Realizável, Realista e
        Datado
Definição do “Pronto”




Potencialmente entregável != entregável
Itens técnicos, arquitetura...
                                           Sempre entregar valor




                                                               Itens com ROI visível
                                 S1   S2   S3   S4   S5   S6
Sem mudanças durante a sprint!


 Change
Cancelando a sprint antes da sua
                         finalização...
●   O time sente que não consegue atingir a meta
●   O Product Owner percebe que fatores externos
    influenciarão diretamente na meta da sprint
●   Deve-se iniciar imediatamente o planejamento
    da próxima sprint
Scrum

 Visão




Reservas
  Alteração
 Cancel
Product
backlog
Scrum



                               Sprint
                           2-4 semanas
Meta da Sprint

   Reservas
                  Sprint
                 backlog
  Alteração
 Cancel
 Product
 backlog
Reunião de planejamento
●   Dividida em 2 partes
    ●   Priorização e estimativa do Product Backlog
    ●   Identificação e estimativa das tarefas - Sprint
        Backlog
●   Geralmente tem a seguinte duração:
Planning Poker
Velocidade
●   Medida de produtividade do time
●   Representa a taxa de trabalho que o time
    conseguiu executar durante a sprint
●   Serve de guia para o planejamento das sprints
    e releases
Scrum
                           24 horas




                               Sprint
                           2-4 semanas
Meta da Sprint

   Reservas
                  Sprint
                 backlog
  Alteração
 Cancel
 Product
 backlog
Reunião diária

                            1
O que você fez ontem?

                            2
O que irá fazer hoje?

                            3
Possui algum impedimento?
Scrum
                           24 horas




                               Sprint
                           2-4 semanas
Meta da Sprint

   Reservas
                  Sprint
                                          Incremento de produto
                 backlog                 potencialmente entregável
  Alteração
 Cancel
 Product
 backlog
Review
●   O time apresenta o que foi trabalhado durante
    a sprint
●   Demo do produto
●   Todos os envolvidos no projeto participam
Retrospectiva
Retrospectiva
●   Todo o time discute sobre:


         O que foi bom

                   O que deve ser
                     eliminado
Esta é apenas                O que deve
uma das maneiras              melhorar
de realizar a
retrospectiva.
Scrum
                               24 horas




                                   Sprint
                               2-4 semanas
Meta da Sprint

   Reservas
                     Sprint
                                              Incremento de produto
                    backlog                  potencialmente entregável
  Alteração
 Cancel          Disponíveis
 Product
 backlog
Scrum
                           24 horas




                               Sprint
                           2-4 semanas
Meta da Sprint

   Reservas
                  Sprint
                                          Incremento de produto
 Cancel          backlog                 potencialmente entregável
 Disponíveis
Alteração
 Product
 backlog
Exemplo de Product backlog

Item de backlog                                    Estimativa
Permitir ao cliente realizar reservas.             3
Permitir ao cliente cancelar suas reservas.        5

Permitir ao cliente alterar as datas da reserva.   3

Como funcionário do hotel, preciso saber os
quartos disponíveis.                               8

Melhorar tratamento de exceções                    8
...                                                30
...                                                50
Exemplo de Sprint backlog

          Tarefas          Seg   Ter   Qua Qui   Sex
Codificar interface          8
Codificar camada de
integração                  16
Testar a camada de
integração                   8
Escrever o help online      12
Codificar classe Reserva     8
Exemplo de Sprint backlog

          Tarefas          Seg   Ter   Qua Qui   Sex
Codificar interface          8     4
Codificar camada de
integração                  16   12
Testar a camada de
integração                   8   16
Escrever o help online      12
Codificar classe Reserva     8     8
Adicionar log de erros             8
Exemplo de Sprint backlog

          Tarefas          Seg   Ter   Qua Qui    Sex
Codificar interface          8     4     8
Codificar camada de
integração                  16   12     10   4
Testar a camada de
integração                   8   16     16   11    8
Escrever o help online      12
Codificar classe Reserva     8     8     8   8     8
Adicionar log de erros             8     4
Burndown chart
Task Board (Kanban)
Visibilidade
Times que atingem a meta...
Escalando o Scrum
Escalando o Scrum
Scrum of scrums
Material
●   Parte do material utilizado foi baseado na
    apresentação disponibilizada por Mike Cohn e
    pode ser obtida no seguinte endereço:

http://www.mountaingoatsoftware.com/scrum-a-presentation

                     Mountain Goat Software,
                     LLC
Sala de Leitura
Scrum Alliance
http://www.scrumalliance.org/

Mountain Goat Software
http://www.mountaingoatsoftware.com/scrum/

Implementing Scrum
http://www.implementingscrum.com/

Scrum e XP direto das Trincheiras
http://www.infoq.com/br/minibooks/scrum-xp-from-the-trenches
http://www.infoq.com/minibooks/scrum-xp-from-the-trenches

Planning Poker
http://www.planningpoker.com/detail.html

Scrum na Globo.com: Derrubando mitos
http://www.slideshare.net/bardusco/scrum-na-globocom-derrubando-mitos-updated-presentation
http://blog.caelum.com.br/2008/12/03/falando-em-agile-2008-scrum-na-globocom-derrubando-mitos/
Livros
●   Agile and Iterative Development: A Manager’s
    Guide - Craig Larman
●   Agile Project Management with Scrum - Ken
    Schwaber
●   Scrum and The Enterprise - Ken Schwaber
●   Agile Retrospectives - Esther Derby e Diana
    Larsen
●   O coração da mudança - Kotter
Dúvidas?

Uma introdução ao Scrum

  • 1.
    Uma introdução ao SCRUM Evandro João Agnes evandroagnes@yahoo.com.br
  • 2.
    Agenda ● Projetos de Software ● O que é Scrum ● Scrum framework ● Estrutura do Scrum ● Sprints ● Ferramentas
  • 3.
    Projetos de software ● Chaos Report – Standish Group
  • 4.
  • 5.
    Projetos de software ● "A experiência de décadas seguindo pesadas práticas prescritivas tornou evidente que: ● Os detalhes são complexos para as pessoas. ● Os clientes ou usuários não tem certeza do que eles querem. ● Eles tem dificuldade de expressar tudo o que querem e pensam. ● Muitos detalhes do que eles querem só serão revelados durante o desenvolvimento. ● Na medida em que elas vêem o produto sendo construído, elas mudam de idéia. ● Forças externas (como um produto ou serviço da concorrência) trazem mudanças ou melhorias nos requisitos."* * Fonte: Agile and Iterative Development: A Manager's Guide - Craig Larman
  • 6.
  • 7.
    Origem do Scrum JeffSutherland, PhD Desenvolvimento iterativo e incremental Ken Schwaber SCRUM
  • 8.
    O que éScrum? ● Processo iterativo e incremental para desenvolvimento de qualquer produto e gerenciamento de qualquer trabalho ● Provê agilidade necessária para responder rapidamente às mudanças de requisitos ● Processo ágil com foco na entrega do maior valor para o negócio no menor tempo ● Não são prescritas práticas de engenharia ● É mais um framework que uma metodologia
  • 9.
  • 10.
  • 11.
    Manifesto ágil Indivíduos esuas sobre Processos e interações ferramentas Software sobre Documentação funcionando abrangente Colaboração do sobre Negociação de cliente contrato Responder às sobre Seguir um plano mudanças Fonte: www.agilemanifesto.org
  • 12.
    Características Processos: Reunião de planejamento,Retrospectiva, Reunião diária, Planejamento de Release e Sprints, ... Ferramentas: Quadro Kanban, Ferramentas, Post-it, User Stories, Burndown... Pessoas: ScrumMaster, Product Owner, Time, ... Cultura: Time multi-disciplinar, Auto-gerenciamento, Valores, Envolvimento do cliente, Entrega frequente, Liderança- colaboração, Respeito, ...
  • 13.
    Scrum framework Papéis •Product owner •ScrumMaster •Team Reuniões •Sprint planning •Sprint review •Sprint retrospective •Daily scrum meeting Artefatos •Product backlog •Sprint backlog •Burndown charts
  • 14.
  • 15.
    Product Owner ● Definir os requisitos do produto ● Gerenciar o retorno do investimento (ROI) ● Apresentar ao time os requisitos ● Priorizar os requisitos de acordo com o valor para o negócio ● Planejar as entregas (releases) ● Garantir que os especialistas de domínio estejam disponíveis para o time
  • 16.
  • 17.
    ScrumMaster ● Responsável pelo gerenciamento do projeto ● Garantir o uso do Scrum ● Remover os impedimentos do time ● Habilitar a cooperação entre todos os papéis e funções ● Funciona como um escudo para o time das interferências externas
  • 18.
    Team ● Geralmente entre 5-9 pessoas ● Multidisciplinares ● Auto-organizados ● Deveriam estar no projeto full time ● Mudanças no time somente entre as sprints
  • 19.
    Estrutura do Scrum Fonte:www.mountaingoatsoftware.com/scrum
  • 20.
    Sprints ● O progresso do projeto se dá em uma série de “sprints” ● Duração de 2 a 4 semanas ● Duração constante: as funcionalidades é que podem variar! ● Uma parte do produto é produzida (projetada, codificada, testada, …) ● Parte do produto a ser produzida é priorizada pelo negócio (ROI)
  • 21.
    Cascata x Iterativoe Incremental Requisitos Projeto Codifição Teste Em vez de fazer tudo de cada disciplina por vez... ...times Scrum fazem um pouco de tudo todo tempo. Fonte: “The New New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986.
  • 22.
    Cascata x Iterativoe Incremental Desenvolvimento em Cascata Riscos Redução dos Riscos Desenvolvimento Iterativo Tempo
  • 23.
    Riscos “Não se preocupe,eu vou pensar em algo...” Indiana Jones
  • 24.
    Meta da Sprint ● Frase curta que deve indicar qual o foco do trabalho durante a sprint ● SMART - Specific, Measurable, Achievable, Realistic, Timed ● Específico, Mensurável, Realizável, Realista e Datado
  • 25.
  • 26.
    Itens técnicos, arquitetura... Sempre entregar valor Itens com ROI visível S1 S2 S3 S4 S5 S6
  • 27.
    Sem mudanças durantea sprint! Change
  • 28.
    Cancelando a sprintantes da sua finalização... ● O time sente que não consegue atingir a meta ● O Product Owner percebe que fatores externos influenciarão diretamente na meta da sprint ● Deve-se iniciar imediatamente o planejamento da próxima sprint
  • 29.
    Scrum Visão Reservas Alteração Cancel Product backlog
  • 30.
    Scrum Sprint 2-4 semanas Meta da Sprint Reservas Sprint backlog Alteração Cancel Product backlog
  • 31.
    Reunião de planejamento ● Dividida em 2 partes ● Priorização e estimativa do Product Backlog ● Identificação e estimativa das tarefas - Sprint Backlog ● Geralmente tem a seguinte duração:
  • 32.
  • 33.
    Velocidade ● Medida de produtividade do time ● Representa a taxa de trabalho que o time conseguiu executar durante a sprint ● Serve de guia para o planejamento das sprints e releases
  • 34.
    Scrum 24 horas Sprint 2-4 semanas Meta da Sprint Reservas Sprint backlog Alteração Cancel Product backlog
  • 35.
    Reunião diária 1 O que você fez ontem? 2 O que irá fazer hoje? 3 Possui algum impedimento?
  • 36.
    Scrum 24 horas Sprint 2-4 semanas Meta da Sprint Reservas Sprint Incremento de produto backlog potencialmente entregável Alteração Cancel Product backlog
  • 37.
    Review ● O time apresenta o que foi trabalhado durante a sprint ● Demo do produto ● Todos os envolvidos no projeto participam
  • 38.
  • 39.
    Retrospectiva ● Todo o time discute sobre: O que foi bom O que deve ser eliminado Esta é apenas O que deve uma das maneiras melhorar de realizar a retrospectiva.
  • 40.
    Scrum 24 horas Sprint 2-4 semanas Meta da Sprint Reservas Sprint Incremento de produto backlog potencialmente entregável Alteração Cancel Disponíveis Product backlog
  • 41.
    Scrum 24 horas Sprint 2-4 semanas Meta da Sprint Reservas Sprint Incremento de produto Cancel backlog potencialmente entregável Disponíveis Alteração Product backlog
  • 42.
    Exemplo de Productbacklog Item de backlog Estimativa Permitir ao cliente realizar reservas. 3 Permitir ao cliente cancelar suas reservas. 5 Permitir ao cliente alterar as datas da reserva. 3 Como funcionário do hotel, preciso saber os quartos disponíveis. 8 Melhorar tratamento de exceções 8 ... 30 ... 50
  • 43.
    Exemplo de Sprintbacklog Tarefas Seg Ter Qua Qui Sex Codificar interface 8 Codificar camada de integração 16 Testar a camada de integração 8 Escrever o help online 12 Codificar classe Reserva 8
  • 44.
    Exemplo de Sprintbacklog Tarefas Seg Ter Qua Qui Sex Codificar interface 8 4 Codificar camada de integração 16 12 Testar a camada de integração 8 16 Escrever o help online 12 Codificar classe Reserva 8 8 Adicionar log de erros 8
  • 45.
    Exemplo de Sprintbacklog Tarefas Seg Ter Qua Qui Sex Codificar interface 8 4 8 Codificar camada de integração 16 12 10 4 Testar a camada de integração 8 16 16 11 8 Escrever o help online 12 Codificar classe Reserva 8 8 8 8 8 Adicionar log de erros 8 4
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
    Material ● Parte do material utilizado foi baseado na apresentação disponibilizada por Mike Cohn e pode ser obtida no seguinte endereço: http://www.mountaingoatsoftware.com/scrum-a-presentation Mountain Goat Software, LLC
  • 54.
    Sala de Leitura ScrumAlliance http://www.scrumalliance.org/ Mountain Goat Software http://www.mountaingoatsoftware.com/scrum/ Implementing Scrum http://www.implementingscrum.com/ Scrum e XP direto das Trincheiras http://www.infoq.com/br/minibooks/scrum-xp-from-the-trenches http://www.infoq.com/minibooks/scrum-xp-from-the-trenches Planning Poker http://www.planningpoker.com/detail.html Scrum na Globo.com: Derrubando mitos http://www.slideshare.net/bardusco/scrum-na-globocom-derrubando-mitos-updated-presentation http://blog.caelum.com.br/2008/12/03/falando-em-agile-2008-scrum-na-globocom-derrubando-mitos/
  • 55.
    Livros ● Agile and Iterative Development: A Manager’s Guide - Craig Larman ● Agile Project Management with Scrum - Ken Schwaber ● Scrum and The Enterprise - Ken Schwaber ● Agile Retrospectives - Esther Derby e Diana Larsen ● O coração da mudança - Kotter
  • 56.