Scrum experience bo tutorial scrum v15

209 visualizações

Publicada em

  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Scrum experience bo tutorial scrum v15

  1. 1. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUMSCRUM Experiencerildosan@uol.com.brrildo.santos@companyweb.com.brRildo F SantosAgile Coachversão: 15
  2. 2. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM2Rildo F. Santos, CSMTem mais de 10.000 horas de experiência em Gestão de Negócios, Governança eEngenharia de Software.Formado em Administração de Empresas, Pós-Graduado Didática do Ensino Superiore Mestre em Engenharia de Software pela Universidade Mackenzie.Atua em Gestão de Negócio (Inovação, Processos e GRC) e em projetos deEngenharia de Software utilizando métodos Agile (SCRUM, Lean, XP e FDD) é AgileCoach.Foi instrutor de Tecnologia de Orientação a Objetos, UML e Linguagem Java na SunMicrosystems e da IBM.Conhece Arquitetura de Software, SOA (Arquitetura Orientado a Serviço), RUP/UP -Processo Unificado, Business Intelligence, Gestão de Risco de TI entre outrastecnologias.Professor de curso de MBA da Fiap e foi professor de pós-graduação da Fasp e IBTA.Tem forte conhecimentos de Gestão de Negócio (Inteligência de Negócio, Gestão porProcesso, Inovação, Gestão de Projetos e GRC - Governance, Risk and Compliance),SOX, Basel II e PCI;Tem vivência na implementação de Governança de TI e Gerenciamento de Serviçosde TI, Conhecimento dos principais frameworks e padrões: ITIL, Cobit, ISO 27001 eISO 15999;Desempenhou diversos papéis como: Estrategista de Negócio, Gerente de Negócio,Gerente de Projeto, Arquiteto de Software, Projetista de Software e Analista deSistema em diversos projetos em empresas como: Bradesco, Editora Abril, Scopus,Porto Seguro, Certagy, Secretária da Fazenda SP, Sonagol (Angola),Honda, Dix-Amico, Bank Tokyo-Mitsubishi, Vivo, Hospital das Clinicas, Aços Villares,Novabase do Brasil, Policia Militar do Estado de São Paulo entre outras.Possui as certificações: SCRUM Master Certified, SUN Java Certified Instrutor , ITILFoundation e Instrutor Oficial de Cobit Foundation e Cobit Games;É membro: IIBA-International Institute of Business Analysis (Canada)Twitter: http://twitter.com/rildosanBlog: http://rildosan.blogspot.com/
  3. 3. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM3Nota do Autor:Trabalho com desenvolvimento de software a quase 15 anosentre idas e vindas.Como todo desenvolvedor tenho preferência por uma linguagemde programação, no meu caso é o Java.Confesso que já utilizei diversos framework, padrões e modelospara o construir software, contudo, os Métodos Ágeis mechamaram a atenção para um detalhe, que hoje julgoextremamente importante...A essência dos métodos ágeis são as pessoas e não oprocesso, o respeito e a disciplina são outros aspectos que euconsidero grandiosos.Nos últimos dois anos estou trabalhando com SCRUM, o qualme fascina pela simplicidade e o foco em resultado.Escrevi este tutorial para compartilhar minha experiência com aspráticas SCRUM para as pessoas que estão tendo o primeirocontato com os Métodos Ágeis e necessitam de guia ou umareferência para entender como SCRUM funciona na prática.Atualmente estou tentando empregar práticas do SCRUM emoutras áreas de negócio (processo de negócio), este é meudesafio.
  4. 4. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM4Play SCRUM
  5. 5. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM5SCRUM:Ken SchwaberO que é SCRUM ?SCRUM é um processo iterativo eincremental para desenvolvimento dequalquer produto ou gerenciamentode qualquer trabalho...SRUM é:Processo empírico de gerenciamentoe controle.- Faz a inspeção e adaptação emloops de feedback- Faz entrega de valor ao cliente ematé 30 dias;- “Escalável” para suportar grandesprojetos- Compatível com CMM3 e ISO9001- Extremamente simples, mas muitoresistente...Valores do Scrum::- Transparência-Integridade: assim que perceberalgo, faça algo- Ser empírico- Auto-organização- Entrega de valorAs origensSCRUM é um Método ÁGIL para desenvolvimento de softwareThe New, NewProductDevelopmentGameTimeBoxesIterative,IncrementalDevelopmentSmallTalkEngineering Tools
  6. 6. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM6Manifesto Ágil:http://agilemanifesto.org/Princípios por trás do Manifesto Ágil:A prioridade é satisfazer o cliente, entregando o mais rápido possível e de forma contínua softwareque tenha valor;Requisitos mutantes são bem vindos, mesmo no final do desenvolvimento. Os processos ágeispodem ser usados a favor de mudanças que tragam vantagem competitiva para o cliente;É importante entregar software funcionando freqüentemente, mensalmente, quinzenalmente ou,se possível, toda semana;Clientes e desenvolvedores devem trabalhar juntos diariamente num projeto;Projetos devem ser feitos por indivíduos motivados. Os indivíduos precisam da confiança de queseu trabalho será realizado. Eles devem ter suas necessidades atendidas e trabalhar num ambienteadequado;Conversa face-a-face é SEMPRE a melhor forma de comunicação;Software funcionando é a primeira medida de progresso;O processo ágil torna o desenvolvimento sustentável. Patrocinadores, desenvolvedores eusuários devem manter a paz indefinidamente;Atenção constante à excelência técnica e bom design aumenta a agilidade;A chave é SIMPLICIDADE: a arte de minimizar a quantidade de trabalho desnecessário;As melhores arquiteturas, requisitos e design surgem de equipes auto-organizados;Em intervalos regulares, a equipe reflete como se tornar mais eficiente. Então ajusta seucomportamento para atingir esse objetivo.
  7. 7. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM7Como ser Ágil:Como ser ágil ?Para “ser ágil” é preciso colocarem prática os valores e osprincípios ágeis (aquelesdescritos no Manifesto Ágil).Quando utilizar os Métodos osÁgeis ?Antes de responder esta questãofaçamos uma outra perguntaquestione: Se os Métodos Ágeisajudará a melhorar osresultados (ou sucesso) dosprojetos de desenvolvimento desoftware ?Se a resposta for SIM, não percatempo, arregace as mangas e vá aluta Lembre-se que o bom processo de desenvolvimento de software é aquele que permiteque a equipe tenha sucesso
  8. 8. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM8Iterativo e Incremental:Devido a complexidade, tamanho,mudanças de requisitos, urgência enecessidade de demonstrar valor maisrápido, fica quase inconcebíveldesenvolver software utilizado o modelocascata, ou seja desenvolvertodo o software de uma única vez.Desenvolvimento Iterativo e incrementalé uma estratégia de planejamento (quesegue a linha dividir para conquistar ),onde o software é construído em partes,ou seja, em ciclos (iterações), a cadaiteração é feito um novo incremento (partedo software funcional) até completar osoftware.IncrementalEntrega 1 Entrega 2 Entrega 3Iterativo
  9. 9. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM9TimeBox e SprintO que é Timebox ?É um conceito diz que a quantidade de tempo(horas ou dias) é imutável, ou seja, a quantidade dehoras não poderá aumentar. Assim, evita-se atrasono prazo de entrega e facilita o planejamento.Entretanto, quanto se erra a estimativa de tempo(leia-se: horas ou dias) de uma Sprint (leia-se:iteração), neste caso é recomendável reduzir oescopo da Sprint, desde que não afete a meta daSprint (isto é discutido um mais a frente) ao invésde aumentar a quantidade de horas/dias.Timebox = Um prazo ou tempo (dias/horas porexemplo) bem definido e imutável.O que é uma Sprint ?É uma iteração (que pode ser parte de umarelease) que deve ser realizada de 2 a 4 semanas,no qual a equipe do projeto deverá produzir umentregável de valor para o cliente (lembre-se do dosPrincípios do Manifesto Ágil).A entrega de valor é a meta da Sprint que deveráesta bem definida e combinada com o cliente, antesdo começo da execução da Sprint.O conceito de Timebox é aplicado a Sprint.O conceito de timebox é aplicado as cerimônias (reuniões) doScrum. Todas as reuniões são Timeboxed:- Reunião de Planejamento da Sprint (8 horas)- Reunião Diária (15 minutos)- Reunião de Revisão da Sprint (4 horas*)- Reunião de Retrospectiva da Sprint (3 horas*)Nota: * A quantidade de horas pode variar de acordo com a necessidade (por exemplo, apresentação do que seráentregue ao cliente) ou aquilo que será discutido/debatido, neste caso a Retrospectiva ela poderá variar entre 1 a 3 horas
  10. 10. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM10Não existe Bala de Prata:SCRUM não é a Bala de Prata:O SCRUM não é a solução completa para os problemas de produtividade,complexidade, custo, prazo e qualidade do processo de desenvolvimento desoftware.“Não existe solução mágica para problemas complexos”Contudo, você pode utilizar o SCRUM para:- SCRUM é ideal para desenvolvimento de software complexos onde os requisitosmudam rapidamente;- SCRUM é processo ágil para gerenciar e controlar desenvolvimento de trabalho;- SCRUM possibilita que você utilize as praticas de engenharia existentes e que jásão conhecidas;- SCRUM é baseado na abordagem de equipe auto-gerenciável e multifuncional;SCRUM trabalha com conceito iterativo e incremental desenvolver software e/ouprodutos;- SCRUM é o caminho para detectar e causa raiz e a remoção de qualquer coisaque esteja impedindo o desenvolvimento e/ou entrega de software/produtos;- SCRUM é o caminho para maximizar a produtividade;- SCRUM é um forma para desenvolvimento de equipes e de indivíduosVeja Lei F. Brooks,Não existe bala de prata
  11. 11. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM11Algumas empresas que estão usando SCRUM:Quais empresas estãoutilizando oSCRUM?Algumas empresasbrasileiras
  12. 12. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM12A ALMA do SCRUM:artefatosSprintBacklogProdutoPlanejamentoda SprintReuniãodiária2-4 Semanas24 horasRevisãoda SprintRetrospectivada SprintVisãoCerimôniasBurndownProdutoBacklog• Product Owner (PO)• ScrumMaster (SM)• Equipe Scrum• Planejamento da Sprint• Reunião Diária• Revisão da Sprint• Retrospectiva da Sprint• Product Backlog• Sprint Backlog• Burndown (gráfico)Papéis Cerimônias ArtefatosLegenda:
  13. 13. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM13Papéis SCRUM:Product Owner, responsável por:- Definir a Visão do Produto- Elaborar e manter o ProductBacklog- Definir a prioridade e ROI;- Representar o cliente- Aceitar ou rejeitar os entregáveisEquipe SCRUM é responsável por:- Fazer estimativa;- Definir as tarefas;- Desenvolver o produto;- Garantir a qualidade do produto;- Apresentar o produto ao clienteEquipe: auto-gerenciável e multifuncionalSCRUM Master é responsável por:- Ser um líder (servidor);- Remover impedimentos;- Proteger a equipe;- Ajudar o PO (com Product Backlog);- Ser o facilitador da equipe;- Garantir as práticas SCRUM.O SCRUM tem somente três papéis: Product Onwer (PO), SCRUMMaster (SM) e a equipe SCRUM.
  14. 14. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM14A Equipe e Comprometimento:Product OnwerEquipe SCRUM MasterComprometidosEnvolvidosStakeholders(clientes e usuáriosfinais)A equipe Scrum é formado por pessoas “comprometidas” em realizar as tarefasda Sprint Backlog. As pessoas da equipe deverão possuir habilidades suficientespara desenvolver, testar, criar/desenhar interfaces gráficas e etc, ou seja, tudoque é que realmente preciso para entregar o software funcionando.O tamanho da equipe é algo muito importante, pois, o SCRUM recomenda que otamanho da equipe seja de 6 a 9 pessoas. Entretanto, podemos ter equipemenores, de 4 a 9, por exemplo.Acertar o tamanho da equipe é um Fator Critico de Sucesso. Ás vezes énecessário reduzir o tamanho de uma equipe para aumentar a produtividade.(Oooops, isto parece antagônico, mas as equipe menores são aquelas queproduzem os melhores resultados)A equipe também possui responsabilidades entre elas participar das cerimônias,que as são reuniões que acontecem em momentos distintos da Sprint
  15. 15. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM15Cerimônias:Reunião de Planejamento da Sprint (8 horas)Reunião Diária (15 minutos)Revisão da Sprint (4 horas*)Retrospectiva da Sprint (3 horas*)Participantes: PO, Equipe e SCRUM MASTERParticipante: Equipe e SCRUM MASTERParticipantes: PO, Equipe e SCRUM MASTERParticipantes: Equipe e SCRUM MASTERNesta reunião somente membros da equipe devemparticipar. A duração dela é de 15 minutos. As pessoasfazem a reunião de pé. O objetivo desta reunião é fazerque as pessoas respondam 3 questões:- O que eu fiz ontem ?- O que vou fazer hoje ?- Encontrei algum impedimento ?Esta reunião acontece no final da Sprint, opcionalmente outraspessoas podem ser convidadas (se necessário).O objetivo da reunião é apresentar o que a equipe fez durante aSprint e fazer a entrega do produto (software funcionando) para oPO. (Geralmente é apresentado uma demo do software).Geralmente ela é feita em um auditório ou em uma sala de reuniãoEsta reunião acontece logo após a Revisão da Sprint.O objetivo dela é avaliar o que deu certo e que deu erradodurante a Sprint, e fazer os ajustes possíveis para a próximaSprint, ou seja, o ciclo de melhoria contínua.Esta reunião é primeira reunião, seu objetivo é fazero planejamento da Sprint. Ela é dividida em duas partes.Naprimeira parte o PO definirá prioridade, seleção dos itens dobacklog e meta da Sprint.Na segunda parte a equipe definirá a Sprint Backlog (que sãoas tarefas necessárias para cumprir a meta).Nota: * A quantidade de horas pode variar de acordo com a necessidade (por exemplo, apresentação do que seráentregue ao cliente) ou aquilo que será discutido/debatido, neste caso a Retrospectiva ela poderá variar entre 1 a 3 horas
  16. 16. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM16Artefato: Product BacklogNível dePrioridadeCategoria Descrição do Item Backlog1 Reserva Os clientes poderão fazer reserva de apartamento1 Reserva Os clientes poderão cancelar a reserva1 Reserva Os clientes poderão fazer alterações de data da reserva1 Reserva Os cliente poderão fazer consulta de reservas2 Reserva Criação de o Book de Reserva1 Pagamento O meio de pagamento da reserva serão por cartão decrédito3 Apartamento Os apartamentos deverão ser cadastros3 Apartamento Os apartamentos são classificados por categoria1 Cliente Precisamos registrar os dados dos clientesProduct Backlog é uma lista contendo todas as funcionalidadesdesejadas para um produto.Product OwnerProduct Owner (PO), é responsável porelaborar e manter Product Backlog atualizado,bem como priorizar seus itens.Exemplo de Product Backlog: Sistema de Reserva On-Line
  17. 17. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM17Estória do Usuário (User Story):O que é uma estória (user story) ?É uma pequena descrição, que detalha um itemdo Product Backlog.Para que serve a Estória:Uma estória ajuda no entendimento e também é,utilizada como lembrete e para as atividades deplanejamento. Ele também permite fazer aestimativa de velocidade da equipe e a duração daSprint. Geralmente a estimativa é feita em pontos(story points) ou horas/dias (dias ideais).Como escrever uma estória:Conversações sobre a história, entre osdesenvolvedores, clientes de modo a detalhar a oitem e esclarecer todas as dúvidas sobre o quedeve ser feito.Exemplos de Estórias do Usuário:Titulo: Pagamento com Cartão de Crédito Prioridade: 1-AltaOs clientes (hospedes) poderão fazer o pagamento da estadia e dosserviços com Cartão de Crédito.Os cartão aceitos são: Visa, Master e Amex.Titulo: Exibir preço do produto Prioridade: 3-BaixaQuando um cliente “passar” um produto pelo leitor do scanner e ocódigo de barra (código do produto) for válido o sistema deverábuscar o preço do produto e exibi-lo na tela do scannerTitulo: Autenticação de usuário Prioridade: 2-MédiaO usuário deverá fornecer uma identificação válida (e-mail e senha), osistema deverá autenticá-lo de acordo com “User Profile”. Se autenticaçãofor positiva o usuário deverá receber a autorização de acesso.Caso contrário receberá uma mensagem de identificação inválida
  18. 18. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM18Estimativa* e o Planning Poker:Geralmente o Planning Poker usa uma escala depontos, que pode ser baseada no Fibonacci:(1,2,3,5,8,13,...) + 20, 40, 100 ou em outra escala.Jogando o Planning Poker:Antes de começar o jogo, ou seja, definir os pontos paraas estórias, é importante definir um valor dereferência. Exemplo: Identificar a estória que pode seratribuído dois pontos, então ela será utilizada comoreferência para pontuação das demais estórias.Para fazer estimativa de velocidade da equipe ou de duração da Sprint, antesé preciso o escrever as estórias do usuário.O Planning Poker é a “prática” que ajuda na estimativa de uma estória oude uma tarefa.Pessoal, qualestimativa paraessa estória...Product Owner Equipe858Equipe8 5 ?8 8Na reunião de Planejamento da Sprint, a equipe joga o Planning Poker edefine a estimava de velocidade da equipe e a duração da Sprint.Nota 1 – Estimativa*Para fazer as estimativa, você deve levar em consideração outros aspectos além da codificação, como por exemplo: testesde aceitação, teste unitários preparação do ambiente de teste e outras coisas que são necessário e importantes (mesmoque de baixo valor) para que você entregue o software funcionando.
  19. 19. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM19Artefato: Sprint BacklogDicas para “montar” um bom Sprint Backlog:1 – Toda a equipe deve participar da elaboração da Sprint Backlog;2 – Faça uma definição de feito (DoD), veja o próximo slide;3 –Tente identificar todas as tarefas, lembre-se que algumas tarefas são puramente técnicas, porexemplo: realização de Teste Unitário.4 – Respeite o tempo para realização desta atividade, pois a Reunião de Planejamento é um timebox.O Sprint Backlog é uma lista de tarefas que equipe se compromete a fazerem uma Sprint. A Sprint Backlog é elaborada na segunda parte dareunião de Planejamento da Sprint.Para atingir a meta da Sprint a equipe deverá fazer as tarefas da SprintBacklog.Tarefa:Cadastrode ClienteIncluir novoclientealterarclienteconsultarclienteTitulo: Precisamos registrar os dados dos clientes Prioridade: 1-AltaTodos os dados do cliente deverá ser registrado. A busca de clientedeverá ser fácil e intuitiva.EstóriadoUsuário:Quando os clientes estão registrado, será possível alterar os dadosse necessário.O cliente deverá ter um “status” para que se possa definir quaissão os clientes ativos e os inativosPontos: 8Sprint BacklogSelected Product Backlog (itens selecionados do Product Backlog)
  20. 20. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM20Definição de “Feito” (DoD):Definir claramente quando oproduto estará “Feito”:Feito, para desenvolvedor:- Encerrou a codificação...Feito, para Analista de Teste(Q&A):- Quando ele encerrou o teste enão encontrou nenhum bug...Feito, para PO:- Quando foi entregue...Feito, para os usuários finaise/ou clientes:- Quando o software começou afuncionar em ambiente deprodução...Ao final de cada Sprint a equipe deverá fazer uma entrega valor para o cliente(PO e demais Stakeholders).Segundo Manifesto Ágil, valor para o cliente é igual a softwarefuncionando.Logo para fazer tal entrega, na reunião de Planejamento da Sprint, seráimprescindível estabelecer a “Definição de Feito”.Isto evitará problemas e frustrações futuras nas reuniões de Revisão eRetrospectiva da Sprint.Evite: A síndrome dos 90% feito (pronto).
  21. 21. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM21Artefato: Burndown*HorasTempo (dias)Exemplos de Burndown:Tempo (dias)Pontos* Dias Ideais (Ideal Days), é uma outra forma de fazer estimativa, ele é baseado na duração de tarefas.- Dias ou horas é unidade bem definida, contudo o “tempo ideal” quase nunca é igual ao “tempo real”...O gráfico Burndown é a principalferramenta de gerenciamento doprocesso de desenvolvimento desoftware.Pois, ele representa o trabalhorestante sobre tempo, ou seja, elepermite visualizar o progresso e/ou aevolução do trabalho executado pela aequipe e a quantidade trabalho x tempo(pontos) que ainda faltam paracompletar a Sprint.Atualização do Burndown é diária, istofacilita a tomada de decisão, podemosdecidir em melhorar a produtividade daequipe e/ou para mitigar risco da Sprint.Exemplo:Através da leitura do Burndownpodemos decidir, que devemosadicionar novas tarefas na Sprint(velocidade da equipe está acima doplanejado, melhorando suaprodutividade) ou retirar tarefas (avelocidade da equipe está abaixo doplanejado, caso não seja feita reduçãode tarefas a meta da Sprint estarácomprometida).O ideal, neste caso, é retirar as tarefasque não afetem a meta da Sprint.Se a meta for afetada pode-se tambémdecidir pelo cancelamento da Sprint.Burndown demonstra a produtividade da equipe
  22. 22. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM22Gestão à Vista: Dá visibilidade e transparência aodesenvolvimento de softwareGestão à Vista: Task Board:
  23. 23. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM23Road Map: SCRUMProductBacklogSelected ProductBacklogPlanejamentoda SprintRevisão da SprintRetrospectiva da SprintProdutoReuniãodiáriaSCRUMMasterProductOnwerEquipefacilitafacilitaajudafacilitaSprintBacklogExecução daSprintTarefasda SprintVisão doProduto
  24. 24. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM24Estudo de Casobaseado em fatos reais
  25. 25. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM25Product Backlog: Sistema de Reserva On-LineNível dePrioridadeCategoria Descrição do Item Backlog1 Reserva Os clientes poderão fazer reserva deapartamento1 Reserva Os clientes poderão cancelar a reserva1 Reserva Os clientes poderão fazer alterações de datada reserva1 Reserva Os cliente poderão fazer consulta de reservas2 Reserva Criação de o Book de Reserva1 Pagamento O meio de pagamento da reserva serão porcartão de crédito3 Apartamento Os apartamentos deverão ser cadastros3 Apartamento Os apartamentos são classificados porcategoria1 Cliente Precisamos registrar os dados dos clientesProduct Owner define os itens da Product Backlog e o nívelde prioridade de cada item.Scrum Master deve ajudar o Product Owner na elaboraçãodo Product Backlog.
  26. 26. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM26Product Backlog: Sistema de Reserva On-LineNível dePrioridadeCategoria Descrição do Item Backlog2 Reserva Os clientes poderão fazer reserva deapartamento2 Reserva Os clientes poderão cancelar a reserva2 Reserva Os clientes poderão fazer alterações de datada reserva2 Reserva Os cliente poderão fazer consulta de reservas3 Reserva Criação de o Book de Reserva2 Pagamento O meio de pagamento da reserva serão porcartão de crédito1 Apartamento Os apartamentos deverão ser cadastros1 Apartamento Os apartamentos são classificados porcategoria1 Cliente Precisamos registrar os dados dos clientesA mudança de prioridade dos itens do backlog vai facilitar a definiçãoda release e suas iterações (Sprints) e no plano de construção dosoftware.Scrum Master analisa o Product Backlog juntocom PO e ele explica, que para facilitar o plano deconstrução do software, será necessário mudar aprioridade dos itens do Product Backlog.O PO aceita a sugestão e faz as mudanças.
  27. 27. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM27Product Backlog: Sistema de Reserva On-LineReunião de Planejamento da Sprint (1a. Parte):Participantes: PO, Equipe e SCRUM Master (facilitador)Se for a primeira reunião o PO deverá apresentar a visãodo produto, expectativa e prioridades.Nesta reunião, PO deverá definir uma meta para Sprint e falarsobre quais são os itens são mais prioritários do ProductBacklog.A equipe realizará o planejamento do que deverá ser entregueno final da Sprint (de 2 a 4 semanas).A equipe deverá selecionar quais os itens serão feitos naSprint, resultando na Selected Product Backlog.Nível dePrioridadeCategoria Descrição do Item Backlog Estimativaem pontos2 Reserva Os clientes poderão fazer reserva deapartamento-2 Reserva Os clientes poderão cancelar a reserva -2 Reserva Os clientes poderão fazer alterações dedata da reserva-2 Reserva Os cliente poderão fazer consulta dereservas-3 Reserva Criação de o Book de Reserva -2 Pagamento O meio de pagamento da reserva serão porcartão de crédito-1 Apartamento Os apartamentos deverão ser cadastros -1 Apartamento Os apartamentos são classificados porcategoria-1 Cliente Precisamos registrar os dados dos clientes -Reunião de Planejamento da Sprint
  28. 28. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM Visão inicial da “primeira” Release do Produto:BR PClienteReleasesApartamentoReserva PagamentoBook deReservaSprint #1Sprint #2Sprint #3ProdutoA CR PA CEntrega 1R PEntrega 2BBEntrega 3A CComo conhecedor do negócio, o PO fez uma sugestão decomo produto deverá ser desenvolvido (Build Plan).A sugestão será apresentada a equipe SCRUM..28
  29. 29. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM29Product Backlog: Sistema de Reserva On-LineNível dePrioridadeCategoria Descrição do Item Backlog Estimativaem pontos2 Reserva Os clientes poderão fazer reserva deapartamento-2 Reserva Os clientes poderão cancelar a reserva -2 Reserva Os clientes poderão fazer alterações dedata da reserva-2 Reserva Os cliente poderão fazer consulta dereservas-3 Reserva Criação de o Book de Reserva -2 Pagamento O meio de pagamento da reserva serãopor cartão de crédito-1 Apartamento Os apartamentos deverão ser cadastros 81 Apartamento Os apartamentos são classificados porcategoria51 Cliente Precisamos registrar os dados dosclientes8ItensselecionadosContinuação (da 1ª. parte da reunião)A equipe deverá se preocupar em levantar mais detalhes dos itensselecionados do Selected Product Backlog , escrever estóriaspodem ser uma técnica útil para melhorar entendimento dos itensselecionados (a).Para estimar a velocidade da equipe, que é necessária paraimplementar os itens selecionados e duração da Sprint, seráutilizadas as estórias para fazer as estimativas em pontos (ouhoras/dias) , através do Planning Poker. (b)Reunião de Planejamento da Sprint: (2a. Parte)Participante: Equipe (e SCRUM Master - opcional)E por fim as estórias serão divididas em tarefas, gerando o SprintBacklog. (c)Decidindo que executar as Tarefas: Cada pessoa da equipe deveescolher as tarefas da Sprint Backlog que deseja fazer.Reunião de Planejamento da SprintLegenda:(a) pág: 31(b) pág: 31(c) pág: 32
  30. 30. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM Fazendo Estimativa com Planning Poker:Product OwnerEquipe858Equipe85 ?8 8Estória do Usuário:30Pessoal, qualestimativa paraessa estória...Titulo: Precisamos registrar os dados dos clientes Prioridade: 1-AltaTodos os dados do cliente deverá ser registrado. A busca de clientedeverá ser fácil e intuitiva.Quando os clientes estão registrado, será possível alterar os dadosse necessário.O cliente deverá ter um “status” para que se possa definir quaissão os clientes ativos e os inativosNa reunião de Planejamento da Sprint, a equipe joga o Planning Pokere define a estimava de velocidade da equipe, necessária paraimplementas as estórias (na verdade as tarefas)..
  31. 31. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM Tarefas, quebrando a Estória...As estórias são divididas (quebradas) em tarefas.As tarefas devem compor a “Sprint Backlog”...Tarefa:Cadastrode ClienteIncluir novoclientealterarclienteconsultarcliente31Titulo: Precisamos registrar os dados dos clientes Prioridade: 1-AltaTodos os dados do cliente deverá ser registrado. A busca de clientedeverá ser fácil e intuitiva.Estória do Usuário:Quando os clientes estão registrado, será possível alterar os dadosse necessário.O cliente deverá ter um “status” para que se possa definir quaissão os clientes ativos e os inativosPontos: 8Sprint BacklogSelected Product Backlog (itens selecionados do Product Backlog)
  32. 32. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM Check List do Planejamento da Sprint:Primeira parte da reunião:1.1 – A visão do produto foi completamenteentendida;1.2 – Prioridade dos itens do Product Backlogdefinida;1.3 – Os itens do backlog que serão feito na Sprintsão escolhidos;1.4 – A meta da Sprint (o que deve ser entregue nofinal da Sprint) foi estabelecida ;Segunda parte da reunião:2.1 – Os itens são detalhados através da escrita deestórias;2.2 – Estimativa em Pontos é estabelecida. (asestórias são utilizadas para fazer as estimadas2.3 - As estórias são quebradas em tarefas;2.4 - Sprint Backlog é definido;2.5 – As pessoas da equipe definem entre elas quemvai fazer as tarefas do Sprint Backlog.Outros itens (fora da reunião do planejamento,mas necessários para começar a Sprint):3.1- Preparar o “Task Board” quadro de tarefas(também chamado de quadro de Kanban)3.2 - Preparar o gráfico “Burndown”3.3 - Fazer o Kick-off (Sprint #0)32
  33. 33. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM Task Board: Sprint #1 - Dia 0:Sprint Backlog* Em Execução Concluído BurnDownCadastro deApartamentosCadastro deCategoria deApartamentosCadastro deClientesNota:Optamos por apresentar somente as atividades e não as tarefas, somente por questão de facilitar a apresentação.33
  34. 34. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM Burndown. Sprint #1 - Dia 0:Tempo1 dia 2dia3 dia102030PontosEstimadoReal23Por que 3 dias ?É a primeira vez que a equipe utiliza o SCRUM para odesenvolver um software, logo ela não tem nenhumhistórico de desenvolvimento, que possa ser usado paradefinir a quantidade de tempo que ela levará para fazer 23pontos.Contudo, a equipe, depois de muita discussão, chegou aoentendimento que seria preciso de 3 dias para fazer todasas tarefas do Sprint Backlog.34
  35. 35. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM [Kick-off] Sprint #1 - Dia 0:Cadastro deCategoria deApartamentosCadastro deClientesEquipe?Sprint BacklogCadastro deApartamentosCadastro deCategoria deApartamentosCadastro deClientesSCRUM Master35
  36. 36. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUMSprint Backlog Em Execução Concluído BurnDownCadastro deApartamentosCadastro deCategoria deApartamentosCadastro deClientesTask Board da Sprint #1: Dia 1 (após o Kick-off):36
  37. 37. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUMTempo1 dia 2dia3 dia102030PontosEstimadoReal23Burndown da Sprint: #1 – Final do Dia 1:10 pontos1337
  38. 38. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM A Primeira Reunião Diária:EquipeSprint BacklogOKCadastro deApartamentosProblemas noServidor deTesteCheck List – Responder 3 questões:O que foi feito ontem?O que você planeja fazer hoje?Você tem algum impedimento?15minutosCadastro deApartamentosCadastro deCategoria deApartamentosCadastro deClientesSCRUM Master38
  39. 39. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM Task Board da Sprint: #1 – Após primeira reuniãoSprint Backlog Em Execução Concluído BurnDownCadastro deApartamentosCadastro deCategoria deApartamentosProblemas noServidor deTesteCadastro deClientesSCRUM Masterdeverá resolver(remover) esteimpedimento39
  40. 40. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM Task Board da Sprint: #1 – ImpedimentoSprint Backlog Em Execução Concluído BurnDownCadastro deApartamentosCadastro deCategoria deApartamentosProblemas noServidor deTesteCadastro deClientes SCRUM Masterdeverá resolver(remover) esteimpedimentoCabe ao “SCRUM Master” remover todos os impedimentos,identificados e demonstrados no Task Board (quadro de tarefas), paraque estes não afetem o desempenho da equipe. Caso contrário, oimpedimento poderá comprometer a meta e a entrega de valor que deveocorrer no final da Sprint.SCRUM MasterProblemas noServidor deTesteO que é um impedimento ?Impedimento tudo aquilo que impede a equipe de realizarseu trabalho e atingir a meta da Sprint.Um impedimento pode ser um problema de rede, falhas noservidor, falta de servidor para testes, a lentidão do bancode dados do ambiente de teste ou falta de informaçãopara implementação de uma tarefa.40Após remoção do impedimento o SCRUM podemos “registrar em base deconhecimento” a “causa raiz do impedimento”, esta informação deverá serutilizada para melhorar o processo, logo será discutida na Retrospectivada Sprint.
  41. 41. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUMTempo1 dia 2dia3 dia102030PontosEstimadoReal23Burndown da Sprint: #1 – 2º. Dia:10 pontos138pontos541
  42. 42. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM A Segunda Reunião DiáriaEquipeSprint BacklogCadastro deApartamentosCadastro deCategoria deApartamentosCadastro deClientesOKCadastro deApartamentosOKOKCadastro deClientes15minutosCheck List – Responder 3 questões:O que foi feito ontem?O que você planeja fazer hoje?Você tem algum impedimento?SCRUM Master42
  43. 43. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUMSprint Backlog Em Execução Concluído BurnDownCadastro deApartamentosCadastro deCategoria deApartamentosCadastro deClientesTask Board da Sprint #1 - 2º. Dia:43
  44. 44. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUMTempo1 dia 2dia3 dia102030PontosEstimadoReal2310 pontos138pontos55pontos0Burndown da Sprint #1 - 3º. Dia44
  45. 45. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM A Terceira Reunião Diária:EquipeSprint BacklogCadastro deApartamentosCadastro deCategoria deApartamentosCadastro deClientesOKOKCadastro deClientesOKOK?15minutosCheck List – Responder 3 questões:O que foi feito ontem?Você tem algum impedimento?SCRUM Master45
  46. 46. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM Task Board da Sprint #1 - 3º. Dia:Sprint Backlog Em Execução Concluído BurnDownCadastro deApartamentosCadastro deCategoria deApartamentosCadastro deClientes46
  47. 47. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM Revisão da Sprint:Equipe apresenta que foi produzido e faz entrega para PO, que avalia ovalor da entrega. PO pode aceitar ou rejeitar a entrega do produto.Reunião da Revisão da SprintEquipeProductOwnerSCRUM Master4horas47
  48. 48. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM Retrospectiva da SprintEquipe discute o que deu errado e que deu certo... O que precisa sermelhorado para a próxima SprintProblemas noServidor deTesteimpedimentosReunião Retrospectiva da SprintAs retrospectivas são a essência do conceito deInspeção e Adaptação.Equipe????Velocidadeda equipe...=SCRUM Master3horas48
  49. 49. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM Retrospectiva da SprintOK Pontos deAtençãoO Que DeveSer MelhoradoCadastro deApartamentosCadastro deCategoria deApartamentosCadastro deClientesProblemas noServidor deTeste=Planejamento:Prestar atenção na horado planejamento daSprint, para identificarse todos os recursosnecessário estãodisponíveisImpedimentos:Atitude:Para uma equipe (time)SCRUM funcionar seránecessário mudança deatitude, caso contrárioisto poderá afetaro desempenho da equipeVelocidade daequipeSerá necessáriomais atenção nahora de estimaras estóriasLições Aprendidas, o que deve melhorado para a próxima Sprint49
  50. 50. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUMBR PNova Sprint (Sprint #2):ClienteReleaseApartamentoReserva PagamentoBook deReservaSprint #1Sprint #2Sprint #3ProdutoA CR PA CEntregada 1R PEntrega 2BBEntrega 3A CEntregueNovaSprintComeçar a Sprint # 2, fazer o Planejamento da Sprint:- Definir os itens selecionados do Product Backlog- ...50
  51. 51. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM51Vendendo a idéia do SCRUM
  52. 52. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM Vendendo a idéia do SCRUM:52O que NÃO VENDER:- Não tente vender o SCRUM (ou qualquer outra coisa) que você nãoacredite...para vender ou influenciar pessoas, você tem que ter comprada aidéia primeiro.- Jamais venda aquilo que não se possa entregar.- Não venda o SCRUM, venda os resultados (veja a lista abaixo) que vocêe sua equipe poderão atingir utilizando o SCRUM.- Não tente vender a idéia do SCRUM por puro modismo (somente por que naempresa dos seus “amigos” estão usando SCRUM, e você não quer ficar defora)..- Não tente vender a idéia sem fatos (veja as quais empresas que jáutilizam o SCRUM, obtenha dados destas empresas, como se houve aumentoua produtividade, crescimento da motivação das pessoas, se custos reduziram ediminui o prazo de entrega e etc..)O que as chefes gostam de comprar:- Aumentar a produtividade (sem a contratação de pessoas, para muitoschefes isto é sonho encantado);- Redução do prazo de entrega;- Redução de custo;- Busca pela excelência da qualidade, ou seja, melhorar a qualidade dosprodutos e/ou serviços continuamente;- Pessoas trabalhando com foco em resultado;- Pode começar sem ou pouco investimento inicial;- A sensação de controle absoluto (todo chefe gostaria de saber o que seu opessoal esta fazendo..) . O Taskboard e Product Backlog produzem estasensação, pois tudo que “imagina” para controlar está à vista.- Clientes mais satisfeitos- E por fim: A liberdade de fazer mudanças, mesmo que a fase dedesenvolvimento esteja em estágio avançado.Agora é discutiremos a parte, que para muitos éconsiderada a mais difícil e as vezes quaseintransponível.Que é vender a idéia do SCRUM (do uso doSCRUM) para seu chefe, dono da empresa,gerente de TI e etc..Poderíamos reunir muitos argumentos para fazeresta venda, todavia, acredito que a melhor forma é vender os resultados quepodem ser alcançadas com a adoção das práticas SCRUM.
  53. 53. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM Como começar:Selecione um ponto de partida (piloto). Mas tome muitocuidado com projeto piloto. Pois, ele deve ser bem-sucedido e deve ter alguma importância para o negócio,mas não devem ser deve ser critico ao negócio (demissão critica).Será necessário ter SCRUM Master experiente ;Forneça treinamento a todas as pessoas da equipe,simule bastante antes de começar, tenha certeza quetodos entenderam as práticas SCRUM.Prepare as ferramentas:- Task Board (Quadro de Tarefas) é extremamenteimportante para dar visibilidade ao desenvolvimento desoftware e para Gestão à Vista;- Post-it´s (...),- Canetas e pinceis,- Cartas para Planning Poke;- Cartões para estórias;- etcEstimativa: Inicialmente você pode fazer as estimativasbaseada em horas ou dias (dias ideais), pois, é mais fácilpara equipe. Quando a equipe tiver mais experiênciapasse a usar pontos (Story points).Nos primeiros projetos considere uma ajuda externa, acontratação de Agile Coach poderá ser bastante útil.Considere Pessoas, Processos, Tecnologia eFerramentas.Lembre-se que a Colaboração é um fator-chave para osucesso;Esteja preparado para viver o desafio.53
  54. 54. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM54Mini-VocabulárioSprint = iteraçãoProduct Backlog = Lista de requisitos funcionaisde um produto (com o nível de prioridade definido)Product Owner = Analista de Negócio ou Especialista de NegócioSCRUM Master = Líder servidor, se papel é muito próximo de técnico defutebol ele trabalha para que a equipe produza resultado, mas não entraem campo para jogar.Task board = Quadro de tarefasImpedimento = É tudo aquilo que pode impedir a equipe derealizar seu trabalho, seja falta de informação ou falta de recursos de infra-estrutura.Execução das práticas do SCRUM = muito parecido com o velho einfalível PDCA.Timebox = tempo (horas/ias) bem definido e imutável, sonho de todogestor de projeto.Burndown = É um gráfico que ele representa o trabalho restante sobretempoEquipe SCRUM = Equipe engajada, auto-gestãoe multifuncional (pig dream team).
  55. 55. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM55ReferênciasAgile Project Management with ScrumAutor: Ken SchwaberAgile Software Development with ScrumAutor: Ken Schwaber e Mike BeedleThe Enterprise and ScrumAutor: Ken SchwaberAgile Retrospectives: Making Good Teams Great -Autores: Esther Derby, Diana Larsen e Ken SchwaberJeff Suttherland:http://jeffsutherland.comKen Schwaber:http://www.controlchaos.comwww.mountaingoatsoftware.com/scrumwww.scrumalliance.orgwww.mountaingoatsoftware.com/scrum-a-presentation
  56. 56. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM56SCRUM (em única página)
  57. 57. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM57SCRUM. RugbySCRUM no jogo deRugby:A formação fixa chamadade Scrum, os fowards,que é um conjunto deoito jogadoresabraçados, realizamuma força onde oobjetivo é empurrar ooutro time.Essa jogada só é eficazquando os oito“fowards” fazem forçaao mesmo tempo e namesma direção, fazendoassim que o vetorresultante, de suasforças individuais, sejamaior que o do timeadversário e possaassim pegar bola.
  58. 58. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM58Notas:Marcas Registradas:Todos os termos mencionados e reconhecidos como MarcaRegistrada e/ou comercial são de responsabilidade de seusproprietários. O autor informa não estar associada a nenhum produtoe/ou fornecedor apresentado neste material. No decorrer deste,imagens, nomes de produtos e fabricantes podem ter sido utilizados,e desde já o autor informa que o uso é apenas ilustrativo e/oueducativo, não visando ao lucro, favorecimento ou desmerecimentodo produto/fabricante.Melhoria e Revisão:Este material esta em processo constante de revisão e melhoria, sevocê encontrou algum problema ou erro envie um e-mail nós.Criticas e Sugestões:Nós estamos abertos para receber criticas e sugestões que possammelhorar o material, por favor envie um e-mail para nós.Rildo F dos Santos (rildosan@uol.com.br)Imagens:Google, Flickr e Banco de Imagem.
  59. 59. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUM59Licença:
  60. 60. rildosan@uol.com,brVersão 15SCRUMExperience=TutorialSCRUMSCRUM Experiencerildosan@uol.com.brrildo.santos@companyweb.com.brRildo F SantosAgile Coach

×