régis simão e ciro coelho 1/45 scrum scrum introdução

42
Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Upload: internet

Post on 16-Apr-2015

121 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 1/45

SCRUM

ScrumIntrodução

Page 2: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 2/45

SCRUM

Nós estamos perdendo a corrida de revezamento

Hirotaka Takeuchi e Ikujiro Nonaka, “The New New Product Development Game”, Harvard Business Review, Janeiro 1986.

“A… abordagem ‘’corrida de revezamento” para o desenvolvimento de produtos…pode conflitar com os objetivos de máximas velocidade e flexibilidade. Por outro lado, uma abordagem holística ou ‘de rugby’ —onde um time tenta vencer a distância como uma unidade, passando a bola para frente e para trás — pode suprir melhor os requisitos atuais de competitividade.”

Page 3: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 3/45

SCRUM

•Scrum é um processo ágil que nos permite focar em entregar o maior valor de negócio no menos tempo possível.

•Ele nos permite inspecionar o produto funcionando de forma rápida e constante (a cada duas semanas ou um mês).

•O negócio determina as prioridades. Os times se auto gerenciam para determinar a melhor forma de entregar as funcionalidades mais prioritárias.

•A cada duas semanas ou um mês, todos podem ver um software que realmente funciona e decidir liberá-lo como está ou continuar a melhorá-lo por mais um sprint.

Scrum em 100 palavras

Page 4: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 4/45

SCRUM

As origens do Scrum

Jeff Sutherland

• Início do Scrum na Easel Corp em 1993

• Mais de 500 pessoas utilizando Scrum

Ken Schwaber

• Apresentou, em conjunto com Sutherland, Scrum na conferência OOPSLA 96

• Autor de 3 livros sobre Scrum

Mike Beedle

• Publicou padrões de Scrum na conferência PLOPD4

Ken Schwaber and Mike Cohn

• Fundaram a Scrum Alliance em 2002, inicialmente com parte da Agile Alliance

Page 5: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 5/45

SCRUM

Scrum tem sido utilizado por:

•Microsoft•Yahoo•Google•Electronic Arts•High Moon Studios•Lockheed Martin•Philips•Siemens•Nokia•Capital One•BBC

•Intuit•Nielsen Media•First American Real Estate•BMC Software•Ipswitch•John Deere•Lexis Nexis•Sabre•Salesforce.com•Time Warner•Turner Broadcasting•Oce

Page 6: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 6/45

SCRUM

Scrum tem sido utilizado para:

• Softwares comerciais

• Desenvolvimentos internos

• Desenvolvimento sob contrato

• Projetos de preço fixo

• Aplicações financeiras

• Aplicações certificadas ISO 9001

• Sistemas embarcados

• Sistemas 24x7 com disponibilidade de 99.999%

•Desenvolvimento de jogos

•Sistemas “life-critical” aprovados pela FDA

•Softwares de controle de satélites

•Websites

•Softwares para palms e celulares

•Aplicações de gerenciamento de rede

•Etc, etc, etc.

Page 7: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 7/45

SCRUM

Características

• Times auto-gerenciáveis

• O progresso do produto acontece em uma série de “sprints” de um

mês de duração

• Requisitos são capturados com itens de uma lista chamada “product backlog”

• Nenhuma prática de engenharia específica é prescrita

• Utiliza regras genéricas para criar um ambiente ágil para o desenvolvimento de projetos

• Um dos “processos ágeis”

Page 8: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 8/45

SCRUM

Nível de “ruído” do projeto

Simples

ComplexoAnarquia

Complicado

Tecnologia

Req

uis

itos

Instáveis

Estáveis

Bem

co

nheci

da

Pou

co

conheci

da

Fonte: Strategic Management and Organizational Dynamics por Ralph Stacey em Agile Software Development with Scrum por Ken Schwaber e Mike Beedle.

Page 9: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 9/45

SCRUM

Scrum

CancelarEmpacotar

Devolver

Sprint2-4 semanas

Devolver

Sprint goal

Sprint backlog

Incremento do produto com potencial

para implantação

Productbacklog

CuponsEmpacotarCupons

Cancelar

24 horas

Page 10: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 10/45

SCRUM

Putting it all together

Imagem disponível www.mountaingoatsoftware.com/scru

m

Page 11: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 11/45

SCRUM

Sprints

• Projetos Scrum projects progridem em uma sucessão de “sprints”

• Análogo às iterações de Extreme Programming

• Duração típica de 2 a 4 semanas ou 1 mês

• Uma duração constante proporciona um melhor ritmo

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

Page 12: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 12/45

SCRUM

Desenvolvimento sequencial vs. paralelo

Fonte: “The New New Product Development Game” por Takeuchi e Nonaka. Harvard Business Review, Janeiro 1986.

Ao invés de fazer uma coisa de cada vez...

...equipes Scrum fazem um pouco de cada coisa todo tempo

Requisitos Projeto Codificação Teste

Page 13: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 13/45

SCRUM

Nenhuma mudança é permitida durante o sprint

A duração dos sprints é planejada de acordo com o tempo em que é possível se comprometer a manter as mudanças fora do sprint

Mudança

Page 14: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 14/45

SCRUM

Scrum framework

•Product owner•ScrumMaster•Time

Papéis

•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting

Burocracias

•Product backlog•Sprint backlog•Gráfico de Burndown

Artefatos

Page 15: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 15/45

SCRUM

Scrum framework

•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting

Burocracias

•Product backlog•Sprint backlog•Gráfico de Burndown

Artefatos

•Product owner•ScrumMaster•Time

Papéis

Page 16: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 16/45

SCRUM

Papéis: Pigs x Chickens

Page 17: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 17/45

SCRUM

Product owner

• Define as funcionalidades do produto

• Decide a data e o conteúdo da entrega

• É responsável pelo retorno do investimento (ROI)

• Prioriza funcionalidades de acordo com o valor de negócio

• Tira dúvidas da equipe durante os Sprints

• Ajusta funcionalidades e prioridades a cada iteração, quando necessário 

• Aceita ou rejeita os resultados do trabalho

Page 18: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 18/45

SCRUM

ScrumMaster

• Cuida da gestão do projeto

• Responsável por garantir o uso dos princípios e práticas do Scrum

• Remove impedimentos

• Garante a produtividade do time

• Garante a cooperação entre todos os papéis e funções

• Protege o time de interferências externas

Page 19: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 19/45

SCRUM

Time• Tipicamente de 5 a 9 pessoas

• Multi-disciplinar:

• Programadores, testadores, designers, etc.

• Membros devem ter dedicação full-time

• Pode haver exceçõe (ex: DBA)

• Times são auto-gerenciáveis

• Idealmente sem hierarquias, mas nem sempre é possível

• Membros só podem mudar entre sprints

Page 20: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 20/45

SCRUM

•Product owner•ScrumMaster•Time

PapéisScrum framework

•Product backlog•Sprint backlog• Gráfico de Burndown

Artefatos

•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting

Burocracias

Page 21: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 21/45

SCRUM

Sprint planning meeting

Priorização

• Analisar e avaliar o product backlog

• Escolher o objetivo do sprint

Planejamento

• Decidir como alcançar o objetivo do sprint (design)

• Criar o sprint backlog (tarefas) a partir dos itens do product backlog (funcionalidades)

• Estimar o sprint backlog em horas

Objetivo do

Sprint

Objetivo do

Sprint

SprintbacklogSprint

backlog

Condições de

negócio

Condições de

negócio

Capacidade do time

Capacidade do time

Product backlogProduct backlog

Tecnologia

Tecnologia

Produto atual

Produto atual

Page 22: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 22/45

SCRUM

Planejamento do Sprint

• O time seleciona os itens do Product Backlog que eles podem se comprometer a completar no tempo do Sprint

• O Sprint Backlog é criado

• Tarefas são identificadas e cada uma delas é estimada (1-16 horas)

• Feito de forma colaborativa e não apenas pelo ScrumMaster

• Projeto de alto-nível é considerado

Como turista, eu quero ver fotos dos hotéis.

Como turista, eu quero ver fotos dos hotéis.

Codificar a camada do meio (8 horas)Codificar a interface com o usuário (4)Escrever classes de teste (4)Codificar a classe X (6)Atualizar testes de performance (4)

Page 23: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 23/45

SCRUM

Daily Scrum MeetingParâmetros

• Diária

• 15 minutos

• Em pé (Stand-up Meeting)

Não objetiva a resolução de problemas

• Todo mundo é convidado

• Apenas os membros do Time, o ScrumMaster e o Product Owner podem falar

Ajuda a evitar reuniões desnecessárias

Page 24: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 24/45

SCRUM

Cada pessoa responde três perguntas

Não é comunicação de status para o ScrumMaster• É um compromisso assumido perante a equipe

O que você fez ontem?O que você fez ontem?11

O que você vai fazer hoje?O que você vai fazer hoje?22

Algo está te impedindo?Algo está te impedindo?33

Page 25: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 25/45

SCRUM

Sprint Review

O Time apresenta o que foi realizado ao longo do Sprint

Normalmente na forma de uma demonstração das novas funcionalidades e da arquitetura relacionada

Informal

• Regra das 2 horas de preparação

• Sem slides

Todos participam

Convide o mundo todo

Page 26: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 26/45

SCRUM

Sprint retrospectiveVerificar periodicamente o que está e o que não está funcionando

Normalmente de 15 a 30 minutos

Realizado após cada sprint

Todo a equipe participa

• ScrumMaster

• Product owner

• Time

• Possivelmente clientes e outras pessoas

Page 27: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 27/45

SCRUM

Começar / Parar / Continuar

Todo o time lista e discute o que eles gostariam de:

Começar a fazer

Começar a fazer

Parar de fazerParar de fazer

Continuar fazendo

Continuar fazendo

Esta é apenas uma das

muitas formas de fazer uma

Sprint Retrospective.

Page 28: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 28/45

SCRUM

•Product owner•ScrumMaster•Time

Papéis Scrum framework

•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting

Burocracias

•Product backlog•Sprint backlog•Gráfico de Burndown

Artefatos

Page 29: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 29/45

SCRUM

Product backlog

Os requisitos

Uma lista de todo trabalho desejado no projeto

Idealmente expressado de forma que os itens tenham valor para os usuários e clientes do produto

Priorizado pelo Product Owner

Repriorizado no início de cada sprint

Estimado pela equipe com base em pontos (Story Points)

Esse é o Product Backlog

Esse é o Product Backlog

Page 30: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 30/45

SCRUM

Exemplo de Product Backlog

Item de Backlog Estimativa

Permitir a um hóspede fazer uma reserva. 3

Como hóspede, eu quero cancelar uma reserva. 5

Como hóspede, eu quero mudar as datas de uma reserva. 3

Como funcionário do hotel, eu quero gerar relatórios de bônus por quartos vagos

8

Melhorar tratamento de exceções 8

... 30

Page 31: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 31/45

SCRUM

Estimando itens do Product backlog – Planning Poker

Estimativa pela equipe – Com Planning Poker

ScrumMaster: Qual o tamanho desta funcionalidade?

Page 32: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 32/45

SCRUM

O Objetivo do SprintUma frase curta que determina o foco do trabalho durante o Sprint

Aplicação de BD

Serviços financeiros

Ciências naturais

Dar suporte a funcionalidades necessárias para estudos genéticos da população.

Dar suporte ao indicador ABC da empresa com dados em tempo real.

Fazer a aplicação rodar também em SQL Server, além de Oracle.

Page 33: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 33/45

SCRUM

Gerenciando o Sprint Backlog

• Os membros do Time se voluntariam para o trabalho escolhido por eles mesmos

• O trabalho nunca é atribuído

• O trabalho restante estimado é atualizado diariamente

• Qualquer membro do time pode adicionar, remover ou alterar itens do Sprint Backlog

• O trabalho para o Sprint surge naturalmente

• Se o trabalho a fazer não está claro, defina um item no Sprint Backlog com um tempo maior e quebre-o em vários itens mais tarde

• Atualize o trabalho restante à medida Update work remaining as more becomes known

Page 34: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 34/45

SCRUM

Exemplo de Sprint Backlog

TarefasTarefasCodificar GUI

Codificar camada central

Testar camada central

Escrever help online

Escrever classe X

SegSeg8

16

8

12

8

TerTer4

12

16

8

QuaQua QuiQui

4

11

8

4

SexSex

8

8

Adicionar log de erro

8

10

16

8

8

Page 35: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 35/45

SCRUM

Gráfico de Burndown de um Sprint

Hou

rs

Page 36: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 36/45

SCRUM

Hora

s

40

30

20

10

0Seg Ter Qua Qui Sex

TarefasTarefasCodificar GUICodificar camada centralTestar camada central

Escrever help online

SegSeg8

16

8

12

TerTer QuaQua QuiQui SexSex4

12

16

7

11

8

10

16 8

50

Page 37: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 37/45

SCRUM

Escalabilidade

Cada time, individualmente, tem 7 ± 2 pessoas

• A escalabilidade é realizada com times de times

Fatores que definem a necessidade de escalar

• Tipo de aplicação

• Tamanho do time

• Dispersão geográfica do time

• Duração do projeto

Scrum já foi utilizado em projetos com mais de 500 pessoas

Page 38: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 38/45

SCRUM

Escalando através de Scrum de scrums

Page 39: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 39/45

SCRUM

Scrum de scrums de scrums

Page 40: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 40/45

SCRUM

Exercício

Projeto: Webmail

Objetivo: Construir um webmail corporativo parecido com o GMail

1 pessoa atua como Product Owner 1 pessoa atua como ScrumMaster

1. Definir lista priorizada de funcionalidades (Product Backlog)

2. Estimar itens do Product Backlog utilizando o Planning Poker

3. Determinar o objetivo do Sprint 1 e escolher itens que entrarão no Sprint Backlog do Sprint 1 (assumindo produtividade de 20 Story Points por Sprint e Sprint de 2 semanas)

4. Criar lista de tarefas para Sprint, estimá-las e distribuir entre o Time

5. “Inventar” o status das tarefas no final de cada dia e criar o Gráfico de Burndown do Sprint 1

Page 41: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 41/45

SCRUM

Onde encontrar mais sobre Scrum

Agile and Iterative Development: A Manager’s Guide por Craig Larman

Agile Estimating and Planning por Mike Cohn

Agile Project Management with Scrum por Ken Schwaber

Agile Retrospectives por Esther Derby e Diana Larsen

Agile Software Development Ecosystems or Jim Highsmith

Agile Software Development with Scrum por Ken Schwaber e Mike Beedle

Scrum and The Enterprise por Ken Schwaber

User Stories Applied for Agile Software Development por Mike Cohn

www.mountaingoatsoftware.com/scrum

www.scrumalliance.org

www.controlchaos.com

[email protected]

Page 42: Régis Simão e Ciro Coelho 1/45 SCRUM Scrum Introdução

Régis Simão e Ciro Coelho 42/45

SCRUM

Nota de Copyright

Apresentação parcialmente baseada em:

Presentation by: Mike Cohnmike@mountaingoatsoftwar

e.comwww.mountaingoatsoftware.

com(720) 890-6110 (office)

Presentation by: Mike Cohnmike@mountaingoatsoftwar

e.comwww.mountaingoatsoftware.

com(720) 890-6110 (office)