SlideShare uma empresa Scribd logo
1 de 41
"Desenvolvimento Ágil
                usando SCRUM

                    Dayvison Chaves
                  dayvison@gmail.com

Mountain Goat
Software, LLC
Scrum em poucas palavras
   Scrum não é uma metodologia que lhe fará desenvolver
    produtos melhores;
   Scrum não lhe diz como construir software de qualidade mais
    rápido;
   Scrum é uma ferramenta, ou framework, que auxilia a descobrir
    o que é necessário para construir software de qualidade mais
    rápido.




Mountain Goat
Software, LLC
“Scrum é como a sogra” Ken Schwaber
Mountain Goat
Software, LLC
Origens do Scrum
   The Mythical Man Month by Frederick Brooks, 1975.
       Quando um projeto está atrasado, adicionar pessoas ao
       projeto servirá apenas para atrasá-lo ainda mais.
       Devemos considerar o tempo que perdemos em gestão e
       comunicação quando temos pessoas demais trabalhando
       em um projeto.
       Ao calcular o tempo de desenvolvimento de qualquer
       coisa, temos que dobrá-lo. O programador precisa de
       "tempo para pensar" além do "tempo para programar”




Mountain Goat
Software, LLC
Quem usa o Scrum?
        Microsoft               Intuit
        Yahoo                   Nielsen Media
        Google                  First American Real Estate
        Electronic Arts         BMC Software
        High Moon Studios       Ipswitch
        Lockheed Martin         John Deere
        Philips                 Lexis Nexis
        Siemens                 Sabre
        Nokia                   Salesforce.com
        Capital One             Time Warner
        BBC                     Turner Broadcasting
        Intuit                  Oce
Mountain Goat
Software, LLC
Scrum tem sido usado para:
   Software comercial                     Video games
   Desenvolvimento interno                Sistemas para suporte à vida
   Desenvolvimento contratado             Sistemas para controle de satélites
    (terceirização)
                                           Websites
   Projetos de preço fixo
                                           Software para handhelds
   Aplicações Financeiras
                                           Telefones celulares
   Aplicações certificadas pela isso
    9001                                   Aplicações para redes

   Sistemas embarcados                    Aplicações de ISV (Independent
                                            Software Vendors)
   Sistemas disponíveis 24x7
                                           Algumas das maiores aplicações
   Desenvolvimento por hackers             em produção
    solitários


Mountain Goat
Software, LLC
Características
   Equipes que se auto-organizam
   O produto evolui em uma série de “Sprints” mensais
   Os requerimentos são listados em um “Product
    Backlog”
   Não há prática de engenharia prescrita (o Scrum
    adequa-se a todas)
   Usa regras generativas na criação de um ambiente
    ágil para a entrega de projetos
   É uma das “metodologias ágeis”

Mountain Goat
Software, LLC
Manifesto Ágil - Valores
      Indivíduos e                        Processos e
       interações                         ferramentas
     Software que                        Documentação
       funciona                ao         abrangente
                             invés
   Colaboração do              de        Negociação de
       cliente                             contrato
       Resposta à
                                        Seguir um plano
       mudanças
                      www.agilemanifesto.org
Mountain Goat
Software, LLC
Nível de ruído em um projeto
Scrum




                        Longe de
                          acordo
                                                                 Anarquia
                             Requerimentos


                                                         Complexo




                        Perto de               Simples
                         Acordo
                                             Perto da    Tecnologia   Longe da
                                             certeza                  certeza



                                                                                 Fonte: Strategic Management and
                                                                                 Organizational Dynamics by Ralph
                                                                                 Stacey in Agile Software Development
                                                                                 with Scrum by Ken Schwaber and Mike
                                                                                 Beedle.




        Mountain Goat
        Software, LLC
Em resumo...




                        Imagem disponível em:
                   www.mountangoatsoftware.com/scrum
Mountain Goat Software,
LLC
Sprints
   Projetos Scrum progridem em uma série de
    “sprints”
            Similar às iterações do XP
   Ocorre em um período de duas a quatro
    semanas
   Um período constante leva a um melhor “ritmo”
   O produto é projetado, codificado e testado
    durante o sprint


Mountain Goat Software,
LLC
Desenvolvimento seqüencial versus
            paralelo
     Requisitos            Projeto                  Código                    Teste




        Ao invés de completar uma
        coisa por vez...
                                             ... equipes Scrum fazem um
                                             pouco de cada coisa, todo o
                                             tempo.




                          Fonte: “The New New Product Development Game” by
                          Takeuchi and Nonaka. Harvard Business Review, January
                          1986.
Mountain Goat Software,
LLC
Nenhuma mudança durante o
                  Sprint
              Change




        Planeje a duração dos sprints de
        acordo com o máximo tempo com o
        qual você pode se comprometer a
        deixar as mudanças fora deles (um
        mês ou menos)
Mountain Goat Software,
LLC
Scrum framework
Papéis
•ProductOwner
•ScrumMaster
•Time
                          Cerimônia
                          •Planejamento
                          •Revisão
                          •Retrospectiva
                          •Reunião diária
                                      Artefatos
                                      •Product backlog
                                      •Sprint backlog
                                      •Burndown charts
Mountain Goat Software,
LLC
Scrum framework
Papéis
•Dono do produto
•ScrumMaster
•Equipe
                Cerimônia
                •Planejamento
                •Revisão
                •Retrospectiva
                •Reunião diária
                            Artefatos
                            •Product backlog
                            •Sprint backlog
                            •Burndown charts
Mountain Goat
Software, LLC
Product Owner - PO
   Define as funcionalidades do produto
   Decide datas de lançamento e conteúdo
   Responsável pela rentabilidade (ROI)
   Prioriza funcionalidades de acordo com o valor
    de mercado
   Ajusta funcionalidades e prioridades
   Aceita ou rejeita o resultado dos trabalhos


Mountain Goat
Software, LLC
ScrumMaster
   Representa a gerência para o projeto
   Responsável pela aplicação dos valores e
    práticas do Scrum
   Remove obstáculos
   Garante a plena funcionalidade e produtividade
    da equipe
   Garante a colaboração entre os diversos papéis
    e funções
   Escudo para interferências externas
Mountain Goat
Software, LLC
Time
   Entre 5 e 9 pessoas
   Multi-funcional
            Programadores, testadores, desenvolvedores de
             interfaces, etc.
   Tempo integral
            Raras exceções (Ex.: Administrador de Base de Dados)
   Auto-organizável
            Idealmente, sem títulos, ainda que possível
   Trocas só na mudança de Sprints
Mountain Goat
Software, LLC
Scrum framework
Papéis
•Dono do produto
•ScrumMaster
•Equipe
                Cerimônia
                •Planejamento
                •Revisão
                •Retrospectiva
                •Reunião diária
                            Artefatos
                            •Product backlog
                            •Sprint backlog
                            •Burndown charts
Mountain Goat
Software, LLC
Planejamento do Sprint
Capacidades
                    Planejamento
 da equipe
                     Priorização
                     •   Análise e avaliação do
  Product
  backlog                product backlog                    Objetivo
                     •   Objetivo do sprint

Condições de
  negócio            Plano
                     •   Decidir como chegar ao
                         objetivo (projeto)
Produto atual        •   Cria tarefas do sprint backlog a
                                                             Sprint
                         partir dos itens do product        backlog
                         backlog (user stories /
 Tecnologia              funcionalidades)
                     •   Horas no sprint backlog

  Mountain Goat
  Software, LLC
Planejamento do Sprint
   A equipe seleciona itens do Product Backlog
    com os quais compromete-se a concluir
   O Sprint Backlog é criado
            Tarefas identificadas e estimadas (1 a 16 horas)
            De forma colaborativa, não apenas feito pelo
             ScrumMaster
   Planejamento de alto nível é considerado




Mountain Goat
Software, LLC
Planejamento do Sprint

 Quero que os
 usuários do portal         Modelagem (8 horas)
 possam planejar            Codificar interface (4)
 suas                       Escrever textos (4)
                            Codificar a classe foo (6)
 férias, escolhendo         Atualizar testes de performance
 itinerários online.        (4)




Mountain Goat
Software, LLC
Scrum diário
   Parâmetros
            Diário
            15 minutos
   Todos em pé!
   Não é para a solução
    de problemas
            Todo mundo é convidado
            Apenas os membros da equipe, ScrumMaster, dono do
             produto podem falar
   Ajuda a evitar reuniões adicionais
    desnecessárias
Mountain Goat
Software, LLC
Três questões, para todos

                                    1
           O que fizeste ontem?

                                    2
           O que vais fazer hoje?

                                    3
           Há algum obstáculo?


Mountain Goat
Software, LLC
Três questões, para todos


   As respostas não são um “relatório” para o
    ScrumMaster
   Elas são COMPROMISSOS perante os pares




Mountain Goat
Software, LLC
Revisão do Sprint
   Equipe apresenta os resultados obtidos durante
    o Sprint
   Tipicamente, demonstração de novas
    funcionalidades ou sua arquitetura
   Informal
            2 horas de preparação
            Sem slides
   Todo o time participa
   O mundo é convidado
Mountain Goat
Software, LLC
Retrospectiva do Sprint
   Periodicamente, observe o que funciona e o
    que não funciona
   Tipicamente de 15 a 30 minutos
   Feita após cada Sprint
   Toda a equipe participa
            ScrumMaster
            ProductOwner
            Membros da equipe
            Clientes e outros

Mountain Goat
Software, LLC
Inicia, Pára, Continua
   A equipe discute o que gostaria de:

                Iniciar a fazer

                        Parar de fazer
       Esta é uma das
       várias maneiras            Continuar
       de se conduzir
             uma                   fazendo
      retrospectiva do
            Sprint

Mountain Goat
Software, LLC
Scrum framework
Papéis
•Dono do produto
•ScrumMaster
•Equipe
                Cerimônia
                •Planejamento
                •Revisão
                •Retrospectiva
                •Reunião diária
                            Artefatos
                            •Product backlog
                            •Sprint backlog
                            •Burndown charts
Mountain Goat
Software, LLC
Exemplo de Product Backlog
                    Item do Backlog        Estimativa
Permitir que o usuário faça uma reserva        3
Permitir que o usuário cancele a reserva       5

Permitir a troca de datas da reserva           3

Permitir que empregadod do hotel gerem
                                               8
relatórios de lucratividade
Melhorar manipulação de erros                  8
...                                           30
...                                           50


Mountain Goat Software,
LLC
Gerenciando o Sprint Backlog
   Cada indivíduo escolhe o trabalho que fará
            Trabalhos nunca são atribuídos
   Atualização diária da estimativa do trabalho restante
   Qualquer membro da equipe pode adicionar, apagar ou mudar
    tarefas
   O trabalho aparece a partir do Sprint
   Se uma tarefa não é clara, defina-a como um item com uma
    quantidade maior de tempo e subdivida-a depois
   Atualize as coisas a serem feitas na medida em que se tornam
    mais conhecidas


Mountain Goat
Software, LLC
Sprint Backlog

           Tarefas                Seg Ter Qua Qui Sex
 Codificar interface de usuário     8    4    8

 Codificar regra de negócio        16   12   10   4

 Testar                             8   16   16   11   8

 Escrever help online              12

 Escrever a classe foo              8    8    8   8    8

 Adicionar log de erros                       8   4




Mountain Goat
Software, LLC
Burndown Chart
Horas




  Mountain Goat
  Software, LLC
50
                 40
                 30
         Horas




                 20
                 10
                  0
                      Seg   Ter   Qua   Qui   Sex

Mountain Goat
Software, LLC
Escalabilidade
   Equipe de 7 ± 2 pessoas
            Escalabilidade através de equipes de equipes
   Fatores de escala
            Tipo de aplicação
            Tamanho da equipe
            Dispersão da equipe
            Duração do projeto
   Scrum é usado em projetps envolvendo mais
    de 500 pessoas

Mountain Goat
Software, LLC
Scrum de Scrums




Mountain Goat
Software, LLC
Scrum de Scrums de Scrums




Mountain Goat
Software, LLC
Para onde ir agora?
   www.mountaingoatsoftware.com/scrum
   www.scrumalliance.org
   www.controlchaos.com
   scrumdevelopment@yahoogroups.com
   Agile Software Development with Scrum by Ken Schwaber
    and Mike Beedle
   Agile Project Management with Scrum by Ken Schwaber
   Scrum and the Enterprise by Ken Schwaber



Mountain Goat Software,
LLC
Dicas de Leitura
   Agile and Iterative Development: A Manager’s Guide by Craig Larman
   Agile Estimating and Planning by Mike Cohn
   Agile Project Management with Scrum by Ken Schwaber
   Agile Retrospectives by Esther Derby and Diana Larsen
   Agile Software Development Ecosystems by Jim Highsmith
   Agile Software Development with Scrum by Ken Schwaber and
   Mike Beedle
   Scrum and The Enterprise by Ken Schwaber
   User Stories Applied for Agile Software Development by Mike Cohn
   Artigos semanais em www.scrumalliance.org



Mountain Goat Software,
LLC
Obrigado!
Dayvison Chaves
dayvison@gmail.com




Mountain Goat Software,
LLC
Copyright




Mountain Goat Software,
LLC

Mais conteúdo relacionado

Mais procurados

Uma introdução ao SCRUM
Uma introdução ao SCRUMUma introdução ao SCRUM
Uma introdução ao SCRUMelliando dias
 
Treinamento - Product Owner - CLARO-NET-EMBRATEL
Treinamento - Product Owner - CLARO-NET-EMBRATELTreinamento - Product Owner - CLARO-NET-EMBRATEL
Treinamento - Product Owner - CLARO-NET-EMBRATELDaniel Calmazini
 
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À Demanda...
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À       Demanda...Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À       Demanda...
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À Demanda...Luiz Lemos
 
O Papel do Product Owner
O Papel do Product OwnerO Papel do Product Owner
O Papel do Product OwnerMarcia Maia
 
Introdução ao desenvolvimento ágil com Scrum
Introdução ao desenvolvimento ágil com ScrumIntrodução ao desenvolvimento ágil com Scrum
Introdução ao desenvolvimento ágil com ScrumInove
 
Uma introdução ao Scrum
Uma introdução ao ScrumUma introdução ao Scrum
Uma introdução ao ScrumEvandro Agnes
 
Desenvolvimento ágil usando Scrum (Abril, 2005)
Desenvolvimento ágil usando Scrum (Abril, 2005)Desenvolvimento ágil usando Scrum (Abril, 2005)
Desenvolvimento ágil usando Scrum (Abril, 2005)Bruno Camara
 
Quem é e qual o papel do Product Owner para o Negócio
Quem é e qual o papel do Product Owner para o NegócioQuem é e qual o papel do Product Owner para o Negócio
Quem é e qual o papel do Product Owner para o NegócioDaniel Calmazini
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumRafael Souza
 
Scrum - Conceitos, Práticas e Experiências - Manoel Pimentel
Scrum - Conceitos, Práticas e Experiências - Manoel PimentelScrum - Conceitos, Práticas e Experiências - Manoel Pimentel
Scrum - Conceitos, Práticas e Experiências - Manoel PimentelManoel Pimentel Medeiros
 
Minicurso Aplicando Scrum em projetos de software (2010)
Minicurso Aplicando Scrum em projetos de software (2010)Minicurso Aplicando Scrum em projetos de software (2010)
Minicurso Aplicando Scrum em projetos de software (2010)Mariana de Azevedo Santos
 
Palestra sobre metodologia Scrum
Palestra sobre metodologia ScrumPalestra sobre metodologia Scrum
Palestra sobre metodologia ScrumPersonal
 
Scrum - Desenvolvimento Ágil
Scrum - Desenvolvimento ÁgilScrum - Desenvolvimento Ágil
Scrum - Desenvolvimento ÁgilIsrael Santiago
 

Mais procurados (17)

Uma introdução ao SCRUM
Uma introdução ao SCRUMUma introdução ao SCRUM
Uma introdução ao SCRUM
 
Treinamento - Product Owner - CLARO-NET-EMBRATEL
Treinamento - Product Owner - CLARO-NET-EMBRATELTreinamento - Product Owner - CLARO-NET-EMBRATEL
Treinamento - Product Owner - CLARO-NET-EMBRATEL
 
Portuguese Scrum
Portuguese ScrumPortuguese Scrum
Portuguese Scrum
 
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À Demanda...
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À       Demanda...Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À       Demanda...
Scrum: Uma Nova Abordagem No Desenvolvimento De Software Face À Demanda...
 
O Papel do Product Owner
O Papel do Product OwnerO Papel do Product Owner
O Papel do Product Owner
 
Scrum em 1h.
Scrum em 1h.Scrum em 1h.
Scrum em 1h.
 
Introdução ao desenvolvimento ágil com Scrum
Introdução ao desenvolvimento ágil com ScrumIntrodução ao desenvolvimento ágil com Scrum
Introdução ao desenvolvimento ágil com Scrum
 
Uma introdução ao Scrum
Uma introdução ao ScrumUma introdução ao Scrum
Uma introdução ao Scrum
 
Scrum
ScrumScrum
Scrum
 
Scrum
ScrumScrum
Scrum
 
Desenvolvimento ágil usando Scrum (Abril, 2005)
Desenvolvimento ágil usando Scrum (Abril, 2005)Desenvolvimento ágil usando Scrum (Abril, 2005)
Desenvolvimento ágil usando Scrum (Abril, 2005)
 
Quem é e qual o papel do Product Owner para o Negócio
Quem é e qual o papel do Product Owner para o NegócioQuem é e qual o papel do Product Owner para o Negócio
Quem é e qual o papel do Product Owner para o Negócio
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e Scrum
 
Scrum - Conceitos, Práticas e Experiências - Manoel Pimentel
Scrum - Conceitos, Práticas e Experiências - Manoel PimentelScrum - Conceitos, Práticas e Experiências - Manoel Pimentel
Scrum - Conceitos, Práticas e Experiências - Manoel Pimentel
 
Minicurso Aplicando Scrum em projetos de software (2010)
Minicurso Aplicando Scrum em projetos de software (2010)Minicurso Aplicando Scrum em projetos de software (2010)
Minicurso Aplicando Scrum em projetos de software (2010)
 
Palestra sobre metodologia Scrum
Palestra sobre metodologia ScrumPalestra sobre metodologia Scrum
Palestra sobre metodologia Scrum
 
Scrum - Desenvolvimento Ágil
Scrum - Desenvolvimento ÁgilScrum - Desenvolvimento Ágil
Scrum - Desenvolvimento Ágil
 

Semelhante a Desenvolvimento Ágil Usando SCRUM

Portuguese scrum
Portuguese scrumPortuguese scrum
Portuguese scrumguestea8797
 
Redistributable Intro To Scrum
Redistributable Intro To ScrumRedistributable Intro To Scrum
Redistributable Intro To ScrumJuan Bernabó
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)André Dias
 
Apresentação TCC Xp E Scrum
Apresentação TCC Xp E ScrumApresentação TCC Xp E Scrum
Apresentação TCC Xp E ScrumRafael Campana
 
Introdução A Gestão Ágil De Projetos Com Scrum
Introdução A Gestão Ágil De Projetos Com ScrumIntrodução A Gestão Ágil De Projetos Com Scrum
Introdução A Gestão Ágil De Projetos Com ScrumJuan Bernabó
 
Team System - Metodologias ágeis e conceitos - scrum, msf, xp (TechDays 2007)
Team System - Metodologias ágeis e conceitos - scrum, msf, xp  (TechDays 2007)Team System - Metodologias ágeis e conceitos - scrum, msf, xp  (TechDays 2007)
Team System - Metodologias ágeis e conceitos - scrum, msf, xp (TechDays 2007)Bruno Camara
 
Inciando com Scrum
Inciando com ScrumInciando com Scrum
Inciando com ScrumIdéia Ágil
 
Metodologia agil scrum
Metodologia agil scrumMetodologia agil scrum
Metodologia agil scrumPablo Juan ஃ
 
Palestra de SCRUM em Juazeiro
Palestra de SCRUM em JuazeiroPalestra de SCRUM em Juazeiro
Palestra de SCRUM em JuazeiroPaulo Furtado
 

Semelhante a Desenvolvimento Ágil Usando SCRUM (20)

Portuguese scrum
Portuguese scrumPortuguese scrum
Portuguese scrum
 
O que é SCRUM
O que é SCRUMO que é SCRUM
O que é SCRUM
 
Scrum - Metodologia Ágil
Scrum - Metodologia ÁgilScrum - Metodologia Ágil
Scrum - Metodologia Ágil
 
Portuguese scrum
Portuguese scrumPortuguese scrum
Portuguese scrum
 
Introdução ao scrum
Introdução ao scrumIntrodução ao scrum
Introdução ao scrum
 
Redistributable Intro To Scrum
Redistributable Intro To ScrumRedistributable Intro To Scrum
Redistributable Intro To Scrum
 
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
Utilizando metologias ágeis com VSTS: Scrum e XP, YES WE CAN! (ALM204)
 
Métodos ágeis
Métodos ágeisMétodos ágeis
Métodos ágeis
 
Apresentação TCC Xp E Scrum
Apresentação TCC Xp E ScrumApresentação TCC Xp E Scrum
Apresentação TCC Xp E Scrum
 
Introdução A Gestão Ágil De Projetos Com Scrum
Introdução A Gestão Ágil De Projetos Com ScrumIntrodução A Gestão Ágil De Projetos Com Scrum
Introdução A Gestão Ágil De Projetos Com Scrum
 
Gerenciamento ágil de projetos com scrum
Gerenciamento ágil de projetos com scrumGerenciamento ágil de projetos com scrum
Gerenciamento ágil de projetos com scrum
 
Scrum - Visão Geral
Scrum - Visão GeralScrum - Visão Geral
Scrum - Visão Geral
 
Scrum
ScrumScrum
Scrum
 
Team System - Metodologias ágeis e conceitos - scrum, msf, xp (TechDays 2007)
Team System - Metodologias ágeis e conceitos - scrum, msf, xp  (TechDays 2007)Team System - Metodologias ágeis e conceitos - scrum, msf, xp  (TechDays 2007)
Team System - Metodologias ágeis e conceitos - scrum, msf, xp (TechDays 2007)
 
Inciando com Scrum
Inciando com ScrumInciando com Scrum
Inciando com Scrum
 
Metodologia agil scrum
Metodologia agil scrumMetodologia agil scrum
Metodologia agil scrum
 
Introdução a Scrum
Introdução a ScrumIntrodução a Scrum
Introdução a Scrum
 
Scrum em 15 minutos
Scrum em 15 minutosScrum em 15 minutos
Scrum em 15 minutos
 
Palestra de SCRUM em Juazeiro
Palestra de SCRUM em JuazeiroPalestra de SCRUM em Juazeiro
Palestra de SCRUM em Juazeiro
 
Scrum
ScrumScrum
Scrum
 

Mais de secomp2011

Orientação a objetos php
Orientação a objetos   phpOrientação a objetos   php
Orientação a objetos phpsecomp2011
 
Dar caos a ordem
Dar caos a ordem Dar caos a ordem
Dar caos a ordem secomp2011
 
Importancia dos testes automatizados
Importancia dos testes automatizadosImportancia dos testes automatizados
Importancia dos testes automatizadossecomp2011
 
Introdução ao php
Introdução ao phpIntrodução ao php
Introdução ao phpsecomp2011
 
Arquitetura web e o php
Arquitetura web e o phpArquitetura web e o php
Arquitetura web e o phpsecomp2011
 

Mais de secomp2011 (8)

Bd
BdBd
Bd
 
Orientação a objetos php
Orientação a objetos   phpOrientação a objetos   php
Orientação a objetos php
 
Html 20.10
Html   20.10Html   20.10
Html 20.10
 
Dar caos a ordem
Dar caos a ordem Dar caos a ordem
Dar caos a ordem
 
Importancia dos testes automatizados
Importancia dos testes automatizadosImportancia dos testes automatizados
Importancia dos testes automatizados
 
Php básico
Php básicoPhp básico
Php básico
 
Introdução ao php
Introdução ao phpIntrodução ao php
Introdução ao php
 
Arquitetura web e o php
Arquitetura web e o phpArquitetura web e o php
Arquitetura web e o php
 

Desenvolvimento Ágil Usando SCRUM

  • 1. "Desenvolvimento Ágil usando SCRUM Dayvison Chaves dayvison@gmail.com Mountain Goat Software, LLC
  • 2. Scrum em poucas palavras  Scrum não é uma metodologia que lhe fará desenvolver produtos melhores;  Scrum não lhe diz como construir software de qualidade mais rápido;  Scrum é uma ferramenta, ou framework, que auxilia a descobrir o que é necessário para construir software de qualidade mais rápido. Mountain Goat Software, LLC
  • 3. “Scrum é como a sogra” Ken Schwaber Mountain Goat Software, LLC
  • 4. Origens do Scrum  The Mythical Man Month by Frederick Brooks, 1975. Quando um projeto está atrasado, adicionar pessoas ao projeto servirá apenas para atrasá-lo ainda mais. Devemos considerar o tempo que perdemos em gestão e comunicação quando temos pessoas demais trabalhando em um projeto. Ao calcular o tempo de desenvolvimento de qualquer coisa, temos que dobrá-lo. O programador precisa de "tempo para pensar" além do "tempo para programar” Mountain Goat Software, LLC
  • 5. Quem usa o Scrum?  Microsoft  Intuit  Yahoo  Nielsen Media  Google  First American Real Estate  Electronic Arts  BMC Software  High Moon Studios  Ipswitch  Lockheed Martin  John Deere  Philips  Lexis Nexis  Siemens  Sabre  Nokia  Salesforce.com  Capital One  Time Warner  BBC  Turner Broadcasting  Intuit  Oce Mountain Goat Software, LLC
  • 6. Scrum tem sido usado para:  Software comercial  Video games  Desenvolvimento interno  Sistemas para suporte à vida  Desenvolvimento contratado  Sistemas para controle de satélites (terceirização)  Websites  Projetos de preço fixo  Software para handhelds  Aplicações Financeiras  Telefones celulares  Aplicações certificadas pela isso 9001  Aplicações para redes  Sistemas embarcados  Aplicações de ISV (Independent Software Vendors)  Sistemas disponíveis 24x7  Algumas das maiores aplicações  Desenvolvimento por hackers em produção solitários Mountain Goat Software, LLC
  • 7. Características  Equipes que se auto-organizam  O produto evolui em uma série de “Sprints” mensais  Os requerimentos são listados em um “Product Backlog”  Não há prática de engenharia prescrita (o Scrum adequa-se a todas)  Usa regras generativas na criação de um ambiente ágil para a entrega de projetos  É uma das “metodologias ágeis” Mountain Goat Software, LLC
  • 8. Manifesto Ágil - Valores Indivíduos e Processos e interações ferramentas Software que Documentação funciona ao abrangente invés Colaboração do de Negociação de cliente contrato Resposta à Seguir um plano mudanças www.agilemanifesto.org Mountain Goat Software, LLC
  • 9. Nível de ruído em um projeto Scrum Longe de acordo Anarquia Requerimentos Complexo Perto de Simples Acordo Perto da Tecnologia Longe da certeza certeza Fonte: Strategic Management and Organizational Dynamics by Ralph Stacey in Agile Software Development with Scrum by Ken Schwaber and Mike Beedle. Mountain Goat Software, LLC
  • 10. Em resumo... Imagem disponível em: www.mountangoatsoftware.com/scrum Mountain Goat Software, LLC
  • 11. Sprints  Projetos Scrum progridem em uma série de “sprints”  Similar às iterações do XP  Ocorre em um período de duas a quatro semanas  Um período constante leva a um melhor “ritmo”  O produto é projetado, codificado e testado durante o sprint Mountain Goat Software, LLC
  • 12. Desenvolvimento seqüencial versus paralelo Requisitos Projeto Código Teste Ao invés de completar uma coisa por vez... ... equipes Scrum fazem um pouco de cada coisa, todo o tempo. Fonte: “The New New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986. Mountain Goat Software, LLC
  • 13. Nenhuma mudança durante o Sprint Change Planeje a duração dos sprints de acordo com o máximo tempo com o qual você pode se comprometer a deixar as mudanças fora deles (um mês ou menos) Mountain Goat Software, LLC
  • 14. Scrum framework Papéis •ProductOwner •ScrumMaster •Time Cerimônia •Planejamento •Revisão •Retrospectiva •Reunião diária Artefatos •Product backlog •Sprint backlog •Burndown charts Mountain Goat Software, LLC
  • 15. Scrum framework Papéis •Dono do produto •ScrumMaster •Equipe Cerimônia •Planejamento •Revisão •Retrospectiva •Reunião diária Artefatos •Product backlog •Sprint backlog •Burndown charts Mountain Goat Software, LLC
  • 16. Product Owner - PO  Define as funcionalidades do produto  Decide datas de lançamento e conteúdo  Responsável pela rentabilidade (ROI)  Prioriza funcionalidades de acordo com o valor de mercado  Ajusta funcionalidades e prioridades  Aceita ou rejeita o resultado dos trabalhos Mountain Goat Software, LLC
  • 17. ScrumMaster  Representa a gerência para o projeto  Responsável pela aplicação dos valores e práticas do Scrum  Remove obstáculos  Garante a plena funcionalidade e produtividade da equipe  Garante a colaboração entre os diversos papéis e funções  Escudo para interferências externas Mountain Goat Software, LLC
  • 18. Time  Entre 5 e 9 pessoas  Multi-funcional  Programadores, testadores, desenvolvedores de interfaces, etc.  Tempo integral  Raras exceções (Ex.: Administrador de Base de Dados)  Auto-organizável  Idealmente, sem títulos, ainda que possível  Trocas só na mudança de Sprints Mountain Goat Software, LLC
  • 19. Scrum framework Papéis •Dono do produto •ScrumMaster •Equipe Cerimônia •Planejamento •Revisão •Retrospectiva •Reunião diária Artefatos •Product backlog •Sprint backlog •Burndown charts Mountain Goat Software, LLC
  • 20. Planejamento do Sprint Capacidades Planejamento da equipe Priorização • Análise e avaliação do Product backlog product backlog Objetivo • Objetivo do sprint Condições de negócio Plano • Decidir como chegar ao objetivo (projeto) Produto atual • Cria tarefas do sprint backlog a Sprint partir dos itens do product backlog backlog (user stories / Tecnologia funcionalidades) • Horas no sprint backlog Mountain Goat Software, LLC
  • 21. Planejamento do Sprint  A equipe seleciona itens do Product Backlog com os quais compromete-se a concluir  O Sprint Backlog é criado  Tarefas identificadas e estimadas (1 a 16 horas)  De forma colaborativa, não apenas feito pelo ScrumMaster  Planejamento de alto nível é considerado Mountain Goat Software, LLC
  • 22. Planejamento do Sprint Quero que os usuários do portal Modelagem (8 horas) possam planejar Codificar interface (4) suas Escrever textos (4) Codificar a classe foo (6) férias, escolhendo Atualizar testes de performance itinerários online. (4) Mountain Goat Software, LLC
  • 23. Scrum diário  Parâmetros  Diário  15 minutos  Todos em pé!  Não é para a solução de problemas  Todo mundo é convidado  Apenas os membros da equipe, ScrumMaster, dono do produto podem falar  Ajuda a evitar reuniões adicionais desnecessárias Mountain Goat Software, LLC
  • 24. Três questões, para todos 1 O que fizeste ontem? 2 O que vais fazer hoje? 3 Há algum obstáculo? Mountain Goat Software, LLC
  • 25. Três questões, para todos  As respostas não são um “relatório” para o ScrumMaster  Elas são COMPROMISSOS perante os pares Mountain Goat Software, LLC
  • 26. Revisão do Sprint  Equipe apresenta os resultados obtidos durante o Sprint  Tipicamente, demonstração de novas funcionalidades ou sua arquitetura  Informal  2 horas de preparação  Sem slides  Todo o time participa  O mundo é convidado Mountain Goat Software, LLC
  • 27. Retrospectiva do Sprint  Periodicamente, observe o que funciona e o que não funciona  Tipicamente de 15 a 30 minutos  Feita após cada Sprint  Toda a equipe participa  ScrumMaster  ProductOwner  Membros da equipe  Clientes e outros Mountain Goat Software, LLC
  • 28. Inicia, Pára, Continua  A equipe discute o que gostaria de: Iniciar a fazer Parar de fazer Esta é uma das várias maneiras Continuar de se conduzir uma fazendo retrospectiva do Sprint Mountain Goat Software, LLC
  • 29. Scrum framework Papéis •Dono do produto •ScrumMaster •Equipe Cerimônia •Planejamento •Revisão •Retrospectiva •Reunião diária Artefatos •Product backlog •Sprint backlog •Burndown charts Mountain Goat Software, LLC
  • 30. Exemplo de Product Backlog Item do Backlog Estimativa Permitir que o usuário faça uma reserva 3 Permitir que o usuário cancele a reserva 5 Permitir a troca de datas da reserva 3 Permitir que empregadod do hotel gerem 8 relatórios de lucratividade Melhorar manipulação de erros 8 ... 30 ... 50 Mountain Goat Software, LLC
  • 31. Gerenciando o Sprint Backlog  Cada indivíduo escolhe o trabalho que fará  Trabalhos nunca são atribuídos  Atualização diária da estimativa do trabalho restante  Qualquer membro da equipe pode adicionar, apagar ou mudar tarefas  O trabalho aparece a partir do Sprint  Se uma tarefa não é clara, defina-a como um item com uma quantidade maior de tempo e subdivida-a depois  Atualize as coisas a serem feitas na medida em que se tornam mais conhecidas Mountain Goat Software, LLC
  • 32. Sprint Backlog Tarefas Seg Ter Qua Qui Sex Codificar interface de usuário 8 4 8 Codificar regra de negócio 16 12 10 4 Testar 8 16 16 11 8 Escrever help online 12 Escrever a classe foo 8 8 8 8 8 Adicionar log de erros 8 4 Mountain Goat Software, LLC
  • 33. Burndown Chart Horas Mountain Goat Software, LLC
  • 34. 50 40 30 Horas 20 10 0 Seg Ter Qua Qui Sex Mountain Goat Software, LLC
  • 35. Escalabilidade  Equipe de 7 ± 2 pessoas  Escalabilidade através de equipes de equipes  Fatores de escala  Tipo de aplicação  Tamanho da equipe  Dispersão da equipe  Duração do projeto  Scrum é usado em projetps envolvendo mais de 500 pessoas Mountain Goat Software, LLC
  • 36. Scrum de Scrums Mountain Goat Software, LLC
  • 37. Scrum de Scrums de Scrums Mountain Goat Software, LLC
  • 38. Para onde ir agora?  www.mountaingoatsoftware.com/scrum  www.scrumalliance.org  www.controlchaos.com  scrumdevelopment@yahoogroups.com  Agile Software Development with Scrum by Ken Schwaber and Mike Beedle  Agile Project Management with Scrum by Ken Schwaber  Scrum and the Enterprise by Ken Schwaber Mountain Goat Software, LLC
  • 39. Dicas de Leitura  Agile and Iterative Development: A Manager’s Guide by Craig Larman  Agile Estimating and Planning by Mike Cohn  Agile Project Management with Scrum by Ken Schwaber  Agile Retrospectives by Esther Derby and Diana Larsen  Agile Software Development Ecosystems by Jim Highsmith  Agile Software Development with Scrum by Ken Schwaber and  Mike Beedle  Scrum and The Enterprise by Ken Schwaber  User Stories Applied for Agile Software Development by Mike Cohn  Artigos semanais em www.scrumalliance.org Mountain Goat Software, LLC