Curso Scrum

Post on 17-Dec-2014

2.013 views 0 download

description

 

Transcript of Curso Scrum

Gerenciamento Ágil de Projetos com

SCRUM

Paulo Roberto Furtado Serra, CSM

2009

Tópicos

1. Introdução

2. Gerenciamento

de Projetos: Problemas

3. Metodologias Ágeis de

Desenvolvimento

4. SCRUM

Introdução

1. Introdução

2. Gerenciamento

de Projetos: Problemas

3. Metodologias Ágeis de

Desenvolvimento

4. SCRUM

Introdução

1. Apresentação do Instrutor

2. Objetivos do Curso

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

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

Tópicos

1. Introdução

2. Gerenciamento

de Projetos: Problemas

3. Metodologias Ágeis de

Desenvolvimento

4. 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

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

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;

Exemplos de Projeto

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

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!

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 !

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

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

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

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

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.

Comprometimento vs Envolvimento

O porco está COMPROMETIDO A galinha está apenas ENVOLVIDA

Vocês conhecem essa?

Continua fazendo sentido?

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

Tópicos

1. Introdução

2. Gerenciamento

de Projetos: Problemas

3. Metodologias Ágeis de

Desenvolvimento

4. SCRUM

O Manifesto Ágil

Premissas das Metodologias

Ágeis

Paradigmas

Metodologias Ágeis de

Desenvolvimento / Gerenciamento

Dinâmica 1 – Planejamento 10 minutos

50 50 50

8080

50

8080

80

50

80 50 50 50 50

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

Agile – Conceitos e Princípios

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

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

DesenvolvimentoDocumentação ÚtilSimplicidadeComunicação

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.”

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

Desenvolvimento Incremental e IterativoPor que mudar isso?

Requisitos

Especificação

Implementação

Homologação e Testes

Produção

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

Desenvolvimento Incremental e Iterativo

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

Quantas salas eu tenho Desmontadas ?

Quantas salas eu tenho montadas ?

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

Quantas salas eu tenho Desmontadas ?

Quantas salas eu tenho montadas ?

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;

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..

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

e outras ...

Tópicos

1. Introdução

2. Gerenciamento

de Projetos: Problemas

3. Metodologias Ágeis de

Desenvolvimento

4. SCRUM

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;

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

A Dinâmica do Scrum

SPRINT

Artefatos

Product Backlog

Sprint Backlog

Burndown Chart

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

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

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

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

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

Papéis no Scrum

Product Owner

Scrum Master

Equipe

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

$$$$$$$$

$$

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

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

Cerimônias

Planejamento do Sprint

Reunião Diária

Demonstração

Retrospectiva

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

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

Planejamento do SprintESTIMATIVAS em Story Points

Planning Poker

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

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

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

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

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

Quatro KanBan

Product Backlog

Sprint Backlog

Burndown Chart

Artefatos do Scrum

Burndown Chart

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

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

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)

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

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

Referências

www.mountaingoatsoftware.com/scrum www.scrumalliance.org www.controlchaos.com scrumdevelopment@yahoogroups.com Agile Software Development with Scrum

by Ken Schwaber and Mike Beedle Agile Project Management with Scrum by

Ken Schwaber Scrum and the Enterprise by Ken

SchwaberScrum and XP from the trenches

OBRIGADO!