Curso Scrum

71
Gerenciamento Ágil de Projetos com SCRUM Paulo Roberto Furtado Serra, CSM 2009

description

 

Transcript of Curso Scrum

Page 1: Curso Scrum

Gerenciamento Ágil de Projetos com

SCRUM

Paulo Roberto Furtado Serra, CSM

2009

Page 2: Curso Scrum

Tópicos

1. Introdução

2. Gerenciamento

de Projetos: Problemas

3. Metodologias Ágeis de

Desenvolvimento

4. SCRUM

Page 3: Curso Scrum

Introdução

1. Introdução

2. Gerenciamento

de Projetos: Problemas

3. Metodologias Ágeis de

Desenvolvimento

4. SCRUM

Page 4: Curso Scrum

Introdução

1. Apresentação do Instrutor

2. Objetivos do Curso

Page 5: Curso Scrum

Apresentação do Instrutor Paulo Furtado Serra trabalha a mais de 10

anos na área de desenvolvimento de Software

A 3 anos vem se especializando em Metodologias de Gerenciamento e Desenvolvimento Ágeis

Mestre em Engenharia de Teleinformática pela Universidade Federal do Ceará

É Certified Scrum Master (CSM) pela Scrum Alliance

Page 6: Curso Scrum

Objetivos do Curso

Repassar os princípios que rodeiam as

Metodologias Ágeis Introduzir os principais conceitos do Scrum,

bem como seus principais artefatos,

papéis e cerimônias (reuniões) Exemplificar o uso do Scrum com outras

metodologias ágeis, como a eXtreme Programming (XP)

Preparar equipe da ETICE para utilizar Scrum

no S2GPR

Page 7: Curso Scrum

Tópicos

1. Introdução

2. Gerenciamento

de Projetos: Problemas

3. Metodologias Ágeis de

Desenvolvimento

4. SCRUM

Page 8: Curso Scrum

Gerenciamento de Projetos

2.1. O que é Projeto?

2.2. Exemplos de Projeto

2.3. Projetos de Software

2.4. Estatísticas

2.5. Problemas

Page 9: Curso Scrum

Gerenciamento de Projetos

2.1. O que é Projeto?

2.2. Exemplos de Projeto

2.3. Projetos de Software

2.4. Estatísticas

2.5. Problemas

Page 10: Curso Scrum

O que é Projeto?

Esforço empreendido para algo

exclusivoÉ temporário, possui um início e

um fim;Possui restrições em custo, prazo,

qualidade e recursos;Exige coordenação;Conduzido por pessoas;

Page 11: Curso Scrum

Exemplos de Projeto

Page 12: Curso Scrum

Projetos de Software

2.1. O que é Projeto?

2.2. Exemplos de Projeto

2.3. Projetos de Software

2.4. Estatísticas

2.5. Problemas

Page 13: Curso Scrum

Os três “Quem”

- Quem já participou de algum projeto de

software do Início ao Fim...

... que tenha terminado no prazo?

- Quem participa de algum projeto de software hoje?

Se sim, esse projeto já têm algo em produção?

- Quem já participou de algum projeto de software onde

os requisitos não mudaram? Se sim, então NÃO era um projeto de

Software!

Page 14: Curso Scrum

Projeto de Software

- Construir um software não é o mesmo que

construir um prédio- Existe projeto de Software com escopo fixo?

- Na Grande maioria dos casos, o usuário

não sabe o que quer, ele sabe o que sente- Ponha isso na sua mente:

Em Projetos de Software, sempre haverá mudanças !

Page 15: Curso Scrum

Estatísticas Chaos Report

Fonte: The Standish Grouphttp://www.infoq.com/articles/chaos-1998-failure-stats

2000 2002 2004 2007 20090%

10%

20%

30%

40%

50%

60%

70%

80%

90%

100%

FalhouDesafiadoSucesso

Page 16: Curso Scrum

Estatísticas Uso de Funcionalidades

7% 13%

16%

19%

45%

Média de uso de funcionalidades de sistemas

SempreFre-quente-menteÀs vezesRaramenteNunca

Standish Group, 2002

Page 17: Curso Scrum

Problemas ...

Doenças do Gerenciamento de Projetos

Nível de Ruído em ProjetosMuita gente envolvida e pouca

gente comprometidaMuitas barreiras de

comunicação entre cliente e desenvolvedor

Page 18: Curso Scrum

Doenças do Gerenciamento de Projetos

Multi-tarefa nociva Equipes enfrentam constantemente prioridades que

mudam, fazendo com que interrompam uma tarefa e trabalhem em outra

Lei de Parkinson Mais tempo de segurança, mais tempo de projeto

Síndrome do Estudante O trabalho quase sempre é adiado

Dependência entre tarefas O atraso é passado adiante, mas o adiantamento não

Page 19: Curso Scrum

Nível de Ruído em um Projeto

Simples

Complicado

Anarquia

Complexo

Perto da certeza

Longe da certeza

Tecnologia

Perto deAcordo

Longe deacordoR

eque

rimen

tos

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

Page 20: Curso Scrum

Comprometimento vs Envolvimento

O porco está COMPROMETIDO A galinha está apenas ENVOLVIDA

Page 21: Curso Scrum

Vocês conhecem essa?

Continua fazendo sentido?

Page 22: Curso Scrum

Então, o que fazer? Em 2001, um grupo de profissionais veteranos na área de

software decidiu se reunir em uma estação de esqui, nos EUA.

O objetivo seria discutir formas de melhorar o desempenho de seus projetos.

Embora cada envolvido tivesse suas próprias práticas e teorias sobre como fazer um projeto de software ter sucesso, cada qual com as suas particularidades, todos concordavam que, em suas experiências prévias, um pequeno conjunto de princípios sempre parecia ter sido respeitado quando os projetos davam certo;

O grupo era composto de grandes nomes do mundo do software, tais como: Kent Beck, Jim Highsmith, Alistair Cockburn, Martin Fowler, Ken Shwaber e Jeff Sutherland;

O encontro deu origem ao MANIFESTO ÁGIL

Page 23: Curso Scrum

Tópicos

1. Introdução

2. Gerenciamento

de Projetos: Problemas

3. Metodologias Ágeis de

Desenvolvimento

4. SCRUM

Page 24: Curso Scrum

O Manifesto Ágil

Premissas das Metodologias

Ágeis

Paradigmas

Metodologias Ágeis de

Desenvolvimento / Gerenciamento

Page 25: Curso Scrum

Dinâmica 1 – Planejamento 10 minutos

50 50 50

8080

50

8080

80

50

80 50 50 50 50

Page 26: Curso Scrum

O Manifesto Ágil“Estamos descobrindo melhores maneiras de desenvolver software, fazendo

software e ajudando outros a fazê-lo. Através deste trabalho passamos a valorizar:

Processos e ferramentasProcessos e ferramentasIndivíduos e interaçõesIndivíduos e interações

Seguir um planoSeguir um planoResposta à mudançasResposta à mudanças

Documentação abrangenteDocumentação abrangenteSoftware que funcionaSoftware que funciona

Negociação de contratoNegociação de contratoColaboração do clienteColaboração do cliente

Mais que

Isto é, embora haja valor nos itens do lado direito, nós valorizamos mais os do lado esquerdo.”

http://www.agilemanifesto.org

Page 27: Curso Scrum

Agile – Conceitos e Princípios

O que é “ser ágil”?Desenvolvimento incremental e

iterativoCooperação e colaboraçãoProcesso Empírico de

DesenvolvimentoDocumentação ÚtilSimplicidadeComunicação

Page 28: Curso Scrum

O que significa “ser ágil”?Segundo James Shore & Shane

Warden“A resposta é mais complicada do que

se pode pensar. O Desenvolvimento ágil não é um processo específico que pode ser seguido. Nenhuma equipe pratica o método Ágil.”

“O desenvolvimento ágil é uma filosofia. É uma maneira de pensar sobre desenvolvimento de software. Isso pode ser visto no Manifesto Ágil.”

Page 29: Curso Scrum

O que é Agilidade segundo eles?

For many people the appeal of these agile methodologies is their reaction to the

bureaucracy of the engineering methodologies. These new methods

attempt a useful compromise between no process and too much process,

providing just enough process to gain a reasonable payoff.

Martin Fowler

Jim Highsmith

Page 30: Curso Scrum

Desenvolvimento Incremental e IterativoPor que mudar isso?

Requisitos

Especificação

Implementação

Homologação e Testes

Produção

Page 31: Curso Scrum

Desenvolvimento Incremental e IterativoPensando um pouco...

PLANEJAMENTOPOR FASE

Requisitos

POR QUE NÃO...ITERAÇÕES?

Iteração 1 Iteração 2 Iteração N

...

Especific.

Desenvolv

TestesProduçã

o

Isso não é do jeito que eu

queria !!!

ENTREGA 1 ENTREGA 2

Page 32: Curso Scrum

Desenvolvimento Incremental e Iterativo

Page 33: Curso Scrum

Cooperação e ColaboraçãoMetáfora da Mudança de Salas

Quantas salas eu tenho Desmontadas ?

Quantas salas eu tenho montadas ?

Page 34: Curso Scrum

Cooperação e ColaboraçãoMetáfora da Mudança de Salas

Quantas salas eu tenho Desmontadas ?

Quantas salas eu tenho montadas ?

Page 35: Curso Scrum

Desenvolvimento Incremental e Iterativo

Um estado mental, não um conjunto de documentos, passos ou técnicas;

É mais atitude do que um processo, mais

ambiente que uma metodologia;Entregar produto com valor para o

negócio, mais rápido e continuamente; Garantir progresso real; Abraçar mudanças;Qualidade desde o início;

Page 36: Curso Scrum

Abordagens Ágeis

Scrum: É uma abordagem ágil para o gerenciamento de projetos. Fornece práticas que ajudam gerentes a tornar mais dinâmico e gerenciável o ambiente de desenvolvimento de software.

XP (eXtreme Programming): É uma abordagem ágil para a

engenharia de projetos de software. Como o próprio nome diz, é extremamente focada no desenvolvimento, e tem como principal

característica a programação em par.

FDD (Feature-Driven Development): É uma abordagem ágil para a engenharia de projetos de software. Defende o desenvolvimento de

um modelo abrangente no início do projeto pelo qual as funcionalidades do sistema serão descobertas e desenvolvidas..

Page 37: Curso Scrum

Empresas/Instituções que estão tendo sucesso com Agile

e outras ...

Page 38: Curso Scrum

Tópicos

1. Introdução

2. Gerenciamento

de Projetos: Problemas

3. Metodologias Ágeis de

Desenvolvimento

4. SCRUM

Page 39: Curso Scrum

SCRUM

Page 40: Curso Scrum

O que é Scrum?Algumas definições

Scrum é um processo iterativo e

incremental para o desenvolvimento de qualquer produto e gerenciamento de qualquer trabalho.

Scrum é um processo ágil para o

gerenciamento e controle de projetos;

Scrum é uma abordagem para desenvolvimento de sistemas e produtos onde os requisitos

sofrem constantes mudanças; Scrum é um processo que controla o

caos dos conflitos de interesses;

Page 41: Curso Scrum

O que é Scrum?Mais definições

Scrum é uma forma de otimizar a comunicação do time e favorecer a cooperação;

Scrum é uma forma de otimizar a produtividade;

Scrum é uma forma de todos se sentirem bem com seu trabalho, suas contribuições, e faz com que todos dêem o melhor de si para o sucesso do projeto.

É um processo EMPÍRICO e não um PROCESSO DEFINIDO.

Ao contrário do que muitos pensam, o SCRUM se baseia no RUP, pois ambos são iterativos e incrementais

Page 42: Curso Scrum

A Dinâmica do Scrum

SPRINT

Page 43: Curso Scrum

Artefatos

Product Backlog

Sprint Backlog

Burndown Chart

Page 44: Curso Scrum

Product Backlog

Criado a partir de uma Visão do Projeto

Lista de funcionalidades

priorizadasFuncionalidade Prioridade

Func. A 10

Func. B 20

Func. C 30

Func. D 40

Func. E 50

Func. F 60

Func. N 70

Maiorprioridade

Menor Prioridade

Page 45: Curso Scrum

Sprint Backlog Parte do Product Backlog que vai ser feita numa

iteração (Sprint) Montado a partir das funcionalidade que estão no

topo do Product Backlog

Funcionalidade Prioridade

Func. A 10

Func. B 20

Func. C 30

Func. D 40

Func. E 50

Func. F 60

Func. N 70

Maiorprioridade

Menor Prioridade

SprintBacklog

Page 46: Curso Scrum

Mas o que é um Sprint?

Um período de Tempo entre 2 a 4 semanas

Sempre deve ter um objetivo a ser atingidao pela equipe

É normal que o tempo de duração dos Sprints possam variar no início do projeto, mas o ideal é que se chegue num tempo único para todos os sprints

Todos os Sprints devem pessuir uma estrutura exatamente igual

Page 47: Curso Scrum

Estrutura de um Sprint

1º 2º 3º 4º 5º 6º 7º 8º 9º 10º

DIAS

Pla

neja

men

to –

Spr

int X

Apr

esen

taçã

o –

Spr

int X

Pla

neja

men

to –

Spr

int X

+1

SPRINT X

Reunião

diária

Reunião

diária

Reunião

diária

Reunião

diária

Reunião

diária

Reunião

diária

Reunião

diária

Reunião

diária

Page 48: Curso Scrum

Dinâmica do Product Backlog

A

B

C

Pro

du

ct B

ackl

og

F

G

H

I

D

Sprint 1O que está dentro do SprintNão pode ser alterado.

- O que está fora do Sprint pode Ser alterado de acordo com a necessidade do cliente.

- Ele pode alterar prioridades, inserir novas tarefas ou retirar tarefas existentes.

- Algumas tarefas podem ser inseridas pela equipe. Ex: Montar ambiente para Integração contínua

Pri

ori

dad

e

Alta

Baixa

E

Histórias

Page 49: Curso Scrum

Papéis no Scrum

Product Owner

Scrum Master

Equipe

Page 50: Curso Scrum

Product Owner

Define as funcionalidades do produto Decide datas de lançamento e

conteúdo Responsável pela rentabilidade (ROI) Prioriza funcionalidades de acordo

com seu valor para o negócio Gerencia a entrada de novos

requisitos e suas prioridades Aceita ou rejeita o resultado dos

trabalhos

$$$$$$$$

$$

Page 51: Curso Scrum

Scrum Master

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çõesEscudo para interferências externas

Page 52: Curso Scrum

Equipe

Tamanho variável , é aconcelhável não mais que 9 pessoas e não menos que 4

Multi-funcional▪ Programadores, testadores, desenvolvedores...

Aconcelhável trocas só na mudança de Sprints Faz o que for preciso para alcançar a Meta do Sprint,

uma vez que se compromete com o que vai ser entregue

Apresenta aos interessados o resultado do Sprint

Page 53: Curso Scrum

Cerimônias

Planejamento do Sprint

Reunião Diária

Demonstração

Retrospectiva

Page 54: Curso Scrum

Planejamento do Sprint(Sprint Planning Meeting)

Reunião que define O objetivo (meta) do Sprint Uma lista dos membros da equipe que estarão

comprometidos com a meta Um Sprint Backlog (lista com todas as

funcionalidades incluídas no sprint) Uma Data para demonstrar que foi produzido

durante o sprint Hora e lugar definido para acontecerem as

reuniões diárias Dependendo do projeto, esta reunião pode durar

de 4 a 16 horas

Page 55: Curso Scrum

Planejamento do SprintESTIMATIVAS

Como estimar?Story Points

Um “peso” dado para cada história

Indica quanto uma história é maior ou mais complexa que outra

Horas Tempo estimado por cada tarefa

Page 56: Curso Scrum

Planejamento do SprintESTIMATIVAS em Story Points

Planning Poker

Page 57: Curso Scrum

Exercício

Livro Características

-Manual CMMI-899 páginas-Inglês-Informática

- 1300 páginas-Português- Religião

Livro Características

- 80 páginas- Em português- Fofocas

-- 120 páginas- Em português- Humor

Page 58: Curso Scrum

Reunião Diária(Scrum Daily Meeting)

Objetivo Cada membro deve responder as seguintes perguntas:

1. O que você fez desde a última reunião diária?2. O que você pretende fazer até a próxima

reunião diária?3. Existe algum problema que o impeça de

realizar suas atividades?Duração

15 minutos (não mais que isso) Todos em Pé Qualquer pessoa pode participar, mas apenas o

Scrum Master e os Membros da Equipe pedem falar

Page 59: Curso Scrum

Reunião de Demonstração(Sprint Review)

Objetivo Mostrar o que foi produzido no Sprint

Duração 30 a 60 minutos

Participantes Product Owner, Scrum Master, membros do

time, clientes, Usuários, Stakeholders e qualquer pessoa que esteja interessada no resultado da Sprint

Qualquer participante pode falar, fazer perguntas ou observações

Page 60: Curso Scrum

Retrospectiva(Sprint Retrospective)

Objetivo Enumerar o que funcionou e o que não funcionou

durante o Sprint Duração

30 a 60 minutos Participantes

Product Owner, Scrum Master e os membros do time Esta reunião pode ser feita à frente de um

quadro branco onde membro cola post its dizendo o que funcionou e o que não funcionou

Feita após cada Sprint

Page 61: Curso Scrum

RetrospectivaExemplo

O que Funcionou O que não funcionou

Testes Comunicação entre os membros

Usuário

Distante

Reuniões

Diárias

Alguns membros chegam tarde

Faltou melhor

planejamento do Sprint

Page 62: Curso Scrum

Quatro KanBan

Page 63: Curso Scrum

Product Backlog

Sprint Backlog

Burndown Chart

Artefatos do Scrum

Page 64: Curso Scrum

Burndown Chart

Page 65: Curso Scrum

eXtreme Programming (XP)

Principais práticas Programação em Par Integração Contínua Test Driven Development Refatoração Contínua Iterações de uma semana

Page 66: Curso Scrum

Paradigmas a serem quebrados

Equipes auto-gerenciáveisEquipes multi-disciplinaresAté onde a documentação é último

Comunicação Referência

Desenvolvimento por iteraçõesZonas de conforto

Page 67: Curso Scrum

Hotel McTreffe Nome do Hotel: Rede de Hotéis

McTreffeEndereço:

Rua 30 de Fevereiro, S/N – Bairro Canela Seca – Fortaleza-Ceará – Brasil

Instalações▪ Quarto equipado com moderno sistema de

ventilação natural; ▪ Cama de solteiro (traga o colchão); ▪ Direito a cafezinho da manhã (só o café); ▪ Avançada TV de 7” equipada com antena UHF/VHF▪ Banheiro com balde de 10 litros para um belo

banho morno▪ Internet 56kb 2horas por dia (obs: Link compatilhado com

todo o hotel)

Page 68: Curso Scrum

Hotel McTraffe

Principais Atrações▪ Mergulho na lagoa de Messejana

▪ Valor(R$ 1500,00) por 30min

▪ Passeio turístico pela região central do Lagamar▪ Valor(R$ 500,00) por 1h

▪ Explorar o túnel do Metrofor por 1 dia ▪ Valor: 1 kg de cimento não pereível + R$ 5000,00 para

ajudar na construção

▪ Banho de Mar na Praia da Leste-Oeste com direito a pomada pra micose▪ Valor: R$ 200,00

Obs: Translado gratuito para todos as atrações disponíveis

Page 69: Curso Scrum

Projeto McTraffe

Desenvolver uma logomarca para o Hotel Criar um slogan que represente a

qualidade do hotel Criar um folder que contenha endereço,

logomarca, slogan, instalações, principais atrações

Criar um Jingle para divulgar o Hotel nas rádios

Criar um panfleto resumindo as principais características do Hotel

Elaborar uma folha de sugestões/críticas

Page 70: Curso Scrum

Referências

www.mountaingoatsoftware.com/scrum www.scrumalliance.org www.controlchaos.com [email protected] 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

SchwaberScrum and XP from the trenches

Page 71: Curso Scrum

OBRIGADO!