Top Banner
Scrum Gestão ágil de projetos Autores: Fábio Abrantes Diniz Íthalo Bruno de Moura Thiago Reis da Silva Diego Grosmanniz
83

Minicurso SCRUM

Jun 12, 2015

Download

Documents

Thiago Reis
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Minicurso SCRUM

ScrumGestão ágil de projetos

Autores:Fábio Abrantes Diniz

Íthalo Bruno de Moura

Thiago Reis da Silva

Diego Grosmanniz

Page 2: Minicurso SCRUM

ScrumGestão ágil de projetos

Apresentadores:

Fábio Abrantes Diniz

Íthalo Bruno de Moura

Page 3: Minicurso SCRUM

31% são cancelados 53% custam o dobro do estimado

Apenas 16% são completados no

prazo e custo estimados

* dados do CHAOS report

Page 4: Minicurso SCRUM

Mas por que?

Page 5: Minicurso SCRUM

Falta de envolvimento do usuário

Requisitos e especificações incompletas

Falta de suporte da direção

Falta de Pessoas e Recursos

Falta de ESTIMATIVAS!!!

Page 6: Minicurso SCRUM
Page 7: Minicurso SCRUM
Page 8: Minicurso SCRUM
Page 9: Minicurso SCRUM

Falhar é uma maneira muito

forte de aprendizado, mas é

preciso parar de apontar culpados

Page 10: Minicurso SCRUM

Olá, Scrum!Por que o nome Scrum?

O nome é proveninente de uma jogada do Rugby, onde é demostrada a força de trabalho em equipe.

O Scrum do Rugby é formado por até 8 pessoas de cada equipe.

O objetivo do Scrum no Rugby é avançar a bola oval no campo adversário o máximo possível. Para isso é necessário um ótimo trabalho em equipe.

Page 11: Minicurso SCRUM
Page 12: Minicurso SCRUM

Scrum é também um meio de

evidenciar os problemas

Page 13: Minicurso SCRUM

Mas Scrum não é bala de prata*

* Não mata vampiros & afins* Exige trabalho duro e comprometimento

Page 14: Minicurso SCRUM

P D C APlan, Do, Check, Act

Page 15: Minicurso SCRUM

Planejamento

Page 16: Minicurso SCRUM

Execução

Page 17: Minicurso SCRUM

Checagem

Page 18: Minicurso SCRUM

Exatamente o que Scrum faz!

Page 19: Minicurso SCRUM

Quem usa o Scrum

• Microsoft• Yahoo• Google• Lockheed Martin• Philips• Siemens• Nokia• BBC

Page 20: Minicurso SCRUM

Scrum tem sido usado para

• Software comercial• Desenvolvimento interno (empresa)• Desenvolvimento contratado (terceirização)• Aplicações financeiras• Sistemas embarcados• Jogos• Sistemas para controle de satélites• Websites• Telefones celulares

Page 21: Minicurso SCRUM

Características do Scrum

• As equipes 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)

• É uma das “metodologias ágeis”

Page 22: Minicurso SCRUM

Papeis no scrum

Page 23: Minicurso SCRUM

Product Owner

• O representante do cliente

Page 24: Minicurso SCRUM

Scrum Master

• O Scrum Master lidera o time de desenvolvimento

Page 25: Minicurso SCRUM

Scrum Team

• Scrum Team São os membros que formam o time de desenvolvedores, designers, consiste de 5 a 9 pessoas.

Page 26: Minicurso SCRUM

© 2006 BenQ Mobile 26

►Define as funcionalidades do produto assim como conteúdo e data das liberações;

►Responsável pela rentabilidade do produto;►Prioriza as funcionalidades de acordo com o valor do mercado;►Pode mudar as funcionalidades e priorizar a cada 30 dias;►Aceita ou rejeita os resultados do trabalho.

►Estimar itens do backlog►Tem o direito de realizar quaisquer atividades para alcançar

o objetivo da iteração desde que respeite os guidelines do projeto;

►Auto organizados para entregar o que o PO quer.

►Garante que a equipe está completamente funcional e produtiva;►Facilita comunicação entre papéis e remove impedimentos;►Protege a equipe contra interferências externas;►Assegura que o processo é seguido;►Coordena os encontros diários, revisão e planejamento da

iteração.

Product Owner

Scrum Master

Team

Papéis e Responsabilidades

Page 27: Minicurso SCRUM

Ciclo de Vida

Ciclo de vida do ScrumFonte: Adaptado de Improve It (2008)

Page 28: Minicurso SCRUM

Ciclo de Vida

Ciclo de vida do ScrumFonte: Adaptado de Improve It (2008)

Page 29: Minicurso SCRUM

Ciclo de Vida

Ciclo de vida do ScrumFonte: Adaptado de Improve It (2008)

Page 30: Minicurso SCRUM

O Product Backlog é uma lista de todas as funcionalidades desejadas no

produto, estimadas pelo time e priorizadas pelo

Product Owner.

Page 31: Minicurso SCRUM

Exemplo de Product Backlog

Page 32: Minicurso SCRUM

O Product Backlog

EmergentePriorizado e estimado

Maior prioridade, mais detalhesPriorização é tarefa do PO

Alinhado ao plano de negócios

Page 33: Minicurso SCRUM

O Product BacklogEmergente

Priorizado e estimadoMaior prioridade, mais detalhes

Priorização é tarefa do POAlinhado ao plano de negócios

Page 34: Minicurso SCRUM

O Product BacklogEmergente

Priorizado e estimado

Maior prioridade, mais detalhesPriorização é tarefa do PO

Alinhado ao plano de negócios

Page 35: Minicurso SCRUM

O Product BacklogEmergente

Priorizado e estimadoMaior prioridade, mais detalhes

Priorização é tarefa do POAlinhado ao plano de negócios

Page 36: Minicurso SCRUM

O Product BacklogEmergente

Priorizado e estimadoMaior prioridade, mais detalhes

Qualquer um pode contribuirPriorização é tarefa do PO

Alinhado ao plano de negócios

Page 37: Minicurso SCRUM

Sprints

• Representa um Time Box (uma iteração), dentro do qual um conjunto de atividades deve ser executado

• Ocorre em um período de duas a quatro semanas

• Baseia-se na idéia de que um período constante leva a um melhor “ritmo”

• O produto é projetado, codificado e testado durante o Sprint

• No início de cada Sprint, faz-se um Sprint Planning Meeting

Page 38: Minicurso SCRUM

Sprints - Sprint Planning Meeting -

• É uma reunião de planejamento na qual:o O Product Owner prioriza os itens do Product

Backlogo O Scrum Team determina que atividades será

capaz de implementar durante o novo Sprint e cria o Sprint Backlog

o O Scrum Team e o Product Owner definem um objetivo para o Sprint

• O sucesso do Sprint será avaliado mais adiante no Sprint Review Meeting em relação ao objetivo traçado para o Sprint

Page 39: Minicurso SCRUM

Sprints - Sprint Backlog -

• É uma lista de tarefas que o Scrum Team se compromete a fazer em um Sprint

• Seus itens são extraídos do Product Backlog com base nas prioridades definidas pelo Product Owner• Uma estimativa do tempo necessário para a

implementação das funcionalidades

• O Scrum Master mantém o Sprint Backlog atualizado

Page 40: Minicurso SCRUM

Sprints - Daily Scrum -

– É uma reúnião diária da equipe dentro do Sprint, que tem por objetivo:o Disseminar conhecimento sobre o que foi feito no

dia anterioro Identificar impedimentoso Priorizar o trabalho a ser realizado no dia que se

inicia – Os impedimentos identificados devem ser tratados

pelo Scrum Master o mais rapidamente possível

Obs: o Daily Scrum não deve ser usado como uma reunião para resolução de problemas

Page 41: Minicurso SCRUM

Sprints - Daily Scrum -

• Três Questões para todos:

• O que fizeste ontem?• O que vais fazer Hoje?• Há Algum obstáculo?

• Obs: As respostas não são um

relatório para o Scrum Master. Elas são comprimissos dentro do Scrum Team.

Page 42: Minicurso SCRUM

Sprints - Sprint Review Meeting -

O ScrumTeam e o SCRUM Master apresentam ao Product Owner os resultados alcançados durante o sprint.

Page 43: Minicurso SCRUM

Sprints - Sprint Retrospective -

O Sprint Retrospective ocorre ao final de um Sprint e serve para identificar o que funcionou bem, o que pode ser melhorado e que ações serão tomadas para melhorar. Todos participam:

–Scrum Master–Product Owner–Scrum Team

Page 44: Minicurso SCRUM

Sprints - Sprint Retrospective -

Em uma das maneiras de se conduzir um Sprint Retrospective, a equipe discute o que gostaria de:

– Iniciar a fazer– Parar de fazer– Continuar fazendo

Page 45: Minicurso SCRUM

© 2006 BenQ Mobile 45

• Software desktop destinado a usuários finais de celulares BenQ-Siemens• Projeto complexo com 300,000 LOC possuindo um ciclo de vida médio

→ Interação complexa com o ambiente físico (celular)

→ Uma série de versões intermediárias (builds) precisam ser desenvolvidas e testadas.

→ O software deve suportar diferentes modelos de celulares e rodar em diferentes distribuições do Linux

Estudo de Caso: O Projeto XMPM (1)

Características do Projeto

→ Desenvolvido por três parceiros situados fisicamente em localidades diferentes.

→ Necessidade de boa comunicação entre as equipes de desenvolvimento.

→ Definição clara de papéis e responsabilidades.

Page 46: Minicurso SCRUM

© 2006 BenQ Mobile 46

Estudo de Caso: O Projeto XMPM (2)

XMPM

Características do Produto

→ Suporte a 9 (nove) diferentes idiomas;

→ Possui instalador gráfico para as seguintes distribuições (supporte oficial):

- Ubuntu 5.10

- Suse 10

- Mandriva 2006

→ Algumas das funcionalidades do XMPM incluem:

- Sincromização de contatos, tarefas, notas e calendário entre o telefone celular BenQ-Siemens e KDE-Kontact.- Acesso à internet através de uma conexão GPRS.

- Acessa ao sistema de arquivos e suporte a diferentes formatos de música.

Page 47: Minicurso SCRUM

© 2006 BenQ Mobile 47

Estudo de Caso: O Projeto XMPM (3)Práticas adaptadas para o contexto do projeto

Sprint:- No projeto XMPM foram usados 5 sprints e cada sprint com duração de aproximadamente 30 dias.

- Sprints de 30 dias fornecem uma melhor visibilidade dos objetivos do projeto e comprometimento da equipe.

- Iterações mais curtas podem melhorar a visibilidade do projeto e permitir que riscos e incertezas sejam eliminados o mais rápido possível.

Page 48: Minicurso SCRUM

© 2006 BenQ Mobile 48

Estudo de Caso: O Projeto XMPM (4)

Práticas adaptadas para o contexto do projeto

Planejamento do Sprint:

- Duas reuniões são conduzidas no ínicio de cada iteração.

- A primeira é realizada internamente com o product owner e visa refinar e priorizar o backlog do produto.

- A segunda é realizada com os parceiros e visa criar o backlog do sprint de modo a atender os objetivos da iteração.

Page 49: Minicurso SCRUM

© 2006 BenQ Mobile 49

Estudo de Caso: O Projeto XMPM (5)

Práticas adaptadas para o contexto do projeto

Revisão do Sprint:

- A equipe apresenta no final de cada iteração os resultadosobtidos (software funcionando) para o product owner e parceiros.

- Esta prática impõe que a equipe trabalhe arduamente para alcançar os objetivos prometidos para a iteração.

Page 50: Minicurso SCRUM

© 2006 BenQ Mobile 50

Estudo de Caso: O Projeto XMPM (6)

Reunião de Retrospectiva:

- O Scrum master e a equipe participam desta reunião.

- O que deu certo durante o sprint e o que poderia ser melhorado.

Page 51: Minicurso SCRUM

© 2006 BenQ Mobile 51

Estudo de Caso: O Projeto XMPM (7)

Práticas adaptadas para o contexto do projeto

Reuniões Diárias do Scrum:

- O quê você fez desde o último report?- O quê você irá fazer até a próxima reunião?-Existe algum bloqueio para alcançar os objetivos da iteração?- Alguma lição aprendida ou decisão tomada?

- As reuniões diárias ajudam a saber o quê cada membro da equipe está fazendo, compartilhar conhecimento e fornece uma boa visão para o Scrum Master.

Page 52: Minicurso SCRUM

© 2006 BenQ Mobile 52

Estudo de Caso: O Projeto XMPM (8)Práticas adaptadas para o contexto do projeto

Builds Diários:

- Builds diários no branch de cada parceiro e um build semanal no ramo principal do projeto (uso de padrões de gerência de configuração).

Page 53: Minicurso SCRUM

© 2006 BenQ Mobile 53

Estudo de Caso: O Projeto XMPM (9)

Práticas sendo adaptadas para o contexto do projeto

Teste antes do desenvolvimento:

- Esta prática é simples em conceito, mas requer intensa preparação técnica.

- Esta prática força o desenvolvedor pensar sobre o que o código deveria fazer antes de realmente implementá-lo.

- Caso o desenvolvedor não seja capaz de escrever o caso de teste para o código então provavelmente existem problemas de projeto.

- Depois de criar e executar o teste unitário, o mesmo torna-se apenas uma instância de testes de regressão.

Page 54: Minicurso SCRUM

© 2006 BenQ Mobile 54

Resumo e PerspectivaResumo

Perspectiva

• A prática “revisão do sprint” exige que a equipe se esforce para cumprir com os objetivos prometidos da iteração.

• A prática “teste antes do desenvolvimento” evita a criação de classes complexas e assegura a qualidade do código.

• As práticas melhoram a visibilidade do projeto e reduzem riscos e incertezas no início do ciclo de desenvolvimento.

• O fator terceirização adiciona mais complexidade ao uso do Scrum.

• Adaptação dos métodos ágeis para desenvolvimento de sistemas embarcados.

Page 55: Minicurso SCRUM

Conclusão

Scrum é uma metodologia de gerenciamento de projetos que está se tornando cada vez mais comum na industria de software. É bastante eficiente quando utilizado por equipes pequenas, mas pode tranquilamente ser usado em projetos com grandes equipes.

O Scrum tem como vantagens a velocidade, um bom controle do cronograma, diminuição dos riscos e incertezas e a visibilidade - graças às constantes reuniões.

Por outro lado, a grande desvantagem do Scrum é a sensação de informalidade, devida a falta de documentação formal do software.

Page 56: Minicurso SCRUM

?

Page 57: Minicurso SCRUM

• http://br.groups.yahoo.com/group/scrum-brasil/

• http://blogdoabu.blogspot.com/2008/11/planning-poker.html

• http://planningpoker.com/

• http://netfeijao.blogspot.com/2008/10/estimativas-geis-planning-poker.html

• Ken Schwaber. Agile Project Management with Scrum. Ed. Microsoft Press 2004

• Abrahamsson, Pekka, Salo, Outi, Ronkainen, Jussi &Warsta, Juhani. Agile Software Development Method, Review and Analysis. Espoo 2002. VTT Publications 478. 107p

• Henrik Kniberg. Scrum and XP Direto das trincheiras. Ed. Enterprise Software Development Community, 2007.

Page 58: Minicurso SCRUM

Planning Poker An agile estimating

technique for agile and Scrum teamsGestão ágil de projetos

Apresentadores:Fábio Abrantes Diniz

Íthalo Bruno de Moura

Page 59: Minicurso SCRUM

31% são cancelados 53% custam o dobro do estimado

Apenas 16% são completados no

prazo e custo estimados

* dados do CHAOS report

Page 60: Minicurso SCRUM

Mas por que?

Page 61: Minicurso SCRUM

Falta de envolvimento do usuário

Requisitos e especificações incompletas

Falta de suporte da direção

Falta de Pessoas e Recursos

Falta de ESTIMATIVAS!!!

Page 62: Minicurso SCRUM

É difícil estimar tempos de execução

Page 63: Minicurso SCRUM

Time*

*Tudo eu! Tudo eu!

Page 64: Minicurso SCRUM

2±9

7

Page 65: Minicurso SCRUM

Responsabilidades:• Estimar itens do backlog

• Se comprometer a entregar um incremento funcional de software

• Gerenciar o próprio progresso

• Auto organizados para entregar o que o PO quer

Page 66: Minicurso SCRUM

As cerimônias do SCRUM

Page 67: Minicurso SCRUM
Page 68: Minicurso SCRUM

Reunião de Estimativa:• Preparação para o Sprint Planning

• Estimar baseado no tamanho, nunca em tempo

• Atualizar Product Backlog com as estimativas

• Importante para o PO criar o release plan

Page 69: Minicurso SCRUM

O Product BacklogEmergente

Priorizado e estimadoMaior prioridade, mais detalhes

Qualquer um pode contribuirPriorização é tarefa do PO

Sempre visívelAlinhado ao plano de negócios

Page 70: Minicurso SCRUM

Scrum foca em

tamanho e

não em duração

Page 71: Minicurso SCRUM

Estimar em tamanho relativo é mais simples

Page 72: Minicurso SCRUM

Planning Poker

• É um método eficiente que estima o tamanho dos requisitos em times que adotam métodos ágeis (SCRUM, XP).1

• O método foi primeiramente descrito por James Grenning em 2002 e, mais tarde popularizado por Mike Cohn no livro Agile Estimating and Planning.

1 – É uma variação do método de estimativa Wideband Delphi (1940)

Page 73: Minicurso SCRUM

Planning Poker

• As estimativas acontecem em reuniões:– Geralmente 4 ou 8 horas.– Paticipantes:

• Todos os membros do time do Scrum;• O PO somente esclarece os requisitos e não

estima junto a equipe;• O Scrum Master registra os resultados, não

interferindo nas estimativas do time;• A equipe não deve ser superior a dez pessoas.

Page 74: Minicurso SCRUM

O Processo

1. Cada membro do time recebe um deck de cartas: 0, ½, 1, 2, 3, 5, 8, 13, 20, 40, 100, ? e

“pausa”.

http://en.wikipedia.org/wiki/Planning_poker

Page 75: Minicurso SCRUM

O Processo

2. Os itens a serem estimados são lidos pelo PO ou SM

A equipe decide qual o menor item de backlog disponível.

http://blogdoabu.blogspot.com/2008/11/planning-poker.html

Page 76: Minicurso SCRUM

O Processo

3. Após a estimativa inicial, esse item é marcado como “2” pontos

Serve para definir uma referência de tamanho e complexidade para ser usada nas demais estimativas.

E deve ficar registrado para uso nas futuras reuniões.

Em casos excepcionais o time pode decidir mudar esta estória de referência por uma outra.

Page 77: Minicurso SCRUM

O Processo

4. Para cada estória o SM ou PO lê a descrição e os critérios da aceitação da mesma. São respondidos questionamentos a

respeito da estória; Manter a discussão em alto nível, não entrar em

detalhes. Tempo prefixado (timebox) nesta etapa.

Page 78: Minicurso SCRUM

O Processo

5. Cada desenvolvedor escolhe em silêncio a carta que representa sua estimativa. O moderador pede para todos mostrarem

as cartas.

http://blogdoabu.blogspot.com/2008/11/planning-poker.html

Page 79: Minicurso SCRUM

O Processo

6. Se todas as estimativas convergirem, a estimativa está feita e o processo volta ao início, para um novo item. Se houver uma grande variação na

estimativa, aqueles que apresentaram o(s) maior(es) e o(s) menor(es) valor(es) se justificam.

O processo se repete até todas as estimativas convergirem.

Page 80: Minicurso SCRUM

Dinâmica

• Grupo

• São Paulo

• Rio Grande do Norte

• Paraíba

• Goiás

• Amazonas

• Sergipe

• Paraná

Page 81: Minicurso SCRUM

Conclusões

• O Planning Poker é uma prática eficiente de estimação de requisitos

• Por ser uma técnica bastante flexível, se enquadra

• É uma prática que envolve todo o time– Ajuda times novos a se conhecerem

• Realmente funciona!!!

Page 82: Minicurso SCRUM

?

Page 83: Minicurso SCRUM

• http://br.groups.yahoo.com/group/scrum-brasil/

• http://blogdoabu.blogspot.com/2008/11/planning-poker.html

• http://planningpoker.com/

• http://netfeijao.blogspot.com/2008/10/estimativas-geis-planning-poker.html

• Ken Schwaber. Agile Project Management with Scrum. Ed. Microsoft Press 2004

• Abrahamsson, Pekka, Salo, Outi, Ronkainen, Jussi &Warsta, Juhani. Agile Software Development Method, Review and Analysis. Espoo 2002. VTT Publications 478. 107p

• Henrik Kniberg. Scrum and XP Direto das trincheiras. Ed. Enterprise Software Development Community, 2007.

Referências