Scrum: A Metodologia Ágil Explicada de forma Definitiva
O que é Scrum Afinal?
Por mais que atualmente existam muitos materiais gratuitos na internet, e muitos livros escritos sobre assunto, eu ainda recebo muitas dúvidas básicas.
Por este motivo resolvi escrever este post para explicar de uma maneira definitiva e clara como esta metodologia ágil funciona.
Visão Geral da Metodologia Ágil Scrum
O Scrum não é um processo padronizado onde metodicamente você segue uma série de etapas sequenciais e que vão garantir que você produza, no prazo e no orçamento, um produto de alta qualidade e que encanta os seus clientes.
Em vez disso, o Scrum é um framework para organizar e gerenciar trabalhos complexos, tal como projetos de desenvolvimento de software.
Importante
O framework Scrum é um conjunto de valores, princípios e práticas que fornecem a base para que a sua organização adicione suas práticas particulares de engenharia e gestão e que sejam relevantes para a realidade da sua empresa. O resultado será uma versão de Scrum que é exclusivamente sua.
Para melhor entender este conceito, imagine que o framework seja como a fundação e as paredes de um edifício. Os valores do Scrum, princípios e práticas seriam os principais componentes estruturais. Você não pode ignorar ou mudar fundamentalmente um valor, princípio ou prática sem o risco de colapso.
O que você pode fazer, porém, é personalizar o interior da estrutura do Scrum, acrescentando artefatos e recursos até que você tenha e um processo que funciona para sua empresa.
A Base Fundamental
A base fundamento é composta pelas seguintes práticas
Papéis Fundamentais
Atividades e Artefatos Principais
Abaixo eu apresento um outro tipo de imagem que é também muito utilizada para representar as interações entre as atividades no processo.
Deixa eu explicar um pouco como interpretar esta imagem.
O Product Owner tem uma visão do que ele quer criar (o grande cubo). Como o o cubo pode ser grande, por meio de uma atividade chamada Grooming, ele é dividido em um conjunto de funcionalidades que são compilados em uma única lista priorizada chamado de Product Backlog.
Então é feito a primeira reunião de Planejamento de Sprint, para definir o Sprint Backlog, que contém todo o trabalho que será executado durante o Sprint.
O Sprint tem duração média de 2 a 4 semanas e são feitas reuniões diárias de acompanhamento (Daily Scrum) do trabalho.
Product Backlog
No Scrum, sempre fazemos o trabalho mais importante primeiro.
O Product Owner, com ajuda do resto da equipe Scrum e as partes interessadas, é o responsável por determinar e gerir a seqüência deste trabalho e comunicando-o na forma de uma lista de prioridades conhecida como o Product Backlog.
O Product backlog é um documento que está constantemente evoluindo. Os itens podem ser adicionados, excluídos e revisto pelo Product Owner por conta de mudanças nas condições de negócios, ou conforme a compreensão da equipe Scrum sobre o produto aumenta.
Em geral a atividade de criar e de refinar os itens do product backlog, estimando o tamanho e esforço de cada item, é chamada de Grooming.
Antes de finalizar a priorização, ou refinamento do produto backlog, é preciso saber o tamanho de cada item. É importante que o Product Owner saiba o custo de cada item para que possa determinar a sua prioridade de forma adequada. O Scrum não especifica como você deve medir o tamanho dos itens do backlog.
Na prática, muitas equipes usam uma medida de tamanho relativo, como Story Point ou dias ideais.
Essa questão sobre estimativas é um capítulo a parte e cabe um post depois para explicar somente isso.
Sprints
No Scrum, o trabalho é realizado em iterações ou ciclos de até um mês de calendário chamado de Sprints.
O trabalho realizado em cada sprint deve criar algo de valor tangível para o cliente ou usuário. Sprints são timeboxed (duração fixa) para que tenham sempre um início e fim data fixa, e, geralmente, todos eles devem estar com a mesma duração.
Um novo Sprint segue imediatamente a conclusão do Sprint anterior e, via de regra, não devemos permitir nenhuma alteração de escopo ou pessoal durante um Sprint (mas por experiência própria posso afirmar que esta regra é quase sempre quebrada devido à algumas necessidades de negócio)
Sprint Planning
O product backlog pode representar muitas semanas ou até meses de trabalho, o que é muito mais do que pode ser concluído em um único e curto sprint.
Para determinar quais os subconjuntos de itens do Product Backlog mais importantes para construir no próximo sprint, o product owner, junto com o time de desenvolvimento e ScrumMaster, devem realizar o Sprint Planning(planejamento de sprint ).
Durante o planejamento do sprint, a equipe de desenvolvimento e o product owner devem chegar a um acordo sobre qual o Objetivo do Sprint.
Com este objetivo em mãos, eles determinam quais os itens do backlog devem ser priorizados para serem executados neste Sprint.
A maioria das equipes Scrum que estão realizando Sprints de duas semanas a um mês de duração tentam completar o planejamento do sprint em cerca de4 a 8 horas.
Um sprint de uma semana não deve tomar mais do que 2 horas para planejar.
Daily Scrum
Todos os dias, idealmente no mesmo horário, os membros da equipe de desenvolvimento devem realizar uma reunião com tempo definido (15 minutos ou menos), chamado Daily Scrum.
3 Perguntas básicas da Reunião Diária
- O que fiz ontem que ajudou o time a atingir a meta do sprint?
- O que vou fazer hoje para ajudar o time a atingir a meta do sprint?
- Existe algum impedimento que não permita a mim ou ao time atingir a meta do sprint?
Ao responder a estas questões, todos conseguem visualizar de uma maneira geral como está progredindo o trabalho do Sprint em direção à meta.Definition of Done (Definição de Pronto)
No Scrum nós consideramos como resultado do Sprint produto ou funcionalidade concluída.
Sprint Review (Revisão do Sprint)
No final do Sprint, existem duas atividades adicionais que são fundamentais. Uma delas é chamada Sprint Review.
O objetivo desta atividade é verificar e adaptar o produto que está sendo construído.
Esta é uma reunião informal, e a apresentação do incremento destina-se a motivar e obter comentários e promover a colaboração
Sprint Retrospective (Retrospectiva do Sprint)
Enquanto o objetivo do Sprint Review é verificar necessidades de adaptações no produto, o Sprint Retrospective tem como objetivo verificar necessidades de adaptações no processo de trabalho.
A Retrospectiva do Sprint ocorre depois da Revisão da Sprint e antes da reunião de planejamento da próxima Sprint. Esta é uma reunião time-boxed de três horas para uma Sprint de um mês.
Conclusão
Este artigo descreveu as principais práticas do núcleo do Scrum, com foco em uma descrição end-to-end dos papéis do framework Scrum, atividades e artefatos.
Existem outras práticas, principalmente em relação à comunicação em um projeto Scrum, tais como Kanban Board, Burn Down Chart, que muitas equipes Scrum usam e que trarei em outros artigos.