Skip to main content

Definição de Scrum

O que é Scrum

  • É um processo ágil que nos permite focar em entregar o maior valor de negócio no menor tempo.
  • Permite inspecionar software em funcionamento mais rapidamente e repetidamente (em intervalos de duas semanas a um mês).
  • O negócio define as prioridades. Times se auto organizam para determinar a melhor forma de entregar as features com mais alta prioridade.
  • Em intervalos de duas semanas a um mês, qualquer um pode ver software em funcionamento e decidir fazer o release dele da forma como está ou continuar a melhorá-lo para outra sprint.

Características

  • Times auto-organizados

Manifesto Ágil

  • Indivíduos e interações mais do que Processos e ferramentas
  • Software em funcionamento mais do que Documentação abrangente
  • Colaboração com cliente mais do que Negociação de contratos
  • Responder a mudanças mais do que Seguir um Plano

Componentes

  • Backlog - Funcionalidades esperadas do software
  • Sprint - Desenvolvimento do software, dura normalmente de uma semana à 4 semanas
  • Objetivo da sprint - O que deve ser feito em uma sprint
  • Incremento de produto - é o produto potencialmente entregável
  • Diário
    • Daily Scrum Meeting - Reunião de alinhamento

Papéis

Product Owner - PO
  • Define o que será feito na sprint, representa a ponte entre o cliente e o produto
  • Prioriza features de acordo com o seu valor de mercado
  • Aceita ou rejeito os resultados do trabalho
Scrum Master - SM
  • Representa o gereciamento para o projeto
  • Responsável por propagar as práticas do Scrum
  • Remove impedimentos
  • Garante que a equipe esteja totalmente funcionando e produtiva
  • Permite estreita cooperação entre os papéis e funções
Time Dev
  • Tipicamente de 5 a 9 pessoas
  • Múltiplas habilidades
  • Programadores, testadores, UX designers, etc.
  • Membros devem estar alocados full-time (geralmente)
  • Times auto-organizáveis
  • Composição do time só deve ser modificada entre sprints

Cerimônias (Eventos)

Planejamento da sprint 
  • Itens
    • Capacidade do Time
    • Backlog do produto
    • Condições do negócio
    • Produto atual
    • Tecnologia
  • Priorização da sprint
    • Avalia o product backlog e define o objetivo da sprint
  • Planning
    • Decide como atingir o objetivo
    • Criar o sprint backlog a partir do product backlog
  • Definição
    • Time seleciona itens com o qual podem se comprometer
    • É criado o sprint backlog
    • Design de alto nível é definido

Ex:
História: Eu como Viajante, quero ver fotos dos hotéis
Tarefas:

  • Codificar a camada intermediária
  • Codificar UI
  • Corrigir bugs existentes
Daily Scrum
  • Diário
  • 15 minutos
  • Todos em pé (para agilizar e ter a atenção dos participantes)
  • Não é para resolver problemas
  • Todos são convidados a participar
  • Somente Time Dev, Scrum Master, Product Owner podem se manifestar
  • Ajuda a evitar reuniões desnecessárias
  • Todos respondem 3 questões
    • O que você fez ontem?
    • O que vai fazer hoje?
    • Existe algo te atrapalhando?
  • Não é um status para o Scrum Master
    • São compromissos com os outros membros
Sprint Review
  • Time apresenta o que foi concluído durante a Sprint
  • Geralmente na forma de uma demonstração das novas funcionalidades ou arquitetura
  • Informal
    • 2 Horas
    • Sem slides
  • Todo o time participa
  • Todos são convidados
Sprint Retrospective
  • Periodicamente avaliar o que está e o que não está funcionando
  • Tipicamente de 15 a 30 minutos
  • Feito após cada sprint
  • Todos participam

Uma das técnicas de review é o: 

Começar / Parar / Continuar

  • Todo o time debate sobre o que eles gostariam de:
    • Começar a fazer
    • Parar de fazer
    • Continuar a fazer

Artefatos

Backlog do produto (Product Backlog)
  • Os requisitos
  • Lista com todo o trabalho desejado para o projeto
  • Priorizado pelo Product Owner
  • Repriorizado ao início de cada Sprint
  • Escrito de forma a específicar os requisitos
Objetivo da Sprint (Sprint Goal)
  • Uma declaração do foco do trabalho durante a sprint
  • Pode ser algo como um Épico (Tarefa geral ou módulo)
Sprint Backlog
  • Membros se comprometem com o trabalho escolhido por eles mesmos
    • Trabalho nunca é delegado por alguém
  • Estimativa de trabalho restante é atualizada diariamente
  • Qualquer membro do time pode adicionar, deletar ou modificar o Sprint Backlog
  • O trabalho da Sprint emerge
Gráfico de Sprint Burndown
  • É um gráfico que demonstra a quantidade de horas restantes em cada semana da sprint
  • À medida que o tempo passa, as horas diminuem
  • Importante para tomar decisões críticas para o andamento do projeto
Gráfico de Tarefas Cumpridas
  • É um gráfico que demonstra a quantidade de horas cumpridas, em tarefas
  • Útil para reconhecer gargalos no Time Dev

Escalabilidade

  • Tipicamente times de 7 +/- 2 pessoas
  • Fatores importantes ao escalar
    • Tipo de aplicação
    • Tamanho do time
    • Dispersão do time
    • Duração do projeto
  • Utilizando o Scrum of Scrums
    • Escala em equipes de scrums as equipes de scrums utilizando os representantes de cada time como um membro da equipe maior