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