O Sprint - Scrum
03/10/2013 - Escrito por: Felipe Mitamura Hatanaka
O Scrum é um framework que estrutura o desenvolvimento de um projeto em ciclos, estes são chamados de Sprint.
O Sprint é a unidade básica do Scrum, com duração tipicamente superior a uma semana e inferior a trinta dias. Eu aconselho a quem está iniciando no Scrum, a utilizar ciclos menores, pois fica mais fácil visualizar e arrumar falhas ou atrasos, que são comuns no início de qualquer nova atividade, ajudando assim, gerenciar e otimizar o processo.
Inicialmente deve-se criar uma lista de atividades chamada Sprint Backlog a partir do Product Backlog, que é, por sua vez,uma outra lista, esta formada pelos desejos do cliente, ou seja, é uma lista que contém todas as funcionalidades (requisitos funcionais) do produto final. As atividades do Sprint Backlog surgem a partir dos requisitos essenciais para produzir um produto parcial que funcione, estes requisitos são retirados do Product Backlog.E cada funcionalidade do Product Backlog possui uma prioridade, assim, pode-se saber qual intem é mais importante. A escolha dos requisitos é feita no Planejamento do Sprint, que ocorre pela primeira vez logo após concluído o Product Backlog e, sempre, antes de cada Sprint. Os itens selecionados do Product Backlog são divididos em atividades, a essa lista de atividades dá-se o nome de Sprint Backlog.
Os papéis principais do Scrum são o Product Owner (cria a visão do produto e prioridades), o Team (implementa o produto) e o Scrum Master (remove impedimentos e fornece liderança de processo) que estão detalhados no artigo Papéis do Scrum.
Participam da reunião de Planejamento do Sprint: o Product Owner (PO); o Scrum Master (SM) e a Equipe (Team).
Como podemos ver, o primeiro passo é justamente criar o Sprint Backlog. Depois é feito a arquitetura e o design de como as atividades podem ser implementadas, e então, podem ser distribuídas entre os membros da equipe pelo Scrum Master e juntos, SM e equipe, calculam quantas horas serão necessárias para cada atividade, geralmente de 1 a 16 horas. O planejamento do Sprint deve durar aproximadamente 4 horas.
A cada dia de um Sprint é feito uma reunião diária (Daily Scrum) para: relembrar das atividades a serem feitas; disseminar o conhecimento do que foi feito no dia anterior e identificar dificuldades que possam ter surgido. Caso seja identificada alguma dificuldade por algum dos membros da equipe, o Scrum Master fica responsável por resolvê-lo depois da reunião, pois esta reunião deve ser rápida, durando cerca de 15 minutos no máximo.
No final de cada Sprint devem-se fazer entregas de produtos (conjunto de requisitos funcionando e testados), para estimular o contato entre empresa e cliente. Estas entregas diminuem o retrabalho que teriamos em uma produção de software na qual o cliente vê somente o produto final e diminuem também a ansiedade do cliente. Desta forma você já começa a entregar valor. E devido a este fato de entrega de produtos parciais, dizemos que o Scrum é incremental.
Este produto funcional parcial é demostrado na Sprint Review Meeting e muitas vezes entregue ao cliente. Durante esta reunião o time mostra quais objetivos foram alcançados durante a Sprint, participam dela o Product Owner, Equipe de Desenvolvimento, Scrum Master, cliente e outros envolvidos no projeto. Após a Sprint Review Meeting, faz-se uma Sprint Retrospective para verificar o que funcionou bem, o que pode ser melhorado e inicia-se o planejamento do próximo Sprint.
O trabalho restante estimado no Sprint deve ser calculado diariamente e graficamente, o resultado dessa prática é um gráfico que mostra como está a execução das tarefas dentro de um Sprint, cujo nome é Sprint Burndown Chart. O eixo vertical representa as horas de esforço restante e o horizontal os dias do Sprint. O gráfico deve ser representado por uma linha que tem início no começo da Sprint com as horas iniciais, descendo até o final do Sprint, sem deixar sobrar horas. A velocidade é medida através da quantidade de horas que a equipe consegue executar por dia.