O documento descreve os principais conceitos da metodologia Scrum para gestão de projetos ágeis. Em 3 frases ou menos, Scrum é uma estratégia iterativa e incremental que organiza o trabalho em sprints curtos com reuniões diárias para acompanhamento do progresso e entrega contínua de valor ao cliente.
1. Gestão de Projetos Ágeis
Scrum
ETEC - Guaianases
Lazaro Fernandes Lima
São Paulo, agosto de 2010
2. O que tem nessa
palestra?
AGENDA
o Como as coisas realmente funcionam em projetos
o Os principais problemas enfrentados nas
metodologias convencionais
o O que é SCRUM
o Como SCRUM funciona
o Organizando um projeto
3. Metodologia
“Teoria dos procedimentos de ensino, geral ou
particular para cada disciplina; didática teórica.”
Dicionário Michaelis
4. Uma breve história
o Projetos de software nos dias de hoje
Como as coisas
realmente funcionam...
19. O Manifesto Ágil
• Fevereiro de 2001
• 17 pessoas da área de desenvolvimento de software se
reuniram e formaram a Agile Alliance.
Kent Beck Martin Fowler Brian Marick
Mike Beedle James Grenning Robert C. Martin
Arie van Bennekum Jim Highsmith Steve Mellor
Alistair Cockburn Andrew Hunt Ken Schwaber
Ward Cunningham Ron Jeffries Jeff Sutherland
Jon Kern Dave Thomas
• Buscavam uma alternativa à processos heavyweight de
desenvolvimento do software.
20. Valores da Agile Alliance
• Indivíduos e Interações mais que processos e
ferramentas.
• Software operante mais que documentações completas.
• Colaboração do cliente mais que negociações
contratuais.
• Responder às mudanças mais que seguir um
planejamento.
21. Então o que é Scrum?
• Definição informal:
• Estratégia em um jogo de rugby onde jogadores
colocam uma bola quase perdida novamente em
jogo através de trabalho em equipe.
Definição informal:
Estratégia em um jogo de rugby onde jogadores colocam
uma bola quase perdida novamente em jogo através de
trabalho em equipe.
22. Definição
Scrum é um processo para projeto e desenvolvimento
de software orientado a objeto, focado nas pessoas
e indicado para ambientes em que os requisitos
surgem e mudam rapidamente.
~Ken Schwaber
23. Fundamentos de Scrum
• Desenvolvimento de software depende muito
de criatividade e de trabalho
• Logo, não é um bom candidato a processos
pré-definidos
▫ Modelo de controle de processo empírico
• O desenvolvimento nem sempre será
repetitivo e bem definido
• Mas existem padrões que podem ser usados
24. Ênfases
• Comunicação
• Trabalho em equipe
• Flexibilidade
• Fornecer software funcionando
▫ Incremental
• E principalmente…
27. Product Owner
• Define a visão do produto
• É o representante dos clientes
• Entende do negócio
• Define o objetivo do Sprint
• Elege prioridades de negócio
• Gerencia o Backlog
28. Scrum Master
• Faz com que a equipe viva os valores e
práticas de Scrum
• Protege a equipe de:
▫ Riscos e interferências externos
▫ Excesso de otimismo
• Resolve os problemas que aparecerem
▫ logísticos
▫ de conhecimento/habilidade
• Mantém o Backlog do Sprint
▫ Tarefas completadas
▫ Identifica eventuais problemas
• Mantém um gráfico de “quanto falta”
29. Equipe
• Sem nível hierárquico nem papéis
▫ Mas com várias especialidades
• Estão todos no mesmo barco (comprometimento)
• Geralmente equipes pequenas (até 10)
▫ Existem casos com equipes maiores (800!)
• Responsáveis pela entrega
• Auto-organizada e auto-gerenciada
34. Planejamento
• Reunião de Estimativa
▫ Entrada: Backlog do Produto priorizado
▫ Saída: Itens relevantes do Backlog do Produto estimados
▫ Participantes: Equipe e ScrumMaster
• Sprint Planning I
▫ Entrada: Backlog priorizado e estimado
▫ Saída:
Objetivo do Sprint
Sprint Backlog
▫ Participantes: Todos
37. Planejamento
• Reunião de Estimativa
▫ Entrada: Backlog do Produto priorizado
▫ Saída: Itens relevantes do Backlog do Produto estimados
▫ Participantes: Equipe e ScrumMaster
• Sprint Planning II
▫ Entrada: Backlog Selecionados
▫ Saída:
Comprometimento com o objetivo do Sprint
Itens quebrados em tarefas (sprint backlog)
▫ Participantes:
Todos
38. Artefatos do Scrum:
Sprint Backlog
• Lista de tarefas que define o trabalho do time durante o
Sprint
• Cada tarefa identifica o responsável que irá trabalhar sobre
ela e o restante do tempo estimado para terminá-la em dias
• Tarefas devem estar organizadas para que estejam em 4 a 16
horas de trabalho
• Tarefas maiores são consideradas placeholders
▫ Substituições de tarefas que não foram propriamente
definidas
• Apenas o time pode modificá-lo
• É como uma fotografia do trabalho do Sprint
41. Sprint
• Sprint = Iteração
• Tamanho fixo
▫ Recomendação:
De 2 a 4 semanas
• Durante o Sprint:
▫ Daily Scrum (Stand-Up Meeting)
42. Daily Scrum
• Pequenos encontros diários
da equipe
▫ geralmente pela manhã
▫ galinhas e porcos (só os
porcos falam)
▫ todos os porcos devem
participar
• Questões que aparecem
devem ser resolvidas após a
reunião
• Tempo fixo: 15 minutos
43. Daily Scrum
Todos respondem a 3 questões
1
O quê você fez ontem?
O quê você vai fazer hoje?
2
Quais os problemas encontrados?
3
• Este não é um status para o ScrumMaster
▫ Todos estão comprometidos
44. Daily Scrum
Local do Encontro
• Sempre o mesmo local e • Todos devem participar
hora • Galinhas ficam na periferia
• Pode ser o local de • Ficar em pé ajuda a
desenvolvimento terminar rápido
• Sala bem equipada, quadro • Punições (atrasos/faltas)
branco, etc.
• A sala já deve estar
arrumada antes
48. Planned In Progress Done
Desenvolver a P 0
funcionalidade de
E 34
venda de produto.
Emissão de nota P 1
fiscal
E 21 Considerando a capacidade
máxima de trabalho
simultâneo da equipe como
Login do sistema P 2
-Nome do usuário
-Senha de acesso
E 13 60
-Ano de
nascimento
Guardar carrinho P 3
de compras entre
E 21
as visitas do
usuário.
Premitir que o P 5
usuário salve suas
preferências como E 13
cores da página e
posicionamento de
menu.
Emitir relatório P 8
consolidado de
E 21
vendas
49. Planned In Progress Done
Desenvolver a P 0
funcionalidade de
E 34
venda de produto.
Emissão de nota
fiscal
Desenvolver a
P 1
E 21
P 0
funcionalidade
E 34
Login do sistema P 2
de venda de
-Nome do usuário
E 13
-Senha de acesso
-Ano de
nascimento
Guardar carrinho
de compras entre
as visitas do
P 3
E 21 produto.
usuário.
Premitir que o P 5
usuário salve suas
preferências como E 13
cores da página e
posicionamento de
menu.
Emitir relatório P 8
consolidado de
E 21
vendas
50. Planned In Progress Done
Desenvolver a P 0
funcionalidade de
E 34
venda de produto.
Emissão de nota P 1
fiscal
E 21
Login do sistema P 2
-Nome do usuário
E 13
-Senha de acesso
-Ano de
nascimento
Guardar carrinho P 3
de compras entre
E 21
as visitas do
usuário.
Premitir que o P 5
usuário salve suas
preferências como E 13
cores da página e
posicionamento de
menu.
Emitir relatório P 8
consolidado de
E 21
vendas
51. Planned In Progress Done
Desenvolver a P 0
funcionalidade de
E 34
venda de produto.
Emissão de nota P 1
fiscal
E
21
P 1
Login do sistema P 2
Emissão da nota
-Nome do usuário
E 13
-Senha de acesso
-Ano de
nascimento
fiscal
Guardar carrinho P 3
de compras entre
E 21
E 21
as visitas do
usuário.
Premitir que o P 5
usuário salve suas
preferências como E 13
cores da página e
posicionamento de
menu.
Emitir relatório P 8
consolidado de
E 21
vendas
52. Planned In Progress Done
Desenvolver a P 0
funcionalidade de
E 34
venda de produto.
Emissão de nota P 1
fiscal
E 21
Login do sistema P 2
-Nome do usuário
E 13
-Senha de acesso
-Ano de
nascimento
Guardar carrinho P 3
de compras entre
E 21
as visitas do
usuário.
Não é possível adicionarmos
Premitir que o P 5 mais estórias até acabarmos
usuário salve suas
preferências como E 13 uma dessas duas.
cores da página e
posicionamento de
menu.
Emitir relatório P 8
consolidado de
E 21
vendas
53. Planned In Progress Done
Desenvolver a P 0
funcionalidade de
E 34
venda de produto.
Emissão de nota P 1
fiscal
E
21
P 1
Login do sistema P 2
Emissão da nota
-Nome do usuário
E 13
-Senha de acesso
-Ano de
nascimento
fiscal
Guardar carrinho P 3
de compras entre
E 21
E 21
as visitas do
usuário.
Premitir que o P 5
usuário salve suas
preferências como E 13
cores da página e
posicionamento de
menu.
Emitir relatório P 8
consolidado de
E 21
vendas
54. Planned In Progress Done
Desenvolver a P 0
funcionalidade de
E 34
venda de produto.
Emissão de nota P 1
fiscal
E 21
Login do sistema P 2
-Nome do usuário
E 13
-Senha de acesso
-Ano de
nascimento
Guardar carrinho P 3
de compras entre
E 21
as visitas do
usuário.
A primeira ainda não acabou
mas já temos liberação de
Premitir que o P 5
usuário salve suas
E 13
pessoas do time para mais
preferências como
cores da página e
posicionamento de
uma tarefa.
menu.
Emitir relatório P 8
consolidado de
E 21
vendas
55. Planned In Progress Done
Desenvolver a P 0
funcionalidade de
E 34
venda de produto.
Emissão de nota P 1
fiscal
Login do sistema P 2 E 21
-Nome do usuário
E 13
-Senha de acesso
-Ano de
nascimento
Guardar carrinho P 3
de compras entre
E 21
as visitas do
usuário.
Essa dinâmica continua até
Premitir que o P 5 acabarmos com todas as
usuário salve suas
preferências como E 13 tarefas.
cores da página e
posicionamento de
menu.
Emitir relatório P 8
consolidado de
E 21
vendas
56. Planned In Progress Done
Desenvolver a P 0
funcionalidade de
E 34
venda de produto.
Emissão de nota P 1
fiscal
Login do sistema P 2 E 21
-Nome do usuário
E 13
-Senha de acesso
-Ano de
nascimento
Guardar carrinho P 3
de compras entre
E 21
as visitas do
usuário.
Premitir que o P 5
usuário salve suas
preferências como E 13
cores da página e
posicionamento de
menu.
Emitir relatório P 8
consolidado de
E 21
vendas
57. Planned In Progress Done
Desenvolver a P 0
funcionalidade de
E 34
venda de produto.
Emissão de nota P 1
fiscal
Login do sistema P 2 E 21
-Nome do usuário
E 13
-Senha de acesso
-Ano de
nascimento
Guardar carrinho P 3
de compras entre
E 21
as visitas do
usuário.
Premitir que o P 5
usuário salve suas
preferências como E 13
cores da página e
posicionamento de
menu.
Emitir relatório P 8
consolidado de
E 21
vendas
58. Planned In Progress Done
Desenvolver a P 0
funcionalidade de
E 34
venda de produto.
Emissão de nota P 1
fiscal
E 21
Login do sistema P 2
-Nome do usuário
Guardar carrinho P 3 E 13
-Senha de acesso
de compras entre
E 21 -Ano de
as visitas do
nascimento
usuário.
Premitir que o P 5
usuário salve suas
preferências como E 13
cores da página e
posicionamento de
menu.
Emitir relatório P 8
consolidado de
E 21
vendas
59. Planned In Progress Done
Desenvolver a P 0
funcionalidade de
E 34
venda de produto.
Emissão de nota P 1
fiscal
E 21
Login do sistema P 2
-Nome do usuário
Guardar carrinho P 3 E 13
-Senha de acesso
de compras entre
E 21 -Ano de
as visitas do
nascimento
usuário.
Premitir que o P 5
usuário salve suas
preferências como E 13
cores da página e
posicionamento de
menu.
Emitir relatório P 8
consolidado de
E 21
vendas
60. Planned In Progress Done
Desenvolver a P 0
funcionalidade de
E 34
venda de produto.
Emissão de nota P 1
fiscal
E 21
Login do sistema P 2
-Nome do usuário
Guardar carrinho P 3 E 13
-Senha de acesso
de compras entre
E 21 -Ano de
as visitas do
nascimento
usuário.
Premitir que o P 5
usuário salve suas
preferências como E 13
cores da página e
posicionamento de
menu.
Emitir relatório P 8
consolidado de
E 21
vendas
61. Planned In Progress Done
Desenvolver a P 0
funcionalidade de
E 34
venda de produto.
Emissão de nota P 1
fiscal
E 21
Login do sistema P 2
-Nome do usuário
E 13
-Senha de acesso
-Ano de
nascimento
Premitir que o P 5
usuário salve suas
preferências como E 13
cores da página e
posicionamento de
menu.
Guardar carrinho P 3
de compras entre
E 21
as visitas do
usuário.
Emitir relatório P 8
consolidado de
E 21
vendas
62. Planned In Progress Done
Desenvolver a P 0
funcionalidade de
E 34
venda de produto.
Emissão de nota P 1
fiscal
E 21
Login do sistema P 2
-Nome do usuário
Sprint concluída -Senha de acesso
E 13
-Ano de
nascimento
Premitir que o P 5
usuário salve suas
preferências como E 13
cores da página e
posicionamento de
menu.
Guardar carrinho P 3
de compras entre
E 21
as visitas do
usuário.
Emitir relatório P 8
consolidado de
E 21
vendas
65. Artefatos do Scrum:
Gráfico de Burndown
• Representa o trabalho total
restante dentro de um Sprint, de
um release ou produto
• A origem dos dados para criar
este gráfico é o Sprint Backlog ou
o Product Backlog
• ScrumMaster atualiza o grafico
de “quanto falta”
69. Sprint Review
• Reunião onde o Product Owner:
▫ Valida os itens entregues
▫ Verifica se o objetivo do Sprint foi atingido
• Na forma de demonstração ou apresentação
• Momento para celebrar o sucesso
71. Retrospectiva
• Momento para reflexão e aprendizado
• Gera discussões para alimentar o próximo Sprint
• Quem está no controle?
▫ Equipe: Backlog
▫ Instituição: Backlog de Impedimentos
73. Sprint de Entrega
• Não faz parte do Scrum padrão, mas é bem usado na
prática
• Um último Sprint para “fechar” o produto
• O objetivo é:
▫ Preparar a versão de produção
▫ O foco é a eliminação TOTAL de erros
74. Dez razões para você pensar que esta
praticando Scrum, mas não está!
1. Você cria um plano de projeto longo com muitas
iterações, planeja o que elas vão ter e como vão ficar
pensando em forçar a entrega disso.
2. O ScrumMaster é quem direciona o trabalho do Time.
3. Você precisa sentar para fazer reunião diária porque ela é
sempre maior que 15 min.
4. Membros do time tem seus salários atrelados ao
resultado de uma Reunião Diária do Scrum.
5. Product Owner tem sido deixado sem notícias ou fora das
decisões.
75. Dez razões para você pensar que esta
praticando Scrum, mas não está!
6. A equipe faz todo o trabalho via MSN e e-mail.
7. A equipe gasta boa parte de seu tempo documentando.
8. Membros do time são < 75% no projeto
9. Sprint Review tem somente análises, design ou “o que nós
estamos planejando entregar”
10. Você não está produzindo um código melhor, mais rápido
e com desenvolvedores e clientes felizes.
77. Referências
ADVANCED DEVELOPMENT METHODS Inc. Controlled Chaos : Living on the Edge. 1996. Disponível em: <
http://www.controlchaos.com/download/Living%20on%20the%20Edge.pdf >. Acesso em 18 out. 2008.
ADVANCED DEVELOPMENT METHODS Inc. SCRUM Software Development Process - Building The Best
Possible Software. 1995. Disponível em: < http://www.controlchaos.com/download/Controlled-
Chaos%20Software%20Development.pdf >. Acesso em 18 out. 2008.
SCHWABER, Ken. Agile Project Management with Scrum. Redmond: Microsoft Press, 2004.
COHN, Mike. Agile Estimating and Planning. Prentice Hall PTR, 2005
RISING, Linda; JANOFF, Norman. The Scrum Software Development Process for Small Teams. IEEE
Software, July/August 2001.
Agille Alliance: www.agilealliance.org
Scrum Alliance: www.scrumalliance.org
Mountain Goat Software: www.mountaingoatsoftware.com
Site do Ken Schwaber: www.controlchaos.com