O documento discute o framework ágil SCRUM para gestão de projetos de software. Ele explica que SCRUM é um processo iterativo e incremental que valoriza indivíduos, interação, software funcionando e colaboração com o cliente. Também descreve os papéis, cerimônias, artefatos e conceitos-chave de SCRUM como sprints, product backlog e daily scrum.
3. E do ponto de vista de TI…
O que é SCRUM?
“Um processo ágil de gestão, iterativo e incremental,
que pode ser aplicado ao desenvolvimento de qualquer
produto e/ou projeto… não somente de software”
• Indivíduos e interação entre eles mais que processos e
ferramentas
• Software em funcionamento mais que documentação
abrangente
• Colaboração com o cliente mais que negociação de
contatos
• Responder a mudanças mais que seguir
um plano
Lucas Gonçalves Nadalete
4. Ágil…Ágil…Ágil
• Como ser ágil?
– Para “ser ágil” é preciso colocar em prática os
valores e os princípios ágeis
• Quando utilizar os Métodos Ágeis?
– Os métodos ágeis ajudarão a melhorar os
resultados (ou sucesso) dos projetos de
desenvolvimento de software?
• Software = Escopo em
constante evolução
Lucas Gonçalves Nadalete
6. Características do SCRUM
• É um processo empírico de gerenciamento e
controle;
• Faz a inspeção e adaptação em loops de
feedback;
• Faz entrega de valor ao cliente em até 30 dias;
• “Escalável” para suportar grandes projetos;
• Compatível com CMM3 e ISO9001; e
• Extremamente simples, mas muito resistente
Lucas Gonçalves Nadalete
9. Papéis – Time SCRUM
• Product Owner (PO)
– Definir a visão do produto
– Elaborar e manter o Product
Backlog
– Definir a prioridade e ROI
– Representar o cliente
– Aceitar ou rejeitar os
entregáveis
Lucas Gonçalves Nadalete
10. Papéis – Time SCRUM
• Scrum Master
– Ser um líder (servidor)
– Remover impedimentos
– Proteger a equipe
– Ajudar o PO (Product Backlog)
– Ser o facilitador da equipe
– Garantir as práticas SCRUM
Lucas Gonçalves Nadalete
11. Papéis – Time SCRUM
• Equipe SCRUM
– Fazer estimativa
– Definir as tarefas
– Desenvolver o produto
– Garantir a qualidade do
produto
– Apresentar o produto ao cliente
• Auto-gerenciável e multifuncional
Lucas Gonçalves Nadalete
12. Papéis – Time SCRUM
• Equipe SCRUM
– O tamanho da equipe
segundo o SCRUM deve ser
entre 6 e 9 pessoas
– Entretanto é possível ter
equipes menores com até 4
pessoas
Lucas Gonçalves Nadalete
15. Cerimônias SCRUM
• Reunião de Planejamento da Sprint (8 horas)
– Participantes: PO, Equipe e o SCRUM Master
– Esta reunião é a primeira reunião, seu objetivo é
fazer o planejamento da Sprint:
• Parte 1 – PO define a prioridade, seleção dos itens do
Product Backlog e a meta da Sprint
• Parte 2 – A equipe define os itens do Sprint Backlog e
quais são as tarefas necessárias para cumprir a meta
Lucas Gonçalves Nadalete
16. Cerimônias SCRUM
• Reunião Diária (15 minutos)
– Participantes: Equipe e o SCRUM Master
– Esta reunião é realizada todos os dias da Sprint
em pé
– Tem como objetivo fazer com que cada integrante
da equipe SCRUM responda 3 perguntas:
• O que eu fiz ontem?
• O que irei fazer hoje?
• Encontrei algum impedimento
Lucas Gonçalves Nadalete
17. Cerimônias SCRUM
• Revisão da Sprint (4 horas)
– Participantes: Convidados, PO e Equipe e o
SCRUM Master
– Reunião que acontece no final de cada Sprint
– O objetivo da reunião é apresentar o que a equipe
fez durante a Sprint e fazer a entrega do produto
para o PO
– Normalmente é realizado em um auditório ou sala
de reunião
Lucas Gonçalves Nadalete
18. Cerimônias SCRUM
• Retrospectiva da Sprint (3 horas)
– Participantes: Equipe e o SCRUM Master
– Reunião que acontece logo após a revisão da
Sprint
– O objetivo dela é avaliar o que deu certo e o que
deu errado durante a Sprint e fazer os ajustes
possíveis para a próxima Sprint (ciclo de melhoria)
Lucas Gonçalves Nadalete
19. Artefatos SCRUM
• Product Backlog (PO)
– Lista de funcionalidades contendo todas as
funcionalidades desejadas para um produto
Lucas Gonçalves Nadalete
20. Artefatos SCRUM
• User Story (Estória do Usuário)
– É uma pequena descrição que detalha um item
do Product Backlog
– Para que serve?
• Ajuda no entendimento, e também é utilizada como
lembrete para as atividades de planejamento
• Possibilita também a equipe fazer a estimativa de
velocidade da equipe, usualmente estimada em
pontos (story points) ou horas/dias (dias ideais)
Lucas Gonçalves Nadalete
21. Artefatos SCRUM
• User Story (Estória do Usuário)
– Como escrever uma boa User Story?
• Conversa entre os desenvolvedores e os clientes/PO,
de modo a detalhar o item e esclarecer todas as
dúvidas sobre o que deve ser feito
– Falso Positivo
• Vamos estimar este item e depois confirmamos as
dúvidas pendentes revendo a pontuação! (Epic Story
são Epic Story, lembrem-se bem disso)
• Como estimar o que não se compreende?
Lucas Gonçalves Nadalete
23. Artefatos SCRUM
• Sprint Backlog
– É uma lista de tarefas que a equipe se
compromete a fazer durante a Sprint
– Normalmente é elaborada na segunda parte da
reunião de planejamento da Sprint
• Para que isso ocorra é preciso estimar o
esforço de cada User Story descrita
primeiramente!
–Planning Poker
Lucas Gonçalves Nadalete
24. Artefatos SCRUM
• Sprint Backlog
– Planning Poker
• É a prática que ajuda na estimativa de uma
estória ou tarefa
• Geralmente a dinâmica utiliza uma escala de
pontos não linear, que pode ser baseada no
Fibonacci: 1, 2, 3, 5, 8, 13… +20, 40, 100 (ou
outra escala)
• Identificar a estória usada como ponto de
referência (menor esforço atribuído)
Lucas Gonçalves Nadalete
26. Artefatos SCRUM
• Sprint Backlog
– Para finalizar o Sprint Backlog, a equipe deverá
identificar e fazer as tarefas do Sprint Backlog
– Significa uma User Story em tarefas que farão
parte da visibilidade da equipe (transparência)
Lucas Gonçalves Nadalete
29. Artefatos SCRUM
• Definição de “Pronto” (DoD)
– Valor para o cliente é igual a software/produto
funcionando (valor agregado de fato)
– Por isso é importante na reunião de
planejamento alinhar tal “definição”
– Evitar problemas e frustrações nas reuniões de
revisão e retrospectiva da Sprint
Lucas Gonçalves Nadalete
30. Artefatos SCRUM
• Algumas definições de DoD
– Pronto para o desenvolvedor
• Encerrou a codificação…
– Pronto para o analista de teste
• Encerrou os testes e nenhum bug foi identificado…
– Pronto para o PO
• Quando foi entregue…
– Pronto para o cliente/usuário final
• Quanto o software funciona em ambiente de
produção…
– Evite a síndrome dos 90% prontos
Lucas Gonçalves Nadalete
31. Artefatos SCRUM
• Dicas para montar um bom Sprint Backlog
– Toda a equipe deve participar da elaboração do
Sprint Backlog
– Faça a definição do “Pronto” (DoD), ou seja, quando
o produto está pronto de fato
– Tente identificar todas as tarefas, lembre-se que
algumas tarefas são puramente técnicas (e.g.
Realização de Teste Unitário)
– Respeite o tempo para a realização desta cerimônia,
poir a reunião é um timebox
– Trabalhem com uma Sprint 0, para as atividades de
preparação do projeto
Lucas Gonçalves Nadalete
34. Sprint e TimeBox
• O que é um TimeBox?
– Um prazo ou tempo (meses/dias/horas) bem
definido e imutável
• O que é uma Sprint?
– É uma iteração (que pode ser parte de um Plano
de Release) que deve ser realizada entre 2 a 4
semanas
– Ao final deste período a equipe deve produzir
um entregável de valor para o cliente
Lucas Gonçalves Nadalete
36. SCRUM é a Bala de Prata?!
• SCRUM não é a solução completa para os
problemas de produtividade, complexidade,
custo, prazo e qualidade do processo de
desenvolvimento de software
• Adequar e usar o bom senso devem ser palavras
chaves no processo de melhoria
Lucas Gonçalves Nadalete
37. SCRUM pode ajudar…
• No desenvolvimento de software complexos onde os
requisitos mudam rapidamente e constantemente
• No gerenciamento e controle do trabalho desenvolvido
• Na preservação das práticas de engenharia de software
existentes e que já são consolidadas
• A tornar sua equipe auto-gerenciável e multifuncional
• A implementar o conceito iterativo e incremental
• A identificar a causa raíz de certos
problemas/impedimentos, removendo-os
• Aumento da produtividade
• Valorizar os indivíduos (as pessoas)
Lucas Gonçalves Nadalete