Metodologias Ágeis SCRUM Eduardo Bregaida
Apresentação Processo Definidos e Processos Empíricos O que é SCRUM? Quais são os papéis? Características do SCRUM Como funciona? Quadro de Tarefas Kanban Post it colorido
Quem sou? Eduardo Bregaida:  Graduando em Sistemas de Informação no IMES-USCS;  Possui 5 anos de experiência com JSP, Servlets, Struts, JSF, EJB, Ajax, Hibernate, JPA, Wicket Spring MVC, Spring IoC; Experiência com Metodologias de Desenvolvimento Ágil; Projetos: Saargummi do Brasil Ltda, 3º Quadrante Informática, G&P,  SOS Computadores, JAPI Informática, Tata Consultancy Services, IT Training, FireAnt, Masterdom; Criador do blog Java Anywhere  www.javawora.blogspot.com ; Palestrante de tecnologia Java; Agente certificador do projeto JEDI Membro do JCP (Java Communit Process) www.jcp.org .
Processos Definidos Processo Definidos: São aqueles que determinam o que deve ser feito, quando e como.  Quem já trabalhou com o “início e fim do projeto” sabe que a utilização de um processo definido não garante o sucesso.
Processos Empíricos São aqueles que não se conheçam todas as variáveis de entrada para que possa estabelecer um processo repetitível. O  Scrum , parte do princípio que nem todas as características do produto são conhecidas na análise e que provavelmente os requisitos mudarão com o passar do tempo. Exemplo:  É como dirigir um carro, nunca se traça um destino em que a chegada é em linha reta, sempre há pequenas correções até a chegada.
Conclusão dos Processos Processos empíricos baseados em  inspeção e adaptação  devem ser utilizados sempre que os processos definidos não forem adequados devido a complexidade do projeto.
SCRUM
O que é SCRUM? Processo de desenvolvimento iterativo e incremental que pode ser aplicado a qualquer produto ou no gerenciamento de qualquer atividade complexa; Criado por Jeff Sutherland e Ken Schwaber na década de 90;
SCRUM Product Backlog  Sprint Planning Meeting  Planning Poker Product Owner  Daily Scrum  Sprint Review Meeting  Sprint Retrospective  Scrum Master
Product Backlog Lista que contém as funcionalidades para um produto; O conteúdo é definido pelo Product Owner; Não necessita estar completo; Basta iniciar pelo mais óbvio, com o tempo o Product Backlog cresce e muda a medida que necessite. Durante o Sprint Planning Meeting, o Product Owner prioriza os itens do Product Backlog para o Sprint Backlog; Logo após a equipe determinará quais intens serão capazes de serem produzidos durante o Sprint; Os itens podem ser divididos em uma ou mais tarefas; Isto facilita dividir o trabalho entre os membros da equipe.
Sprint Planning Meeting
Sprint Planning Meeting É uma reunião em que o Product Owner juntamente com o Scrum Master e todo Scrum Team estarão juntos; O Product Owner descreve as funcionalidades de maior prioridade para a equipe; A equipe questiona de um modo que seja capaz de quebrar as funcionalidades em tarefas tecnicas; No final será gerado o Sprint Backlog; Não há necessidade de definir todos os itens do Product Backlog, apenas os de maior prioridade, os próximos itens serão definidos na próxima Sprint Planning Meeting; Coletivamente o Scrum Team e o Product Owner definirão o objetivo para o Sprint; Após a reunião a equipe se reúne para conversar sobre o que escutaram e decidir quanto eles podem se comprometer a fazer no Sprint que será realizado; Em alguns casos há necessidade de negociação com o Product Owner; A equipe como um todo determina quanto será capaz de se comprometer a fazer.
Planning Poker
Planning Poker Os números menores refletem muito bem algo realmente possível de realizar; Os número maiores não são relatos muito claros, difíceis de estimar; Estes devem ser transformados em relatos menores para facilitar a realização; Números maiores que 13 levantam questões do tipo:  “ Isso é mesmo um caso?”, “Isso não poderia ser quebrado em casos menores?”, etc.
Feito: já foi realizado, ou é tão simples que levaria apenas alguns minutos para executá-lo; Sem idéia: Não se tem a mínima idéia do tempo de desenvolvimento relatado; Hora da pausa: Hora de fazer uma pausa para descanso da equipe. Planning Poker
Planning Poker Cada membro da equipe possui um conjunto dessas cartas; O P roduct Owner , junto da equipe, seleciona os relatos que mais se aproxima de uma pontuação 2; Essa pontuação no momento, é apenas 2, não significa 2 dias, nem duas horas. Story Points  é uma forma legal de estimar, mesmo parecendo ser algo muito abstrato inicialmente. Essa abstração se vai, apartir do momento em que o primeiro  sprint  é executado. No final do  sprint , essa pontuação virou referência, e já pode ser considerada num gráfico  pontos x tempo .  A questão aqui é definir um relato de referência, esta será referência para os demais; Todos devem pensar e selecionar uma carta e TODOS devem prestar atenção; Caso haja divergências de opiniões, a pessoa com a menor carta e a pessoa com a maior carta deve explicar o porque da seleção; Havendo consenso, o relato do caso fica estimado, caso contrário a carta escolhida pela maioria se torna real; O Scrum Master é essencial, pois ele deverá evitar brincadeiras ou discussões durante esse momento.
Planning Poker
Product Owner
Product Owner Pessoa que define os itens do Product Backlog e os prioriza nas Sprint Planning Meetings; O Scrum Team analisa o Product Backlog priorizado e seleciona os itens mais prioritários, se comprometendo a entregá-los no final do Sprint (iteração), estes itens compõe o Sprint Backlog; A equipe se compromete a executar um conjunto de atividades no Sprint e o Product Owner se compromete a não trazer novos requisitos para a equipe durante o Sprint.
Daily Scrum
Daily Scrum Cada dia do Sprint a equipe faz uma reunião diária de 15 minutos; As reuniões são executadas todos os dias ou no início da manhã ou no final do expediente, normalmente são feitas no período matutino; A reunião é feita com todos os membros em pé; Nesta reunião deverá ser respondida apenas 3 perguntas: O que você fez ontem? O que você fará hoje? Há algum impedimento no seu caminho? A reunião de 15 minutos deve ser bem focada; Não é uma reunião para resolver problemas, apenas conhecer os impedimentos sem fugir do foco; Não é uma reunião de status report na qual um chefe fica coletando informações sobre quem está atrasado; É uma reunião em que o Scrum Team assumem compromissos perante os demais.
Sprint Review Meeting No final de cada Sprint é feito um Sprint Review Meeting; O Scrum Team mostra o que foi alcançado durante o Sprint realizado; Nesta reunião estará presente o Product Owner, o Scrum Team e o Scrum Master; O mais importante é que o objetivo do Sprint esteja realizádo.
Sprint Retrospective Ocorre ao final do Sprint; Utilizado para identificar o que funcionou bem; Também é utilizado para verificar o que poderia ser melhorado; E quais ações serão tomadas para melhorá-lo.
Scrum Master
Scrum Master Assegura que a equipe siga e respeite as práticas do Scrum; Protege a equipe para que não se compromete com mais do que possa realizar no Sprint; Atua como facilitador do Daily Scrum, remove qualquer obstáculo que sejam levantados na reunião; Normalmente é exercido por um gerente de projeto ou um líder técnico.
Características do SCRUM P rocesso ágil para gerenciar e controlar o desenvolvimento de projetos;  É  um "wrapper" para outras práticas de engenharia de software. Como XP ou FDD;  É  um processo que controla o caos resultante de necessidades e interesses conflitantes; É  uma forma de aumentar a comunicação e maximizar a cooperação;  É  uma forma de detectar e remover qualquer impedimento que atrapalhe o desenvolvimento de um produto;  É  escalável desde projetos pequenos até grandes projetos em toda empresa.
Como funciona? Definição do Backlog ; Andamento do Sprint ; Reuniões Diárias ; Revisões .
Quadro de Tarefas Kanban
Quadro de Tarefas Kanban É utilizado para facilitar a visualização do Sprint; Dividido em 4 ou mais partes; A fazer; Em andamento; Concluído; Em teste; Em alguns casos Pendente e/ou não planejado.
Quadro de Tarefas Kanban
Post it Colorido
Kanban e Post it Colorido
Kanban e Post it Colorido
Referências http://www.infoq.com/articles/agile-kanban-boards http://www.boaglio.com/index.php/2007/12/27/scrum-solo/ http://www.improveit.com.br/xp http://www.mountaingoatsoftware.com/system/hidden_asset/file/17/ScrumLargeLabelled.png http://www.agilemanifesto.org/ http://pt.wikipedia.org/wiki/Scrum http://www.improveit.com.br/scrum/daily_scrum http://www.improveit.com.br/scrum http://www.agilealliance.org/ http://www.caelum.com.br/treinamentos/csm-certified-scrum-master/ http://amagno.blogspot.com/2008/06/scrum-caelum-sucesso.html http://javawora.blogspot.com/ http://www.dtsato.com/blog/ http://www.jeveaux.com/blog/2008/planning-poker-cards/ http://www.daviscabral.com.br/articles/2008/5/22/planning-poker http://www.crisp.se/planningpoker/ http://mudandoumapequenaempresa.blogspot.com/2008/05/index-cards-e-planning-poker-para.html http://jeffsutherland.com/scrum/FirstScrum2004.pdf http://www.flickr.com/photos/fb/2139203765/
FIM

Agile SCRUM

  • 1.
    Metodologias Ágeis SCRUMEduardo Bregaida
  • 2.
    Apresentação Processo Definidose Processos Empíricos O que é SCRUM? Quais são os papéis? Características do SCRUM Como funciona? Quadro de Tarefas Kanban Post it colorido
  • 3.
    Quem sou? EduardoBregaida: Graduando em Sistemas de Informação no IMES-USCS; Possui 5 anos de experiência com JSP, Servlets, Struts, JSF, EJB, Ajax, Hibernate, JPA, Wicket Spring MVC, Spring IoC; Experiência com Metodologias de Desenvolvimento Ágil; Projetos: Saargummi do Brasil Ltda, 3º Quadrante Informática, G&P, SOS Computadores, JAPI Informática, Tata Consultancy Services, IT Training, FireAnt, Masterdom; Criador do blog Java Anywhere www.javawora.blogspot.com ; Palestrante de tecnologia Java; Agente certificador do projeto JEDI Membro do JCP (Java Communit Process) www.jcp.org .
  • 4.
    Processos Definidos ProcessoDefinidos: São aqueles que determinam o que deve ser feito, quando e como. Quem já trabalhou com o “início e fim do projeto” sabe que a utilização de um processo definido não garante o sucesso.
  • 5.
    Processos Empíricos Sãoaqueles que não se conheçam todas as variáveis de entrada para que possa estabelecer um processo repetitível. O Scrum , parte do princípio que nem todas as características do produto são conhecidas na análise e que provavelmente os requisitos mudarão com o passar do tempo. Exemplo: É como dirigir um carro, nunca se traça um destino em que a chegada é em linha reta, sempre há pequenas correções até a chegada.
  • 6.
    Conclusão dos ProcessosProcessos empíricos baseados em inspeção e adaptação devem ser utilizados sempre que os processos definidos não forem adequados devido a complexidade do projeto.
  • 7.
  • 8.
    O que éSCRUM? Processo de desenvolvimento iterativo e incremental que pode ser aplicado a qualquer produto ou no gerenciamento de qualquer atividade complexa; Criado por Jeff Sutherland e Ken Schwaber na década de 90;
  • 9.
    SCRUM Product Backlog Sprint Planning Meeting Planning Poker Product Owner Daily Scrum Sprint Review Meeting Sprint Retrospective Scrum Master
  • 10.
    Product Backlog Listaque contém as funcionalidades para um produto; O conteúdo é definido pelo Product Owner; Não necessita estar completo; Basta iniciar pelo mais óbvio, com o tempo o Product Backlog cresce e muda a medida que necessite. Durante o Sprint Planning Meeting, o Product Owner prioriza os itens do Product Backlog para o Sprint Backlog; Logo após a equipe determinará quais intens serão capazes de serem produzidos durante o Sprint; Os itens podem ser divididos em uma ou mais tarefas; Isto facilita dividir o trabalho entre os membros da equipe.
  • 11.
  • 12.
    Sprint Planning MeetingÉ uma reunião em que o Product Owner juntamente com o Scrum Master e todo Scrum Team estarão juntos; O Product Owner descreve as funcionalidades de maior prioridade para a equipe; A equipe questiona de um modo que seja capaz de quebrar as funcionalidades em tarefas tecnicas; No final será gerado o Sprint Backlog; Não há necessidade de definir todos os itens do Product Backlog, apenas os de maior prioridade, os próximos itens serão definidos na próxima Sprint Planning Meeting; Coletivamente o Scrum Team e o Product Owner definirão o objetivo para o Sprint; Após a reunião a equipe se reúne para conversar sobre o que escutaram e decidir quanto eles podem se comprometer a fazer no Sprint que será realizado; Em alguns casos há necessidade de negociação com o Product Owner; A equipe como um todo determina quanto será capaz de se comprometer a fazer.
  • 13.
  • 14.
    Planning Poker Osnúmeros menores refletem muito bem algo realmente possível de realizar; Os número maiores não são relatos muito claros, difíceis de estimar; Estes devem ser transformados em relatos menores para facilitar a realização; Números maiores que 13 levantam questões do tipo: “ Isso é mesmo um caso?”, “Isso não poderia ser quebrado em casos menores?”, etc.
  • 15.
    Feito: já foirealizado, ou é tão simples que levaria apenas alguns minutos para executá-lo; Sem idéia: Não se tem a mínima idéia do tempo de desenvolvimento relatado; Hora da pausa: Hora de fazer uma pausa para descanso da equipe. Planning Poker
  • 16.
    Planning Poker Cadamembro da equipe possui um conjunto dessas cartas; O P roduct Owner , junto da equipe, seleciona os relatos que mais se aproxima de uma pontuação 2; Essa pontuação no momento, é apenas 2, não significa 2 dias, nem duas horas. Story Points é uma forma legal de estimar, mesmo parecendo ser algo muito abstrato inicialmente. Essa abstração se vai, apartir do momento em que o primeiro sprint é executado. No final do sprint , essa pontuação virou referência, e já pode ser considerada num gráfico pontos x tempo . A questão aqui é definir um relato de referência, esta será referência para os demais; Todos devem pensar e selecionar uma carta e TODOS devem prestar atenção; Caso haja divergências de opiniões, a pessoa com a menor carta e a pessoa com a maior carta deve explicar o porque da seleção; Havendo consenso, o relato do caso fica estimado, caso contrário a carta escolhida pela maioria se torna real; O Scrum Master é essencial, pois ele deverá evitar brincadeiras ou discussões durante esse momento.
  • 17.
  • 18.
  • 19.
    Product Owner Pessoaque define os itens do Product Backlog e os prioriza nas Sprint Planning Meetings; O Scrum Team analisa o Product Backlog priorizado e seleciona os itens mais prioritários, se comprometendo a entregá-los no final do Sprint (iteração), estes itens compõe o Sprint Backlog; A equipe se compromete a executar um conjunto de atividades no Sprint e o Product Owner se compromete a não trazer novos requisitos para a equipe durante o Sprint.
  • 20.
  • 21.
    Daily Scrum Cadadia do Sprint a equipe faz uma reunião diária de 15 minutos; As reuniões são executadas todos os dias ou no início da manhã ou no final do expediente, normalmente são feitas no período matutino; A reunião é feita com todos os membros em pé; Nesta reunião deverá ser respondida apenas 3 perguntas: O que você fez ontem? O que você fará hoje? Há algum impedimento no seu caminho? A reunião de 15 minutos deve ser bem focada; Não é uma reunião para resolver problemas, apenas conhecer os impedimentos sem fugir do foco; Não é uma reunião de status report na qual um chefe fica coletando informações sobre quem está atrasado; É uma reunião em que o Scrum Team assumem compromissos perante os demais.
  • 22.
    Sprint Review MeetingNo final de cada Sprint é feito um Sprint Review Meeting; O Scrum Team mostra o que foi alcançado durante o Sprint realizado; Nesta reunião estará presente o Product Owner, o Scrum Team e o Scrum Master; O mais importante é que o objetivo do Sprint esteja realizádo.
  • 23.
    Sprint Retrospective Ocorreao final do Sprint; Utilizado para identificar o que funcionou bem; Também é utilizado para verificar o que poderia ser melhorado; E quais ações serão tomadas para melhorá-lo.
  • 24.
  • 25.
    Scrum Master Asseguraque a equipe siga e respeite as práticas do Scrum; Protege a equipe para que não se compromete com mais do que possa realizar no Sprint; Atua como facilitador do Daily Scrum, remove qualquer obstáculo que sejam levantados na reunião; Normalmente é exercido por um gerente de projeto ou um líder técnico.
  • 26.
    Características do SCRUMP rocesso ágil para gerenciar e controlar o desenvolvimento de projetos; É um "wrapper" para outras práticas de engenharia de software. Como XP ou FDD; É um processo que controla o caos resultante de necessidades e interesses conflitantes; É uma forma de aumentar a comunicação e maximizar a cooperação; É uma forma de detectar e remover qualquer impedimento que atrapalhe o desenvolvimento de um produto; É escalável desde projetos pequenos até grandes projetos em toda empresa.
  • 27.
    Como funciona? Definiçãodo Backlog ; Andamento do Sprint ; Reuniões Diárias ; Revisões .
  • 28.
  • 29.
    Quadro de TarefasKanban É utilizado para facilitar a visualização do Sprint; Dividido em 4 ou mais partes; A fazer; Em andamento; Concluído; Em teste; Em alguns casos Pendente e/ou não planejado.
  • 30.
  • 31.
  • 32.
    Kanban e Postit Colorido
  • 33.
    Kanban e Postit Colorido
  • 34.
    Referências http://www.infoq.com/articles/agile-kanban-boards http://www.boaglio.com/index.php/2007/12/27/scrum-solo/http://www.improveit.com.br/xp http://www.mountaingoatsoftware.com/system/hidden_asset/file/17/ScrumLargeLabelled.png http://www.agilemanifesto.org/ http://pt.wikipedia.org/wiki/Scrum http://www.improveit.com.br/scrum/daily_scrum http://www.improveit.com.br/scrum http://www.agilealliance.org/ http://www.caelum.com.br/treinamentos/csm-certified-scrum-master/ http://amagno.blogspot.com/2008/06/scrum-caelum-sucesso.html http://javawora.blogspot.com/ http://www.dtsato.com/blog/ http://www.jeveaux.com/blog/2008/planning-poker-cards/ http://www.daviscabral.com.br/articles/2008/5/22/planning-poker http://www.crisp.se/planningpoker/ http://mudandoumapequenaempresa.blogspot.com/2008/05/index-cards-e-planning-poker-para.html http://jeffsutherland.com/scrum/FirstScrum2004.pdf http://www.flickr.com/photos/fb/2139203765/
  • 35.