O documento fornece uma introdução ao framework Scrum para gerenciamento de projetos de software. Resume os principais pontos como: (1) Scrum é um framework ágil e iterativo para desenvolvimento de software; (2) Inclui papéis como Product Owner, ScrumMaster e time; (3) Utiliza eventos como sprints, reuniões diárias e revisões; (4) Tem como objetivo entregar valor ao cliente de forma incremental.
5. Projetos de software
● "A experiência de décadas seguindo pesadas práticas
prescritivas tornou evidente que:
● Os detalhes são complexos para as pessoas.
● Os clientes ou usuários não tem certeza do que eles querem.
● Eles tem dificuldade de expressar tudo o que querem e pensam.
● Muitos detalhes do que eles querem só serão revelados durante o
desenvolvimento.
● Na medida em que elas vêem o produto sendo construído, elas
mudam de idéia.
● Forças externas (como um produto ou serviço da concorrência)
trazem mudanças ou melhorias nos requisitos."*
* Fonte: Agile and Iterative Development: A Manager's Guide - Craig Larman
7. Origem do Scrum
Jeff Sutherland, PhD
Desenvolvimento iterativo
e incremental
Ken Schwaber
SCRUM
8. O que é Scrum?
● Processo iterativo e incremental para
desenvolvimento de qualquer produto e
gerenciamento de qualquer trabalho
● Provê agilidade necessária para responder
rapidamente às mudanças de requisitos
● Processo ágil com foco na entrega do maior
valor para o negócio no menor tempo
● Não são prescritas práticas de engenharia
● É mais um framework que uma metodologia
11. Manifesto ágil
Indivíduos e suas sobre
Processos e
interações ferramentas
Software sobre
Documentação
funcionando abrangente
Colaboração do sobre
Negociação de
cliente contrato
Responder às sobre Seguir um plano
mudanças
Fonte: www.agilemanifesto.org
12. Características
Processos: Reunião de
planejamento, Retrospectiva,
Reunião diária, Planejamento
de Release e Sprints, ...
Ferramentas: Quadro
Kanban, Ferramentas, Post-it,
User Stories, Burndown...
Pessoas: ScrumMaster,
Product Owner, Time, ...
Cultura: Time multi-disciplinar,
Auto-gerenciamento, Valores,
Envolvimento do cliente,
Entrega frequente, Liderança-
colaboração, Respeito, ...
15. Product Owner
● Definir os requisitos do produto
● Gerenciar o retorno do investimento (ROI)
● Apresentar ao time os requisitos
● Priorizar os requisitos de acordo com o valor
para o negócio
● Planejar as entregas (releases)
● Garantir que os especialistas de domínio
estejam disponíveis para o time
17. ScrumMaster
● Responsável pelo gerenciamento do projeto
● Garantir o uso do Scrum
● Remover os impedimentos do time
● Habilitar a cooperação entre todos os papéis e
funções
● Funciona como um escudo para o time das
interferências externas
18. Team
● Geralmente entre 5-9 pessoas
● Multidisciplinares
● Auto-organizados
● Deveriam estar no projeto full time
● Mudanças no time somente entre as sprints
20. Sprints
● O progresso do projeto se dá em uma série de
“sprints”
● Duração de 2 a 4 semanas
● Duração constante: as funcionalidades é que
podem variar!
● Uma parte do produto é produzida (projetada,
codificada, testada, …)
● Parte do produto a ser produzida é priorizada
pelo negócio (ROI)
21. Cascata x Iterativo e Incremental
Requisitos Projeto Codifição Teste
Em vez de fazer tudo de
cada disciplina por vez...
...times Scrum fazem um
pouco de tudo todo tempo.
Fonte: “The New New Product Development Game” by Takeuchi
and Nonaka. Harvard Business Review, January 1986.
22. Cascata x Iterativo e Incremental
Desenvolvimento em Cascata
Riscos
Redução dos Riscos
Desenvolvimento Iterativo
Tempo
24. Meta da Sprint
● Frase curta que deve indicar qual o foco do
trabalho durante a sprint
● SMART - Specific, Measurable, Achievable,
Realistic, Timed
● Específico, Mensurável, Realizável, Realista e
Datado
28. Cancelando a sprint antes da sua
finalização...
● O time sente que não consegue atingir a meta
● O Product Owner percebe que fatores externos
influenciarão diretamente na meta da sprint
● Deve-se iniciar imediatamente o planejamento
da próxima sprint
30. Scrum
Sprint
2-4 semanas
Meta da Sprint
Reservas
Sprint
backlog
Alteração
Cancel
Product
backlog
31. Reunião de planejamento
● Dividida em 2 partes
● Priorização e estimativa do Product Backlog
● Identificação e estimativa das tarefas - Sprint
Backlog
● Geralmente tem a seguinte duração:
33. Velocidade
● Medida de produtividade do time
● Representa a taxa de trabalho que o time
conseguiu executar durante a sprint
● Serve de guia para o planejamento das sprints
e releases
34. Scrum
24 horas
Sprint
2-4 semanas
Meta da Sprint
Reservas
Sprint
backlog
Alteração
Cancel
Product
backlog
35. Reunião diária
1
O que você fez ontem?
2
O que irá fazer hoje?
3
Possui algum impedimento?
36. Scrum
24 horas
Sprint
2-4 semanas
Meta da Sprint
Reservas
Sprint
Incremento de produto
backlog potencialmente entregável
Alteração
Cancel
Product
backlog
37. Review
● O time apresenta o que foi trabalhado durante
a sprint
● Demo do produto
● Todos os envolvidos no projeto participam
39. Retrospectiva
● Todo o time discute sobre:
O que foi bom
O que deve ser
eliminado
Esta é apenas O que deve
uma das maneiras melhorar
de realizar a
retrospectiva.
40. Scrum
24 horas
Sprint
2-4 semanas
Meta da Sprint
Reservas
Sprint
Incremento de produto
backlog potencialmente entregável
Alteração
Cancel Disponíveis
Product
backlog
41. Scrum
24 horas
Sprint
2-4 semanas
Meta da Sprint
Reservas
Sprint
Incremento de produto
Cancel backlog potencialmente entregável
Disponíveis
Alteração
Product
backlog
42. Exemplo de Product backlog
Item de backlog Estimativa
Permitir ao cliente realizar reservas. 3
Permitir ao cliente cancelar suas reservas. 5
Permitir ao cliente alterar as datas da reserva. 3
Como funcionário do hotel, preciso saber os
quartos disponíveis. 8
Melhorar tratamento de exceções 8
... 30
... 50
43. Exemplo de Sprint backlog
Tarefas Seg Ter Qua Qui Sex
Codificar interface 8
Codificar camada de
integração 16
Testar a camada de
integração 8
Escrever o help online 12
Codificar classe Reserva 8
44. Exemplo de Sprint backlog
Tarefas Seg Ter Qua Qui Sex
Codificar interface 8 4
Codificar camada de
integração 16 12
Testar a camada de
integração 8 16
Escrever o help online 12
Codificar classe Reserva 8 8
Adicionar log de erros 8
45. Exemplo de Sprint backlog
Tarefas Seg Ter Qua Qui Sex
Codificar interface 8 4 8
Codificar camada de
integração 16 12 10 4
Testar a camada de
integração 8 16 16 11 8
Escrever o help online 12
Codificar classe Reserva 8 8 8 8 8
Adicionar log de erros 8 4
53. Material
● Parte do material utilizado foi baseado na
apresentação disponibilizada por Mike Cohn e
pode ser obtida no seguinte endereço:
http://www.mountaingoatsoftware.com/scrum-a-presentation
Mountain Goat Software,
LLC
54. Sala de Leitura
Scrum Alliance
http://www.scrumalliance.org/
Mountain Goat Software
http://www.mountaingoatsoftware.com/scrum/
Implementing Scrum
http://www.implementingscrum.com/
Scrum e XP direto das Trincheiras
http://www.infoq.com/br/minibooks/scrum-xp-from-the-trenches
http://www.infoq.com/minibooks/scrum-xp-from-the-trenches
Planning Poker
http://www.planningpoker.com/detail.html
Scrum na Globo.com: Derrubando mitos
http://www.slideshare.net/bardusco/scrum-na-globocom-derrubando-mitos-updated-presentation
http://blog.caelum.com.br/2008/12/03/falando-em-agile-2008-scrum-na-globocom-derrubando-mitos/
55. Livros
● Agile and Iterative Development: A Manager’s
Guide - Craig Larman
● Agile Project Management with Scrum - Ken
Schwaber
● Scrum and The Enterprise - Ken Schwaber
● Agile Retrospectives - Esther Derby e Diana
Larsen
● O coração da mudança - Kotter